VirtualBox:UbuntuのDebianゲストにある2つのネットワークインターフェイス(NATとホスト専用インターフェイス)

VirtualBox:UbuntuのDebianゲストにある2つのネットワークインターフェイス(NATとホスト専用インターフェイス)

NATインターフェイス(インターネットアクセス用)とホスト専用インターフェイスの2つのインターフェイスを使用して、VirtualBoxにDebian仮想マシンを作成しました。しかし、両方のインターフェイスを同時に動作させる方法がわかりません。ホストをアダプタ1としてのみ定義すると、ホストは仮想マシンにアクセスできますが、インターネットではアクセスできません。 NATをアダプタ1として定義するとインターネットにアクセスできますが、ゲストDebianではアクセスできません。

それでは、2つのインターフェースが一緒に機能するようにするにはどうすればよいですか?

ノート:まだホストポートの一部をゲスト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これは最初のアダプタですネットワークアドレス変換一つ:

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これは最初のアダプタですネットワークアドレス変換一つ:

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

答え1

解決策はとても簡単でした。次の行を追加しました。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

答え2

Ubuntu 14.04 VMでも同様の問題があり、@brandizziがDebian用に提案したソリューションはほとんど変わりませんでした。

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

Ubuntu 18.04 ホスト、VirtualBox 6.1 で Ubuntu 19.04 をゲストとして使用

ゲスト編集/etc/netplan/50-cloud-init.yamlファイルで、次のように2行を追加します(バージョン行の前に)。ゲストのネットワーク構成が1つのネットワークのみを処理するように設定されているようです。 2番目のネットワークは手動で追加する必要があります。

network:
    ethernets:
        enp0s3:
            dhcp4: true
        enp0s8:
           dhcp4: true
    version: 2

答え4

Ubuntu Server 20.04 LTS使用ネットワーク計画ネットワーク構成にデフォルトで使用されます。この場合、デフォルトのプロファイルはです/etc/netplan/00-installer-config.yaml

  • デバイス名の取得ip link

  • デバイスをファイルに挿入します/etc/netplan/00-installer-config.yaml(例enp0s8:)。

enp0s8:
  addresses: [192.168.2.89/24] # example
  gateway4: 192.168.2.1
  dhcp4: true
  • sudo netplan apply変更を適用するには実行してください。

確認するこのリンクより多くの情報を知りたいです。

関連情報