VirtualBox:UbuntuのDebianゲストの2つのネットワークインターフェイス(NATおよびホストオンリーインターフェイス)


48

私はVirtualBox上で2つのインターフェースを持つDebian VMを作成しました。NATインターフェース(インターネットにアクセスするためのインターフェース)とホスト専用インターフェースです。ただし、両方のインターフェイスを同時に機能させる方法はわかりません。ホストのみをアダプタ1として定義すると、ホストからはVMにアクセスできますが、インターネットからはアクセスできません。NAT 1をアダプター1として定義すると、インターネットにアクセスできますが、ゲストDebianに到達できません。

それでは、どのようにして両方のインターフェースを連携させることができますか?

:ホストのポートをゲストSOのSSHポートにマップしようとしているので、提案する必要はありません:)

編集:これは、ifconfig最初のアダプターがホストオンリーのものである場合の出力です :

eth0      Link encap:Ethernet  HWaddr 08:00:27:f6:b2:45  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef6:b245/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:495 errors:0 dropped:0 overruns:0 frame:0
          TX packets:206 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:48187 (47.0 KiB)  TX bytes:38222 (37.3 KiB)

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:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

これは、netstat -nr最初のアダプターがホストオンリーの場合の出力です:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.56.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0

これは、ifconfig最初のアダプターがNATアダプターの場合の出力です。

eth0      Link encap:Ethernet  HWaddr 08:00:27:f6:b2:45  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef6:b245/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:53 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6076 (5.9 KiB)  TX bytes:5526 (5.3 KiB)

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:16436  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:1664 (1.6 KiB)  TX bytes:1664 (1.6 KiB)

これは、netstat -nr最初のアダプターがNATアダプターの場合の出力です。

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         10.0.2.2        0.0.0.0         UG        0 0          0 eth0

回答:


48

解決策は非常に簡単でした。Debian仮想マシン/etc/network/interfacesファイルに次の行を追加する必要がありました。

allow-hotplug eth1
iface eth1 inet dhcp

2行目は、DHCPを介してIPを取得するようにインターフェイスに指示します。最初の行は、起動時にインターフェースをロードします。

実行中のシステムに変更を適用するには、次を呼び出します。

ifup eth1

eth1インターフェースの名前は異なる場合があり、使用ifconfig -a可能なすべてのインターフェースをリストするために使用します。

編集:フル/etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp

1
確認できます。Debianはの2番目のインターフェースをセットアップしません/etc/network/interfaces。問題を修正しました、ありがとう。潜在的なデバッグのために、これはVirtualboxが提供する2つのvirtioインターフェイスです。1つはインターネットアクセスに使用されるNATインターフェイスです(NATはvboxによって個別に提供されます)、もう1つは完全に異なるプライベートIPクラスのDHCPを備えたホストオンリーネットワークです。Debianバージョンは6.0.6 x64をテストしました。
ダボルフマン

/ etc / network / interfaces全体を投稿してください。これで2日間苦労しています。
ジョンニコラス14

@JohnNicholasできました。ゲスト /etc/network/interfacesファイルを編集する必要があることに注意してください。
brandizzi

乾杯、私のものは同じだった。私の問題は、vboxでNATアダプターを最初に使用したときに、他の(ホスト)アダプターがそのアダプターでdhcpサーバーを使用しようとして、すべてがうまくいかないことでした。ホストとしてのみvboxのアダプターを注文すると、NATがすべて動作し始めました(Linuxでのアダプターの順序に関係なく、興味深いことに)。Netctlには、別のvmでこの問題はありませんでした。
ジョンニコラス14

2
これはすばらしい、ありがとう!ただし、Ubuntu 18では「netplan」という新しいインターフェイスが使用されるようになりました。上記をネットプランで複製する方法はありますか?
yahermann

11

Ubuntu 14.04 VMでも同様の問題に直面していましたが、Debianの@brandizziによって提案された解決策はほとんど変わりませんでした。

EDIT: file /etc/network/interfaces:


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

UBUNTU 16.04の場合

コマンドを実行

ifconfig -a

私の場合は「enp0s8」のような新しいインターフェースを探してください

EDIT file /etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp

auto enp0s8
iface enp0s8 inet dhcp  

3
これはDebian 9+(Ubuntu 16セットアップ)にも適用されるようになりました
Maksim Luzik

3

両方のアダプターをDebianで構成する必要があります

どちらの場合も、アダプタが1つしか設定されていないため、問題が発生しているようです。

VMのVirtualBox構成に2つのアダプターを作成し、起動します。ifconfig(単一のeth0、ないeth1)を使用するときに1つの構成されたアダプターのみが表示される場合、Debianのネットワーク構成ツール(ネットワークマネージャー、ifupdownなど)を使用して、DHCPで両方のインターフェイスを構成する必要があります。したがって、DHCPにeth0とeth1が必要です。


0

インターフェイスごとに個別のプライベートアドレススペースサブネットを使用していることを確認してください。

したがって、たとえば、NATであるインターフェイスの場合、192.168.0.0 / 16スペースのアドレスを使用できます。

「ホストのみ」であるインターフェースは、10.0.0.0 / 24スペースにある可能性があります。


まあ、それらは分離されています(私のNATスペースは10.0.2.0/24で、私のNATは192.168.56.0/24です)。
brandizzi

あなたはの出力を含めるようにあなたの質問を編集することができますifconfigし、netstat -nr私たちはどのように構成されているインターフェイスやルーティング見ることができますか?
ジョージM

OK、コマンドの出力を質問に追加しました。
-brandizzi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.