Virtualbox NAT + ホストオンリーアダプタ

Virtualbox NAT + ホストオンリーアダプタ

私のホストはUbuntu 12.04で、ゲストはDebian squeeze(LAMPサーバー)です。ホストがゲストに接続できるようにし、ゲストがインターネットに接続できるようにします。ゲストは外部から有効にすべきではありません。これが、ネットワークブリッジを使用しない理由です。ホストに静的IPを設定したいです。私は次のようにしました。このチュートリアル

そこで、これらの手順を実行しましたが、ホストからゲストに接続できませんssh。ブラウザ経由でサーバーを呼び出すことはできません。pingただし、動作します。

vboxnet0次の設定で仮想ホスト専用ネットワーク アダプター ( ) を作成しました。

IPv4-Adress: 192.168.56.1
IPv4-Netmask: 255.255.255.0

ifconfigUbuntu ホストでは次のように表示されます:

eth0      Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX  
          inet Adresse:192.168.2.100  Bcast:192.168.2.255  Maske:255.255.255.0
          inet6-Adresse: XXXX:XXX:XXXX:XXXX:X:X/XX Gültigkeitsbereich:Global


vboxnet0  Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX  
          inet Adresse:192.168.56.1  Bcast:192.168.56.255  Maske:255.255.255.0
          inet6-Adresse: XXXX:XXX:XXXX:XXXX:X:X/XX Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10069 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX-Bytes:0 (0.0 B)  TX-Bytes:1539501 (1.5 MB)

Debian squeeze ゲストでは、/etc/network/interfaces次のようになります。

 # The host-only network interface
   auto eth1
   iface eth1 inet static
   address 192.168.56.1
   netmask 255.255.255.0
   network 192.168.56.0
   broadcast 192.168.56.255

すでに変更を試みましたeth1が、eth0結果は得られませんでした。

VirtualBox 設定では、プロミスキャス モードにより VM とホストの接続が許可されます。

私の知識の限界に達しました。

出力:

netstat --inet --inet6 -ln | grep :22

なんでもない。

出力:

sudo iptables -L INPUT -nv

は:

 Chain INPUT (policy ACCEPT 166 packets, 30786 bytes)
  pkts bytes target     prot opt in     out     source               destination 

答え1

ゲストでは同じ IP アドレスを使用しないでください (ホスト インターフェイス上の IP アドレスなど)。ホスト上の vboxnet0 を IP アドレス 192.168.56.1 に設定した場合、ゲストでは 192.168.56.2 を使用する必要があります。ゲストのゲートウェイはホストの IP である必要があります (この場合は 192.168.56.1)。

これにより、ホスト <-> ゲストの接続が行われます。ゲストにもインターネットを使用させたい場合は、ホスト上でその IP (またはネットワーク) をマスカレードする必要があります。

iptables -t nat -I POSTROUTING -s 192.168.56.0/24 -j MASQUERADE
sysctl net.ipv4.ip_forward=1

転送するようにデフォルト ポリシーを設定するか、マスカレード ネットワークを明示的に有効にする必要がある場合があります。

iptables -P FORWARD ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

注: これらの行を root で実行すると、ゲストへのインターネット アクセスが有効になります。ただし、これらの行はおそらくホストのファイアウォール設定に指定する必要があります。(つまり、ufw) sysctl 設定ファイルは /etc/sysctl.conf です。常に有効にしたい場合は、そこに ip_forward を設定できます。

関連情報