Ubuntu

VirtualBox:Ubuntu 上的 Debian 來賓中的兩個網路介面(NAT 和僅主機介面)

  • June 21, 2021

我在 VirtualBox 上創建了一個 Debian VM,它有兩個介面:一個 NAT 介面(用於訪問網際網路)和一個僅主機介面。但是,我不知道如何使兩個介面同時工作。如果我將僅主機定義為適配器 1,我可以從主機訪問我的虛擬機,但不能從網際網路訪問;如果我將 NAT 定義為適配器 1,我可以訪問 Internet,但無法訪問我的來賓 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

解決方案非常簡單:我只需將以下幾行添加到Debian virtual machine/etc/network/interfaces文件中:

allow-hotplug eth1
iface eth1 inet dhcp

第二行指示介面通過 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

引用自:https://unix.stackexchange.com/questions/37122