立即注册 登录
About云-梭伦科技 返回首页

pig2的个人空间 https://www.aboutyun.com/?61 [收藏] [复制] [分享] [RSS]

日志

openstack【juno】入门高级篇:为何你的实例ping不通外网【详述】

已有 1335 次阅读2015-6-4 08:56

原文链接:

前面是概述,这里给大家在详细说一下,openstack网络。

由于在安装部署中,我们遇到了实例ping不通外网、ping不通节点,ping不通域名。而且有的甚至获取不到ip。
获取不到ip,一直没有遇到过这个问题,只要是完全按照
about云openstack入门宝典
应该不会遇到这个问题。
要么使用dhcp自动分配,要么是自己手工配置。入门宝典采用的是自动分配。

学习openstack的过程中,为什么我们会遇到问题。总结原因如下:

1.存在专门跳坑现象

刚开始学习,我们一般对一门技术理解的并不深刻,可能只是停留在皮毛阶段。这时候我们所做的最多的是模仿。当我们会走了之后,我们在学跑。有的同学不是,是上来就想跑,结果到处往坑里掉。

有的同学,可能会想,我改动下,可以明白原理,这样理解更深刻。道理是没有错的,但是这样会浪费你更多的时间,而且可能解决不了。因为有很多问题,是跟自己的操作有关系。

对于新手最好的学习方式,是多找资料,然后模仿。为什么要多找资料那,网上的资料是非常多的,同样书籍和视频也是不少的,但是如果你单纯的按照一个文档来操作,能操作正确,当然是好的。但是从概率上来说,一个完全正确的文档几乎没有。即使官方文档,比如openstack kilo官网文档,刚发布之后,也经过几次修改。所以我们在学习的时候,一定要先积累资料,这样避免多次掉坑现象。

资料有了,我们开始学习和实践,特别是在实践的过程中,应避免在一知半解的情况改动。
比如在keystone部署的过程中,mysql都有默认的密码,我们觉得比较懂,就修改了密码,但是由于这个密码在多个组件中都是用,如果在配置的过程中,有一处没有修改,那么就会产生问题。

2.遇到问题如何提问

当我们遇到问题的时候,存在以下几种情况。
1.遇到问题,发到qq群,或则论坛
我们发我们的,说不定能解决,发完之后,自己在尝试解决。
遇到过很多这种情况,有的人在帮忙,偶尔会有人帮助,而且可能在互动中,解决了问题。
但是不得不说很多情况是楼主自己解决的,而且会把自己的解决办法分享给大家。
这样的人还是比较令人欣赏的,一个对大家有贡献的人,谁又会不喜欢,不欢迎。


2.遇到问题自己搞
要么百度,谷歌等,总之总想自己搞定。但是有时候会搞不定,怎么办。就到处找资料,找视频等。总之不太喜欢去问人,如果能够成为逗逼,那么前途无量,否则职业发展会遇到瓶颈。推荐:程序员职业发展瓶颈:被人信任才能有广阔未来[写给代码技术同事]

3.发帖、提问就想得到现成的答案
遇到一些新手,当然也有一些工作多年的,当提问题,或则把问题发到qq群,如果没有人回答,可能会直接退群,而且愤愤然。
即使问题解决了,当然不会分享给别人,会将它所得到知识如数收藏。

上面其实当别人遇到问题的时候,有时候很多人确实是想帮助的,但是有心无力,确实帮不上。有些确实想帮,就说出自己看法,但是对于想得到正确答案的提问者来说,这无疑是废话,根本帮不上。

真正的大神是没有多少的,需要懂原理,而且有丰富的实践经验。这样的人是非常少的,因为想达到融会贯通至少需要两三年的时间,成为大师级人物则需要10年,而且还需要是一个勤奋思考的人。

对于多数人而言,我们只是负责某一个工作,甚至可能原理都不懂,但是我会做。就是这么简单。如果说你遇到了,那么只能根据它的经验来解决你的问题。

