您的位置:首页 > 理论基础 > 计算机网络

openstack VM可以ping外部网络,但是外部网络ping不通VM

2017-09-19 16:52 267 查看
首先我Openstack环境并没有问题,但是为什么ping不同VM呢,是因为我发现如下:

在网络节点上,执行ip netns

# ip netns
qdhcp-6e056e41-e48d-4119-b970-55ff7bae6f2d
qrouter-5670bd67-c4ae-45d1-b77c-deb21a33500b


然后我这样呢执行:

#ip netns exec qdhcp-6e056e41-e48d-4119-b970-55ff7bae6f2d ping 192.168.100.2       #这里的192.168.100.2是VM的IP地址  

  PING 192.168.100.2 (192.168.100.2) 56(84) bytes of data.

  64 bytes from 192.168.100.2: icmp_req=1 ttl=64 time=13.5 ms

  64 bytes from 192.168.100.2: icmp_req=2 ttl=64 time=0.682 ms

  64 bytes from 192.168.100.2: icmp_req=3 ttl=64 time=0.662 ms

  64 bytes from 192.168.100.2: icmp_req=4 ttl=64 time=0.515 ms

或者

# ip netns qrouter-5670bd67-c4ae-45d1-b77c-deb21a33500b ping 192.168.100.2
Command "qrouter-5670bd67-c4ae-45d1-b77c-deb21a33500b" is unknown, try "ip netns help".
root@network3:/home/ubuntu# ip netns exec qrouter-5670bd67-c4ae-45d1-b77c-deb21a33500b ping 192.168.100.3
PING 192.168.100.3 (192.168.100.3) 56(84) bytes of data.
64 bytes from 192.168.100.3: icmp_req=1 ttl=64 time=0.270 ms
64 bytes from 192.168.100.3: icmp_req=2 ttl=64 time=0.043 ms
^C
--- 192.168.100.3 ping statistics ---


 这样看来,并不是外部网络ping不进虚拟机,而是缺少了外部网络进入虚拟机内部网络的路由,我估计是这部分路由没有设置这一路由规则,你也可以用route -n 查看一下有没有内部网络的路由。

为了方便起见,我在我使用的网关上添加了这一路由规则:

route add 192.168.100.0 255.255.255.0 192.168.0.201


linux系统添加:

ip route add 192.168.100.0/24 via 192.168.0.201


192.168.100.0/24是内部网络的地址,192.168.0.201是进入内部网络的跳转地址。这样我就可以畅通无阻的ping进虚拟机里面啦,bingo~!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