VirtualBox에서 고정 IP 주소로 NAT 및 호스트 전용 네트워킹을 설정하는 방법


22

VirtualBox에서 게스트 집합을 설정하려고합니다. 각각의 사람들이 인터넷에 액세스 할 수있을뿐만 아니라 서로와 호스트가 볼 수 있습니다. 또한 손님이 고정 IP 주소를 갖기를 원합니다.

지금까지 수행 한 절차는 다음과 같습니다.

  1. 이 설정에 사용할 호스트 전용 네트워크의 DHCP 서버 기능을 끕니다.
  2. 호스트에 할당 된 IP 주소를 192.168.56.254로 변경하십시오.
  3. 2 개의 NIC (Network Interface Card)로 게스트 머신 생성
  4. NAT를 사용하도록 첫 번째 NIC 구성
  5. 핫 전용 네트워킹을 사용하도록 두 번째 NIC 구성
  6. 각각에 OS (Ubuntu Server 13.10)를 설치하십시오.
  7. OS 업데이트
  8. / etc / network / interfaces를 편집하여 다음과 같이 네트워킹을 구성하십시오
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
gateway 192.168.56.254
dns-search cloudspace.local
dns-nameservers 8.8.8.8 8.8.4.4
  1. 파일을 저장하십시오
  2. 재부팅

게스트가 다시 부팅되면 호스트 전용 네트워킹이 제대로 작동합니다. 호스트 / 게스트 및 게스트 / 게스트 쌍의 컴퓨터가 서로 핑할 수 있지만 인터넷이 작동 apt-get하지 않습니다.

그런 다음 service networking restart명령을 실행하면 네트워킹이 정상적으로 작동하기 시작합니다.

내가 무엇을 잘못하고 있지?

NIC가 /etc/network/interfaces파일에 나타나는 순서를 전환하려고했습니다 . 또한 두 NIC 사이에서 NAT / 호스트 전용 네트워크를 교체했습니다. 아무것도 효과가 없었습니다.

호스트는 Windows 8.1이고 게스트는 Ubuntu Server 13.10입니다. 비슷한 결과로 Mac OS X에서도 동일하게 시도했습니다.

이것에 대한 도움을 주시면 감사하겠습니다.

최신 정보:

진단을 돕기 위해 아래 명령의 출력을 포함 시켰습니다.

  • 고양이 / etc / network / 인터페이스
  • ifconfig -a
  • 경로 -n
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
gateway 192.168.56.254

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:75:47:64
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe75:4764/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1180 (1.1 KB)  TX bytes:1332 (1.3 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:93:98:d8
          inet addr:192.168.56.1  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe93:98d8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:140 errors:0 dropped:0 overruns:0 frame:0
          TX packets:225 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14418 (14.4 KB)  TX bytes:27378 (27.3 KB)

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:65536  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:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.56.254  0.0.0.0         UG    0      0        0 eth1
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

업데이트 2 :

내가 실행 한 후의 sudo service networking restart출력 route -n은 다음과 같습니다.

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

부팅시이 구성을 어떻게 확인합니까?

답변:


16

사용중인 Google DNS 서버와 같은 외부 주소, 현재 네트워크 설정 및 라우팅 테이블을 핑하려고 할 때 얻은 결과를 게시하면 문제를 해결하기가 더 쉬울 것입니다.

/sbin/ifconfig -a
/sbin/route -n

더 알지 못하면 이것은 어둠 속에서 약간의 기회이지만, 내 생각에 a) eth0에서 DHCP 주소를 얻지 못하거나 b) eth1에 대한 게이트웨이 설정이 할당 된 기본 경로 DHCP로 엉망입니다.

eth0에 대한 DHCP 주소를 얻지 못하면 어댑터를 뒤로 가져 오는 것과 같이 VirtualBox의 구성이 잘못되었을 수 있습니다.

어느 쪽이든 eth1에 DHCP로 할당되므로 eth1에 특별히 할당 된 게이트웨이 또는 DNS 설정이 필요하지 않으므로 구성에서 게이트웨이, dns-search 및 dns-nameservers 행을 제거합니다. 가상 머신이 동일한 네트워크에 있고 VirtualBox가 올바르게 설정된 경우 게이트웨이 설정 없이도 계속해서 통신 할 수 있습니다.

