私のホストはUbuntu 12.04で、ゲストはDebian squeeze(LAMPサーバー)です。ホストがゲストに接続できるようにし、ゲストがインターネットに接続できるようにします。ゲストは外部から有効にすべきではありません。これが、ネットワークブリッジを使用しない理由です。ホストに静的IPを設定したいです。私は次のようにしました。このチュートリアル。
そこで、これらの手順を実行しましたが、ホストからゲストに接続できませんssh
。ブラウザ経由でサーバーを呼び出すことはできません。ping
ただし、動作します。
vboxnet0
次の設定で仮想ホスト専用ネットワーク アダプター ( ) を作成しました。
IPv4-Adress: 192.168.56.1
IPv4-Netmask: 255.255.255.0
ifconfig
Ubuntu ホストでは次のように表示されます:
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 を設定できます。