Virtualbox NAT + 호스트 어댑터만 해당

Virtualbox NAT + 호스트 어댑터만 해당

내 호스트는 Ubuntu 12.04이고 게스트는 Debian squeeze(LAMP 서버)입니다. 호스트가 게스트를 연결하도록 허용하고 싶습니다. 손님이 인터넷에 연결할 수 있습니다. 외부에서 게스트를 활성화하면 안 됩니다. 이것이 제가 브리지를 사용하지 않는 이유입니다. 호스트에 고정 IP를 설정하고 싶습니다. 나는 팔로우한다이 튜토리얼.

ssh그래서 이러한 조치를 취했지만 호스트에서 게스트로 연결할 수 없습니다 . 브라우저를 통해 서버를 호출할 수 없습니다. ping그러나 그것은 작동합니다!

vboxnet0다음 설정을 사용하여 가상 호스트 전용 네트워크 어댑터( )를 만들었습니다 .

IPv4-Adress: 192.168.56.1
IPv4-Netmask: 255.255.255.0

ifconfigUbuntu 호스트에 표시됨:

eth0      Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX  
          inet Adresse:192.168.2.100  Bcast:192.168.2.255  Maske:255.255.255.0
          inet6-Adresse: XXXX:XXX:XXXX:XXXX:X:X/XX Gültigkeitsbereich:Global


vboxnet0  Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX  
          inet Adresse:192.168.56.1  Bcast:192.168.56.255  Maske:255.255.255.0
          inet6-Adresse: XXXX:XXX:XXXX:XXXX:X:X/XX Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10069 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX-Bytes:0 (0.0 B)  TX-Bytes:1539501 (1.5 MB)

Debian scrape guest에서는 /etc/network/interfaces다음과 같습니다:

 # The host-only network interface
   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

나는 그것을 바꾸려고 노력했지만 결과가 없었 eth1습니다 eth0.

VirtualBox 설정에서 무차별 모드를 사용하면 가상 머신과 호스트를 연결할 수 있습니다.

나는 내 지식의 한계에 도달했습니다.

산출:

netstat --inet --inet6 -ln | grep :22

아무것도 아님.

산출:

sudo iptables -L INPUT -nv

예:

 Chain INPUT (policy ACCEPT 166 packets, 30786 bytes)
  pkts bytes target     prot opt in     out     source               destination 

답변1

게스트에서 동일한 IP 주소(예: 호스트 인터페이스의 IP 주소)를 사용하면 안 됩니다. 호스트에서 vboxnet0을 IP 주소 192.168.56.1로 설정한 경우 게스트에서는 192.168.56.2를 사용해야 합니다. 게스트의 게이트웨이는 호스트의 IP(귀하의 경우 192.168.56.1)여야 합니다.

이는 호스트<->게스트 연결을 수행해야 합니다. 게스트도 인터넷에 액세스할 수 있도록 하려면 호스트에서 해당 IP(또는 네트워크)를 위장해야 합니다.

iptables -t nat -I POSTROUTING -s 192.168.56.0/24 -j MASQUERADE
sysctl net.ipv4.ip_forward=1

전달을 위한 기본 정책을 설정하거나 가장 무도회 네트워크를 구체적으로 활성화해야 할 수도 있습니다.

iptables -P FORWARD ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

참고: 루트를 사용하여 이 줄을 실행하면 게스트의 인터넷 액세스를 활성화할 수 있습니다. 그러나 이러한 줄은 호스트의 방화벽 구성에 들어가야 합니다. (즉, UFW). sysctl 구성 파일은 /etc/sysctl.conf입니다. ip_forward를 항상 활성화하려면 거기에서 ip_forward를 설정할 수 있습니다.

관련 정보