Ubuntu
為什麼兩台虛擬機不能通過第三台互相ping通?
我正在創建一個由三個虛擬機組成的本地網路(全部是 Ubuntu 14.04,只是從盒子裡)。第一個連接到第三個,第二個也連接到第三個。
就是這樣:
comp1 (5.9.10.10) --- (5.9.10.20) comp3 (5.9.20.20) --- (5.9.20.10) comp2
這就是我設置地址和路由的方式:
vm1: ip link set eth0 up ip a add 5.9.10.10/24 dev eth0 ip ro add 5.9.20.0/24 via 5.9.10.20 vm2: ip link set eth0 up ip a add 5.9.20.10/24 dev eth0 ip ro add 5.9.10.0/24 via 5.9.20.20 vm3: ip link set eth0 up ip link set eth1 up ip a add 5.9.10.20/24 dev eth0 ip a add 5.9.20.20/24 dev eth1
電腦 1 和 3 可以相互 ping 通(5.9.10.10 到 5.9.10.20 和 5.9.20.20 和返回),電腦 2 和 3 也是如此。
但是當我嘗試從電腦 2 ping 電腦 1 時,或者從 1 ping 數據包中的 2 會失去。
PING 5.9.20.10 (5.9.20.10) 56(84) bytes of data. --- 5.9.20.10 ping statistics --- 4 packets transmitted, 0 received, 100% packet loss, time 3049ms
為什麼會發生,我做錯了什麼?
據我所知,您的配置是正確的,您只需要告訴路由器啟用 IP 轉發即可。從來沒有用ufw做過,但是為了測試你可以禁用防火牆。
對於IP 轉發,您只需在 /etc/sysctl.conf 中添加/編輯此行
net.ipv4.ip_forward=1
有關 ufw 的詳細資訊https://www.cyberciti.biz/faq/how-to-configure-ufw-to-forward-port-80443-to-internal-server-hosted-on-lan/