VirtualBox: Ubuntu의 Debian 게스트에 있는 두 개의 네트워크 인터페이스(NAT 및 호스트 전용 인터페이스)

VirtualBox: Ubuntu의 Debian 게스트에 있는 두 개의 네트워크 인터페이스(NAT 및 호스트 전용 인터페이스)

NAT 인터페이스(인터넷 액세스용)와 호스트 전용 인터페이스라는 두 가지 인터페이스를 사용하여 VirtualBox에 Debian 가상 머신을 만들었습니다. 그러나 두 인터페이스를 동시에 작동시키는 방법을 모르겠습니다. 호스트를 어댑터 1로만 정의하면 호스트에서는 가상 머신에 액세스할 수 있지만 인터넷에서는 액세스할 수 없습니다. NAT를 어댑터 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이것은 첫 번째 어댑터가네트워크 주소 변환하나:

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

해결책은 매우 간단했습니다. 방금 다음 줄을 추가했습니다.데비안 가상 머신문서 /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

답변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

우분투 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파일에서 아래와 같이 두 줄을 추가합니다(버전 줄 앞에). 게스트의 네트워크 구성이 하나의 네트워크만 처리하도록 설정된 것 같습니다. 두 번째 네트워크는 수동으로 추가해야 합니다.

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

답변4

우분투 서버 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변경 사항을 적용하려면 실행하세요 .

확인하다이 링크더 많은 정보를 알고 싶습니다.

관련 정보