В простейшем случае работу сети внутри гостевой системы в VritualBox можно обеспечить через NAT.
Достаточно выбрать тип эмуляции сетевого интерфейса - NAT, а в гостевой ОС получить IP по DHCP или
установить вручную из диапазона 10.0.2.0/24, шлюз 10.0.2.2, DNS 10.0.2.3. Для проброса портов из вне можно использовать:
VBoxManage setextradata "freebsd" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "freebsd" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VBoxManage setextradata "freebsd" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222
где, "freebsd" - это имя виртуальной машины, а pcnet тип эмулируемой карты.
Заходя на 2222 порт хостовой машины мы будем переброшены на 22 порт виртуального окружения.
Для обеспечения полноценного сетевого окружения для виртуального сервера необходимо поднять виртуальный сетевой интерфейс.
Устанавливаем пакеты:
sudo apt-get install uml-utilities bridge-utils
Настраиваем бриждинг, редактируем /etc/network/interfaces в случае если IP хост-система получает динамически (DHCP):
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0 vbox0
# The loopback network interface
auto lo
iface lo inet loopback
eth0 - сетевой интерфейс, br0 - создаваемый бридж, vbox0 - имя устройства, используемого в VirtualBox
Если виртуальных окружений несколько, можно написать:
bridge_ports eth0 vbox0 vbox1 vbox2 vbox3 vbox4
В случае со статическим IP настройки примут вид:
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports eth0 vbox0 vbox1
# The loopback network interface
auto lo
iface lo inet loopback
При использовании статического IP в eth0, его настройки должны совпадать с br0
Перезапускаем сетевую подсистему:
sudo /etc/init.d/networking restart
В сетевых настройках VirtualBox определяем виртуальные интерфейсы.
Для этого редактируем файл /etc/vbox/interfaces:
# Each line should be of the format :
# <interface name> <user name> [<bridge>]
vbox0 <your user name> br0
vbox1 <your user name> br0
Перезапускаем virtualbox для принятия изменений:
Для OpenSource версии:
sudo /etc/init.d/virtualbox-ose restart
Для проприетарной сборки:
sudo /etc/init.d/vboxnet restart
Не забываем убедиться в наличии прав доступа на чтение и запись для пользователей группы vboxusers для устройства /dev/net/tun
sudo chown root:vboxusers /dev/net/tun
sudo chmod g+rw /dev/net/tun
Чтобы права автоматически установились после перезагрузки в /etc/udev/rules.d/20-names.rules меняем
KERNEL=="tun", NAME="net/%k"
на
KERNEL=="tun", NAME="net/%k", GROUP="vboxusers", MODE="0660"
В настройках VirtualBox для гостевого окружения выбираем "host networking" указав имя созданного виртуального интерфейса.
URL: http://www.ubuntugeek.com/how-to-set-up-host-interface-netwo...
Обсуждается: http://www.opennet.me/tips/info/1877.shtml