openstack VM能夠ping外部網絡,可是外部網絡ping不通VM

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

 首先我Openstack環境並無問題,可是爲何ping不一樣VM呢,是由於我發現以下:ubuntu

在網絡節點上,執行ip netns網絡

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

而後我這樣呢執行:spa

#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 mscode

或者router

# 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 查看一下有沒有內部網絡的路由。blog

爲了方便起見,我在我使用的網關上添加了這一路由規則:ip

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~!!!虛擬機

相關文章
相關標籤/搜索