前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >openstack【juno】入门高级篇:为何你的实例ping不通外网【详述】

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

作者头像
用户1410343
发布2018-03-27 14:25:15
2.8K0
发布2018-03-27 14:25:15
举报
文章被收录于专栏:about云

问题导读 1.本文解决ping通外网的思路是什么? 2.如何实现ping通外网? 3.ping域名bad address该如何解决? 前面是概述,这里给大家在详细说一下,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.三个网卡中,使用管理网络来上网。 等模式。 上面最关键是第三块网卡,这块网卡连接着虚拟网络与物理网络,也就是这块网卡的配置

?

代码语言:javascript
复制
# 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地址,官网给的网段是下面:

?

代码语言:javascript
复制
203.0.113.0/24为外部网络

但是采用这个网段,使用虚拟机,相信很多人会遇到ping不通网络的现象。 这个问题该如何解决,这里给提供另外一个思路: 这里在上篇已经有所截图,直接拿过来: 控制节点:

网络节点

计算节点

如果你一直被这个问题困扰,那么看到上面图,可能已经有所灵感。 上面采用的网络模式,是管理网络来上网, 10.0.0.0/24 第三块网卡使用的网段。 10.0.0.0网段 无论是采用nat,还是host-only,我们都可以来上网。 网段配置完毕,接着我们在实例化网络。 实例化网络这里稍有不同,我们不再使用 使用 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 这个问题解决,剩下我们创建实例,进行测试:

?

代码语言:javascript
复制
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

?

代码语言:javascript
复制
nova list

进入控制台

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

我们看到

?

代码语言:javascript
复制
ping : bad address 'www.aboutyun.com'

这里是因为我们没有修改/etc/resolv.conf 添加

?

代码语言:javascript
复制
nameserver  8.8.8.8

修改完毕,我们在

?

代码语言:javascript
复制
ping 'www.aboutyun.com'

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 about云 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档