openstack VM可以ping外部網絡,但是外部網絡ping不通VM


  經過無數次的嘗試,終於搭建好了完整的Openstack,本來VM可以獲取到IP地址,但是等到我大功告成的時候,突然發現外部網絡卻不能ping進VM,我可是整整折騰了我幾個通宵,這是哭啊。然而,皇天不負有心人,終於找到了一點頭緒,我在此記下這一點,以免以后在遇到不知道怎么辦。

 首先我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~!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM