Virtualbox NAT + Host-Only адаптер

Virtualbox NAT + Host-Only адаптер

Мой хост — Ubuntu 12.04, а гость — Debian squeeze (сервер LAMP). Я хочу разрешить хосту подключать гостя. и разрешить гостю подключаться к Интернету. Гость не должен быть включен извне. Вот почему я не использую network-bridge. Я хочу настроить статический IP для хоста. Я следовалэтот урок.

Итак, я выполнил эти шаги, но не могу подключиться через sshхост к гостю. Я не могу вызвать сервер через браузер. pingОднако работает!

Я создал виртуальный сетевой адаптер только для хоста ( vboxnet0) со следующими настройками:

IPv4-Adress: 192.168.56.1
IPv4-Netmask: 255.255.255.0

ifconfigв Ubuntu host показывает это:

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 Squeeze это /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-адрес в гостевой системе (например, в интерфейсе хоста). Если вы настраиваете 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

Примечание: Вы можете выполнить эти строки с правами root, чтобы включить доступ в Интернет для вашего гостя. Но эти строки, вероятно, должны быть в конфигурации вашего брандмауэра вашего хоста. (т.е. ufw). Файл конфигурации sysctl: /etc/sysctl.conf, вы можете установить ip_forward там, если хотите, чтобы он всегда был включен.

Связанный контент