Настройка сетевого доступа для VirtualBox
NAT
В простейшем случае работу сети внутри гостевой системы в VirtualBox можно обеспечить через NAT.
Достаточно выбрать тип эмуляции сетевого интерфейса – NAT, а в гостевой ОС получить IP по DHCP или установить вручную из диапазона 10.0.2.0/24, шлюз 10.0.2.2, DNS 10.0.2.3.
Проброс портов
Для проброса портов из вне можно использовать:
1 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 порт виртуального окружения.
Для обеспечения полноценного сетевого окружения для виртуального сервера необходимо поднять виртуальный сетевой интерфейс.
Устанавливаем пакеты:
Настраиваем бриждинг, редактируем /etc/network/interfaces в случае если IP хост-система получает динамически (DHCP):
1 2 3 4 5 6 7 8 9 10 | 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 настройки примут вид:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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
Перезапускаем сетевую подсистему:
В сетевых настройках VirtualBox определяем виртуальные интерфейсы.
Для этого редактируем файл /etc/vbox/interfaces:
1 2 3 4 | # Each line should be of the format : # interface name user name [bridge] vbox0 br0 vbox1 br0 |
Перезапускаем virtualbox для принятия изменений:
Для OpenSource версии:
Для проприетарной сборки:
Не забываем убедиться в наличии прав доступа на чтение и запись для пользователей группы vboxusers для устройства /dev/net/tun
sudo chmod g+rw /dev/net/tun
Чтобы права автоматически установились после перезагрузки в /etc/udev/rules.d/20-names.rules меняем
на
В настройках VirtualBox для гостевого окружения выбираем «host networking» указав имя созданного виртуального интерфейса.
Дополнительное чтиво: VirtualBox networking HOWTO
Благодарности уходят pomaskin
Тэги: NAT, VirtualBox
GNU/Linux Ubuntu Funs