VirtualBoxでゲストのセットを設定して、各ゲストがインターネットにアクセスできるだけでなく、相互およびホストから見えるようにします。また、ゲストに静的IPアドレスが必要です。
これまで私が従った手順は次のとおりです。
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp 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 gateway 192.168.56.254 dns-search cloudspace.local dns-nameservers 8.8.8.8 8.8.4.4
ゲストが再度起動すると、ホストオンリーネットワークは正常に機能しています。ホスト/ゲストマシンとゲスト/ゲストマシンのペアは互いにpingできますが、apt-get
が失敗するため、インターネットは機能しません。
その後、service networking restart
コマンドを発行すると、ネットワークは正常に機能し始めます。
何が間違っていますか?
NICが/etc/network/interfaces
ファイルに表示される順序を切り替えてみました。また、2つのNIC間でNAT /ホストオンリーネットワークを交換しました。何も機能しませんでした。
ホストはWindows 8.1で、ゲストはUbuntu Server 13.10です。 Mac OS Xでも同じことを試みましたが、結果は似ています。
私はこれで助けていただければ幸いです。
更新:
診断に役立つように、以下の以下のコマンドからの出力を含めました。
$ cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp 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 gateway 192.168.56.254 $ ifconfig -a eth0 Link encap:Ethernet HWaddr 08:00:27:75:47:64 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe75:4764/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1180 (1.1 KB) TX bytes:1332 (1.3 KB) eth1 Link encap:Ethernet HWaddr 08:00:27:93:98:d8 inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe93:98d8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:140 errors:0 dropped:0 overruns:0 frame:0 TX packets:225 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14418 (14.4 KB) TX bytes:27378 (27.3 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1184 (1.1 KB) TX bytes:1184 (1.1 KB) $ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.56.254 0.0.0.0 UG 0 0 0 eth1 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
更新2:
Sudo service networking restart
を実行すると、route -n
からの出力は次のようになります。
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
それでは、ブート時にこの構成をどのように確認しますか?
外部アドレス(使用しているGoogle DNSサーバーなど)、現在のネットワーク設定、ルーティングテーブルをpingしようとしたときに得られた結果を投稿すると、問題のトラブルシューティングが容易になります。
/sbin/ifconfig -a
/sbin/route -n
これをもっと知ることなく、これは暗闇の中で少しのショットですが、私の推測では、a)eth0でDHCPアドレスを取得していない、またはb)eth1のゲートウェイ設定が割り当てられたデフォルトルートDHCPを台無しにしていると推測します。
Eth0のDHCPアドレスを取得していない場合は、おそらくVirtualBoxでの構成の誤りです(アダプターを逆方向に取得しているなど)。
いずれにしても、eth1にDHCPによって割り当てられるため、eth1に特別に割り当てられたゲートウェイまたはDNS設定は必要ありません。したがって、ゲートウェイ、dns-search、およびdns-nameservers行を構成から削除します。仮想マシンは、同じネットワーク上にあり、VirtualBoxが正しく設定されている場合、ゲートウェイ設定なしで通信できます。
編集:再起動後にeth1にゲートウェイがないことを確認するには、eth1ブロックから次のように行を削除します。
auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0
完了したら、interfacesファイルにゲートウェイ行はありません。
@ jkt123の回答と@Umarの質問と同じですが、より短いこのソリューションを思いつきました。フィードバックをお願いします!
Virtualboxでは、NATとHost-onlyの両方を有効にするネットワーク。 (ところで:それは私のwin7ホストで動作します。Linuxホストでそれを行う方法がわかりません)。
ホスト上-「ホストオンリー」インターフェースのIPを検索
ipconfig /all # for windows Host
ifconfig -a # for linux Host
ゲストで、/ etc/network/interfacesを編集します。トリックは順序を逆にする eth1(ホストのみ)はeth0(インターネット/ dhcp)の前に来ます。理由はわかりません。
auto lo # keep the original loopback settings
iface lo ... # yeah, i don't remember, just keep it.
# ----> Ok, this is my addition <-----
auto eth1
allow-hotplug eth1 # i think hotplug it helps. not sure.
iface eth1 inet static
address 192.168.56.100 # arbitrary IP address between 2 and 254
auto eth0 # This is the original content
iface eth0 inet dhcp # of this file, now at the end.
リブート。
まず、両方のネットワークNATでDHCPを有効にし、ホストのみのネットワークでstatic ip add 192.168.40.41
を有効にしました。
次に、このコマンドを使用しました:
nano cat /etc/network/interfaces
私はこの結果を得ました:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.41.4
netmask 255.255.255.0
再起動する前に、次のコマンドを入力しました。
Sudo service networking restart
その後、再起動しました。
VM VirtualBoxにロードした後、両方のネットワークが機能しています。インターネットに接続でき、ウェブブラウザ経由で192.168.40.41
に接続できます。
これがnano
エディターの取得に役立つことを願っています。
Sudo apt-get update
Sudo apt-get install nano
次に、ターミナルでnano
と入力して開始します。
異なるNICに割り当てられた複数のデフォルトゲートウェイがあります。一般に、「デフォルト」は事前に選択されたオプションを意味します。この場合、指定されたデフォルトゲートウェイが両方のNICに定義されている場合、事前に選択されたオプションではありません。また、これにより、非同期ルーティングなどの通信の問題も発生します。両方のインターフェイスのメトリックがどのように0に設定されているかはわかりませんが、両方のNICにゲートウェイがあることが原因である可能性があります。これに関するMicrosoftの記事はここにあり、メトリック機能には、優先順位の設定の決定方法を提供するいくつかの要素があります。 (リンク: https://support.Microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes )
回答済みの応答で@ jkt123に同意すると、割り当てる必要があるデフォルトゲートウェイは1つだけです。