편집 : 재부팅 후 eth1에 게이트웨이가 없는지 확인하려면 다음과 같이 eth1 블록에서 행을 제거하십시오.

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0

완료되면 인터페이스 파일에 게이트웨이 줄이 없습니다.


제안한대로 진단을 추가했습니다. 정답은 (b), 즉에 대한 게이트웨이 설정 eth1이 할당 된 기본 경로 DHCP를 망친다 고 생각합니다 . 이것에 대한 해결책이 있습니까?
Umar Farooq Khawaja

1
eth1 블록이 인터페이스 파일에서 어떻게 보이는지 보여주기 위해 답변을 편집했습니다. 네트워크 나 브로드 캐스트 회선이 필요 없으며 게이트웨이 회선이 없어야합니다. 그 세 가지를 제거하십시오.
jkt123

3

@ jkt123의 답변과 @Umar의 질문과 동일하지만 더 짧은이 솔루션을 생각해 냈습니다. 의견을 보내 주셔서 감사합니다.

virtualbox에서 NAT 및 호스트 전용 네트워크를 모두 활성화하십시오 . (BTW : 그것은 내 win7 호스트에서 작동합니다. 나는 리눅스 호스트에서 어떻게하는지 모르겠습니다).

호스트에서- "호스트 전용"인터페이스의 IP 찾기

ipconfig /all     # for windows host
ifconfig -a       # for linux host

게스트에서 / etc / network / interfaces를 편집하십시오 . 트릭은 eth0 (인터넷 / dhcp) 전에 eth1 (호스트 전용) 순서를 반대로 바 꾸었습니다. 이유를 모르겠습니다.

auto lo                        # keep the original loopback settings
iface lo ...                   # yeah, i don't remember, just keep it.

# ----> Ok, this is my addition <-----
auto eth1                      
allow-hotplug eth1             # i think hotplug it helps. not sure.
iface eth1 inet static
address 192.168.56.100         # arbitrary IP address between 2 and 254

auto eth0                      # This is the original content
iface eth0 inet dhcp           #  of this file, now at the end.

재부팅하십시오.


0

우선, DHCP를 사용하여 NAT 네트워크와를 사용하여 호스트 전용 네트워크를 활성화했습니다 static ip add 192.168.40.41.

그런 다음이 명령을 수행했습니다.

nano cat /etc/network/interfaces

이 결과를 얻었습니다.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.41.4
netmask 255.255.255.0

그리고 재부팅하기 전에 다음 명령을 입력했습니다.

sudo service networking restart

그런 다음 재부팅했습니다.

VM VirtualBox에로드 한 후 두 네트워크가 모두 작동합니다. 인터넷에 연결할 수 192.168.40.41있고 웹 브라우저 를 통해 연결할 수 있습니다 .

이것이 nano에디터 를 얻는 데 도움이되기를 바랍니다 .

sudo apt-get update
sudo apt-get install nano

그런 다음 nano터미널을 입력 하여 시작하십시오.


0

다른 NIC에 여러 개의 기본 게이트웨이가 할당되어 있습니다. 일반적으로 "기본값"은 미리 선택된 옵션을 의미합니다. 이 경우 지정된 기본 게이트웨이가 두 NIC에 모두 정의되어 있으면 미리 선택된 옵션이 아닙니다. 또한 이로 인해 비동기 라우팅과 같은 통신 문제가 발생합니다. 두 인터페이스의 메트릭이 어떻게 0으로 설정되어 있는지 잘 모르겠지만 게이트웨이가있는 두 NIC가 모두있을 수 있습니다. 이에 대한 Microsoft의 기록은 여기에 있으며 메트릭 기능에는 우선 순위를 설정하는 방법을 결정하는 여러 가지 요소가 있습니다. (링크 : https://support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes )

답변 된 답변의 @ jkt123에 동의하면 할당해야 할 기본 게이트웨이는 1 개뿐입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.