############################
说了这么多,那么我们遇到问题,到底是该提问,还是不该提问。有问题不问,憋着更不会。三人行必有我师,即使你的问题得不到你想要的答案,最起码起到下面作用
1.缓解你遇到问题的压力
2.在跟别人交流的过程,也是整理问题的过程,对问题有一个认识。
同样这里希望问问题的人,调整自己的心态,并不是所有的问题,别人都会给你一个正确的答案。跟别人交流自己的问题,这本身是一个很大的进步,而且可能得到一些灵感,自己就可以解决。

如果自己确实找不到答案,又没人帮助,你该怎么做。不断找资料,书籍、文档、视频,不断逛论坛,你的问题,肯定有解决的一天。而且这个问题的解决,会带给你质的飞跃。


######################################################

上面说了我们学习的过程中,是如何学习,该如何解决我们学习过程中遇到的问题。

我们就说说openstack的网络。
按照about云openstack入门宝典,安装部署完毕openstack。我们就想测试实例。
可是不幸的是,我们经常ping不通实例或则实例ping不通外部节点和外网互联网。当然也有获取不到ip,这个是由于基本的配置的问题,这里不在详述,如果是ubuntu,详细查看about云openstack入门宝典

这里主要讲讲为什么实例ping不通外网。如果能够ping通外网,那么ping通其它节点自然不问题。

在三节点安装的过程中,首先我们需要确定上网模式。
这里是以mware为例:
我们知道mware有三种上网模式(虚拟机三种网络模式该如何上网指导),openstack安装部署,是需要至少有一个网卡上网的。
在网络节点我们知道,需要三个网卡(如果这里不了解,可能基础薄弱一些,参考about云openstack入门宝典openstack【juno】入门 【准备篇】零:整体介绍),那么这三个网卡的网络模式是个关键。


我们一般采用的网络模式有很多种组合:
1.在原先三个网卡的基础上,我们使用第四个网卡上网。另外三个网卡采用host-only
2.三个网卡中,使用管理网络来上网。
等模式。
上面最关键是第三块网卡,这块网卡连接着虚拟网络与物理网络,也就是这块网卡的配置

[Bash shell] 纯文本查看 复制代码
1
2
3
4
5
# The external network interface
auto eth2
iface eth2 inet manual
        up ip link set dev $IFACE up
        down ip link set dev $IFACE down


如果你仍然不明白,同样参考上面准备篇,(此篇同样会录制视频,欢迎捐助淘宝链接

此网卡没有ip地址,官网给的网段是下面:
[Bash shell] 纯文本查看 复制代码
1
203.0.113.0/24为外部网络

但是采用这个网段,使用虚拟机,相信很多人会遇到ping不通网络的现象。
这个问题该如何解决,这里给提供另外一个思路:

这里在上篇已经有所截图,直接拿过来:

控制节点:

 



网络节点

 


计算节点

 



如果你一直被这个问题困扰,那么看到上面图,可能已经有所灵感。
上面采用的网络模式,是管理网络来上网,
10.0.0.0/24
第三块网卡使用的网段。
10.0.0.0网段
无论是采用nat,还是host-only,我们都可以来上网。
网段配置完毕,接着我们在实例化网络。
参考:
openstack【juno】入门 【网络篇】十八:创建实例化网络

实例化网络这里稍有不同,我们不再使用
使用 203.0.113.0/24  , floating IP 地址范围 203.0.113.101 to 203.0.113.200:
而是使用
10.0.0.0/24,floatingIP 地址范围 start= 10.0.0.100,end=10.0.0.200


这个问题解决,剩下我们创建实例,进行测试:



[Bash shell] 纯文本查看 复制代码
1
2
nova boot --flavor m1.tiny --image cirros-0.3.3-x86_64 --nic net-id=c5820bc3-9612-407b-8f67-eaf167192c7f \
--security-group default --key-name demo-key demo-instance1





[Bash shell] 纯文本查看 复制代码
1
nova list





进入控制台





我们ping下about云(www.aboutyun.com




我们看到
[Bash shell] 纯文本查看 复制代码
1
ping : bad address 'www.aboutyun.com'


这里是因为我们没有修改resolv.conf


修改完毕,我们在

[Bash shell] 纯文本查看 复制代码
1
ping 'www.aboutyun.com'






至此我们的网络也就ping通了

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条