VirtualBox 게스트(Arch Linux)에서 인터넷에 액세스할 수 없습니다.

VirtualBox 게스트(Arch Linux)에서 인터넷에 액세스할 수 없습니다.

VirtualBox 5.0.20을 사용하고 있습니다. 호스트 시스템은 OS X 10.11.5(El Capitan)를 실행하는 MacBook입니다. 게스트 운영 체제는 64비트 Arch Linux입니다. ISO에서 Arch를 설치했을 때 게스트의 인터넷 연결은 괜찮았습니다. 그러나 설치된 시스템으로 부팅하면 더 이상 인터넷에 액세스할 수 없습니다(예: 8.8.8.8에 대한 ping 실행이 무기한 중단됨).

가상 머신에는 브리지 네트워크 어댑터와 호스트 전용 네트워크 어댑터라는 두 개의 네트워크 어댑터가 있습니다. 브리지를 NAT 어댑터로 변경하고 브리지를 호스트의 무선 인터페이스에 한 번, 호스트의 유선 인터페이스에 한 번 연결해 보았습니다. 이러한 설정에서는 손님이 인터넷에 접속할 수 없습니다.

게스트 운영 체제에는 systemd-networkd.service 및 systemd-resolved.service가 활성화되어 있습니다. 내가 아는 한, 다른 네트워크 서비스는 활성화되지 않습니다. 가능하다면 다른 서비스로 전환하기보다는 이러한 서비스를 계속 사용하고 싶지만 이러한 서비스에 내 문제의 원인이 되는 고유한 결함이 있는 경우 전환하겠습니다.

게스트 운영 체제에서 브리지 어댑터의 네트워크 파일 내용은 다음과 같습니다.

[root@arch64 ~]# cat /etc/systemd/network/bridged.network 
[Match]
Name=enp0s3

[Network]
DHCP=ipv4

그리고 호스트 어댑터의 네트워크 파일 내용은 다음과 같습니다.

[root@arch64 ~]# cat /etc/systemd/network/host-only.network 
[Match]
Name=enp0s8

[Network]
Address=192.168.56.2/24
Gateway=192.168.56.1

브리지 어댑터가 성공적으로 DHCP 임대를 획득했으며 여전히 LAN의 호스트를 ping할 수 있지만 LAN 라우터 이외의 다른 항목은 ping할 수 없습니다. 호스트의 인터넷 연결이 좋습니다.

추가 정보:

[root@arch64 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:1a:7d:74 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.5/24 brd 192.168.0.255 scope global dynamic enp0s3
       valid_lft 3598sec preferred_lft 3598sec
    inet6 fe80::a00:27ff:fe1a:7d74/64 scope link 
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:3c:0a:7d brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.2/24 brd 192.168.56.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe3c:a7d/64 scope link 
       valid_lft forever preferred_lft forever

[root@arch64 ~]# ip route
default via 192.168.56.1 dev enp0s8  proto static 
default via 192.168.0.1 dev enp0s3  proto dhcp  src 192.168.0.5  metric 1024 
192.168.0.0/24 dev enp0s3  proto kernel  scope link  src 192.168.0.5 
192.168.0.1 dev enp0s3  proto dhcp  scope link  src 192.168.0.5  metric 1024 
192.168.56.0/24 dev enp0s8  proto kernel  scope link  src 192.168.56.2 

답변1

내 설정에 따르면 두 개의 시스템 네트워크 장치 파일이 있습니다. 하나는 브리지 어댑터용이고 다른 하나는 호스트 전용 어댑터용입니다. VM이 네트워크 간에 이동하는 랩탑에 있기 때문에 브리지 어댑터에 동적 주소가 있기를 원하고 호스트 어댑터에만 정적 주소가 있어서 수동으로 주소를 결정할 필요 없이 SSH 등을 통해 액세스할 수 있기를 원합니다. .

그런데 네트워크 유닛 파일을 만들 때 위키 튜토리얼의 내용을 무작정 복사했습니다. 한 부분에서는 동적 주소를 빠르게 설정하는 방법을 설명하고, 다른 부분에서는 고정 주소를 빠르게 설정하는 방법을 설명합니다. 분명히 이 튜토리얼에서는 둘 다 사용하는 것이 아니라 하나 또는 다른 간단한 설정을 사용한다고 가정합니다. 이는 더 복잡한 시나리오입니다.

간단히 말해, 호스트 어댑터의 네트워크 파일만 게이트웨이 옵션을 지정하고 브리지 어댑터의 파일은 지정하지 않습니다. 따라서 호스트 어댑터 전용 게이트웨이는 가상 머신에서 들어오는 트래픽에 대한 기본 경로로 나타납니다. 네트워크 파일에서 이 옵션을 제거하면 문제가 해결되었습니다.

호스트 어댑터 전용 네트워크 파일 수정(게이트웨이 옵션 제거):

[root@arch64 ~]# cat /etc/systemd/network/host-only.network 
[Match]
Name=enp0s8

[Network]
Address=192.168.56.2/24

관련 정보