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

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

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

가상 머신에는 두 개의 네트워크 어댑터(브리지형 어댑터와 호스트 전용 어댑터)가 있습니다. 브리지를 NAT 어댑터로 변경하고 브리지를 한 번은 호스트의 무선 인터페이스에 연결하고 다른 때는 호스트의 유선 인터페이스에 연결해 보았습니다. 게스트는 이러한 설정에서 인터넷에 액세스할 수 없습니다.

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

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

[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할 수 없습니다. 호스트의 인터넷 연결이 양호합니다.

답변1

답변은 제가 받은 팁에서 나왔습니다.Unix & Linux StackExchange에서 동일한 질문이 요청되었습니다..

내 설정에 따라 두 개의 시스템 네트워크 장치 파일이 있었습니다. 하나는 브리지 어댑터용이고 다른 하나는 호스트 전용 어댑터용입니다. 가상 머신이 네트워크 사이를 이동하는 랩탑에 있기 때문에 브리지 어댑터에 동적 주소가 있기를 원했고, 호스트 전용 어댑터에 고정 주소가 있어서 별도의 연결 없이 SSH 등을 통해 액세스할 수 있기를 원했습니다. 주소를 수동으로 결정합니다.

그러나 네트워크 장치 파일을 생성할 때 위키 튜토리얼에서 찾은 내용을 맹목적으로 복사했습니다. 한 섹션에서는 동적 주소를 빠르게 설정하는 방법을 설명하고 다른 섹션에서는 고정 주소를 빠르게 설정하는 방법을 설명했습니다. 분명히 튜토리얼에서는 둘 중 하나의 간단한 설정을 사용할 것이라고 가정했습니다. 둘 다 나란히 사용하는 것은 더 복잡한 시나리오가 아닙니다.

호스트 전용 어댑터의 네트워크 파일에는 게이트웨이 옵션이 지정되었지만 브리지된 어댑터의 파일에는 지정되지 않았다고만 말하면 충분합니다. 따라서 호스트 전용 어댑터의 게이트웨이가 가상 머신에서 들어오는 트래픽에 대한 기본 경로가 된 것으로 보입니다. 네트워크 파일에서 이 옵션을 제거하면 문제가 해결되었습니다.

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

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

[Network]
Address=192.168.56.2/24

관련 정보