無法在兩台虛擬機器之間連接(沒有到主機的路由)

無法在兩台虛擬機器之間連接(沒有到主機的路由)

我們的系統管理員為我創建了兩個 CentOS 虛擬機器:10.132.67.18 和 10.132.67.19。我可以透過 ssh 連接到它們,但是當我嘗試將它們聯網時,我得到「沒有到主機的路由」:

[email protected]:/# ssh 10.132.67.18
ssh: connect to host 10.132.67.18 port 22: No route to host

有趣的是, ping 的工作原理是:

[email protected]:/#$ ping 10.132.67.18
PING 10.132.67.18 (10.132.67.18) 56(84) bytes of data.
64 bytes from 10.132.67.18: icmp_seq=1 ttl=64 time=0.319 ms
64 bytes from 10.132.67.18: icmp_seq=2 ttl=64 time=0.393 ms

這是iptables -S兩台機器上的:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 10.128.31.0/24 -j ACCEPT
-A INPUT -s 10.120.0.0/16 -j ACCEPT
-A INPUT -s 10.70.1.32/32 -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -s 10.70.1.144/32 -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

會不會是這個原因造成的呢?我沒有看到10.132.67.18那裡列出,我不知道預設值是接受還是拒絕,但根據第一行可能是接受?我不是 iptables 專家...

答案1

您沒有ACCEPT針對 10.132.67.X 主機或網路的任何規則,因此 ssh 連線符合規則j REJECT --reject-with icmp-host-prohibited。這就是為什麼你會看到沒有到主機的路由訊息. Ping 在規則中被接受-p icmp -j ACCEPT,該規則適用於所有來源。

相關內容