NAT およびホスト専用アダプタを持つ仮想マシン Debian ゲスト: ゲストがホストにアクセスしようとすると、「ホストへのパスがない」が発生する

NAT およびホスト専用アダプタを持つ仮想マシン Debian ゲスト: ゲストがホストにアクセスしようとすると、「ホストへのパスがない」が発生する

Fedora ホストの VirtualBox に Debian ゲストを設定しました。私は、NAT(ゲストのインターネット、うまく動作します)とホストのみ(sshホストからゲストへnfsなど)の2つのアダプタを使用します。ホストからゲストに移動できますが、sshその逆はできません。実際、pingおよびtraceroute両方を除く他のすべてのネットワーク関連ツールは、「ホストへのパスなし」という結果を提供します。

いくつかの情報:

ホストIPは192.168.29.1です。

axirma@dev:~$ ip addr  

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN  
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00  
inet 127.0.0.1/8 scope host lo  
inet6 ::1/128 scope host  
valid_lft forever preferred_lft forever  
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000  
link/ether 08:00:27:25:1f:71 brd ff:ff:ff:ff:ff:ff  
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0  
inet6 fe80::a00:27ff:fe25:1f71/64 scope link  
valid_lft forever preferred_lft forever  
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000  
link/ether 08:00:27:6d:16:e6 brd ff:ff:ff:ff:ff:ff  
inet 192.168.29.2/24 brd 192.168.29.255 scope global eth1  
inet6 fe80::a00:27ff:fe6d:16e6/64 scope link  
valid_lft forever preferred_lft forever  
axirma@dev:~$ ip route  
default via 10.0.2.2 dev eth0  
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15  
192.168.29.0/24 dev eth1  proto kernel  scope link  src 192.168.29.2  

axirma@dev:~$ ip route get 192.168.29.1  
192.168.29.1 dev eth1  src 192.168.29.2  
    cache  ipid 0x1910 rtt 7ms rttvar 7ms cwnd 10  

axirma@dev:~$ arp  
Address                  HWtype  HWaddress           Flags Mask            Iface  
10.0.2.2                 ether   52:54:00:12:35:02   C                     eth0  
host                     ether   0a:00:27:00:00:00   C                     eth1  

axirma@dev:~$ ping -c 4 192.168.29.1  
PING 192.168.29.1 (192.168.29.1) 56(84) bytes of data.  
64 bytes from 192.168.29.1: icmp_req=1 ttl=64 time=0.247 ms  
64 bytes from 192.168.29.1: icmp_req=2 ttl=64 time=0.403 ms  
64 bytes from 192.168.29.1: icmp_req=3 ttl=64 time=0.446 ms  
64 bytes from 192.168.29.1: icmp_req=4 ttl=64 time=0.636 ms  

--- 192.168.29.1 ping statistics ---  
4 packets transmitted, 4 received, 0% packet loss, time 3003ms  
rtt min/avg/max/mdev = 0.247/0.433/0.636/0.138 ms  

axirma@dev:~$ traceroute 192.169.29.1  
traceroute to 192.168.29.1 (192.168.29.1), 30 hops max, 60 byte packets  
 1  host (192.168.29.1)  0.152 ms !X  0.141 ms !X  0.143 ms !X  

axirma@dev:~$ nc -vz 192.168.29.1 22  
host [192.168.29.1] 22 (ssh) : No route to host  

axirma@dev:~$ ssh [email protected]  
ssh: connect to host 192.168.29.1 port 22: No route to host  

より多くの情報を提供できる場合はお知らせください。

答え1

質問これは、VirtualBox のホスト ネットワーク インターフェイスからのみ着信パケットを拒否するルール セットを使用して、Fedora ホストにデフォルトのファイアウォールが構成されているためです。以下のルールを見ると、icmpパケットが許可されていることがわかります。それが機能する理由ですping

[alexandru@the-host ~]$ sudo iptables -vL -t filter
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 435K  493M ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED
   15  1559 ACCEPT     icmp --  any    any     anywhere             anywhere            
   20  1054 ACCEPT     all  --  lo     any     anywhere             anywhere            
   51 11040 ACCEPT     udp  --  any    any     anywhere             224.0.0.251          state NEW udp dpt:mdns
25148 1821K REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 332K packets, 39M bytes)
 pkts bytes target     prot opt in     out     source               destination

!X出力にファイアウォールが現れるのを見て、ファイアウォールの可能性について考えましたが、traceroutマニュアルページに「管理的に通信が許可されていません」と出ていました。上記のファイアウォールルールを見ると、traceroute udpパケットがチェーンREJECTの最後の包括的なルールに達することがわかりますINPUT

後でデバッグするときnmap

axirma@the-guest:~$ nmap -Pn -T4 192.168.57.1

Starting Nmap 6.00 ( http://nmap.org ) at 2013-11-12 16:28 EET
Nmap scan report for 192.168.57.1
Host is up (0.95s latency).
All 1000 scanned ports on 192.168.57.1 are filtered

Nmap done: 1 IP address (1 host up) scanned in 35.69 seconds

スキャンされたすべてのポートがフィルタリングされることをマンページに示します。 「...ファイアウォール、フィルタ、またはその他のネットワーク障害がポートをブロックしていることを意味します。」

出力を理解した後、iptables必要な通信を可能にするために追加のファイアウォールルールを追加する必要があることが明らかになりました。私の個人的なソリューション次の追加は次のとおりです/etc/sysconfig/iptables

-A INPUT -i vboxnet0 -j ACCEPTREJECT、チェーンが完全に囲む直前ですINPUTvboxnet0VirtualBoxによって生成されたホスト専用ネットワークインターフェイス。

関連情報