pomaskin — Настройка сетевого доступа для VirtualBox
NAT
В простейшем случае работу сети внутри гостевой системы в VirtualBox можно обеспечить через NAT.
Достаточно выбрать тип эмуляции сетевого интерфейса - NAT, а в гостевой ОС получить IP по DHCP или установить вручную из диапазона 10.0.2.0/24, шлюз 10.0.2.2, DNS 10.0.2.3.
Проброс портов
Для проброса портов из вне можно использовать:
где, "freebsd" - это имя виртуальной машины, а pcnet тип эмулируемой карты.
Заходя на 2222 порт хостовой машины мы будем переброшены на 22 порт виртуального окружения.
Для обеспечения полноценного сетевого окружения для виртуального сервера необходимо поднять виртуальный сетевой интерфейс.
Устанавливаем пакеты:
Настраиваем бриждинг, редактируем /etc/network/interfaces в случае если IP хост-система получает динамически (DHCP):
eth0 - сетевой интерфейс, br0 - создаваемый бридж, vbox0 - имя устройства, используемого в VirtualBox
Если виртуальных окружений несколько, можно написать:
В случае со статическим IP настройки примут вид:
При использовании статического IP в eth0, его настройки должны совпадать с br0
Перезапускаем сетевую подсистему:
В сетевых настройках VirtualBox определяем виртуальные интерфейсы.
Для этого редактируем файл /etc/vbox/interfaces:
Перезапускаем virtualbox для принятия изменений:
Для OpenSource версии:
Для проприетарной сборки:
Не забываем убедиться в наличии прав доступа на чтение и запись для пользователей группы vboxusers для устройства /dev/net/tun
Чтобы права автоматически установились после перезагрузки в /etc/udev/rules.d/20-names.rules меняем
на
В настройках VirtualBox для гостевого окружения выбираем "host networking" указав имя созданного виртуального интерфейса.
Дополнительное чтиво: VirtualBox networking HOWTO
В простейшем случае работу сети внутри гостевой системы в VirtualBox можно обеспечить через NAT.
Достаточно выбрать тип эмуляции сетевого интерфейса - NAT, а в гостевой ОС получить IP по DHCP или установить вручную из диапазона 10.0.2.0/24, шлюз 10.0.2.2, DNS 10.0.2.3.
Проброс портов
Для проброса портов из вне можно использовать:
1 2 3 4 5 |
VBoxManage setextradata "freebsd" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP |
где, "freebsd" - это имя виртуальной машины, а pcnet тип эмулируемой карты.
Заходя на 2222 порт хостовой машины мы будем переброшены на 22 порт виртуального окружения.
Для обеспечения полноценного сетевого окружения для виртуального сервера необходимо поднять виртуальный сетевой интерфейс.
Устанавливаем пакеты:
sudo apt-get install uml-utilities bridge-utils
Настраиваем бриждинг, редактируем /etc/network/interfaces в случае если IP хост-система получает динамически (DHCP):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
auto eth0 |
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 14 15 16 17 18 19 20 21 22 23 24 25 |
auto eth0 |
При использовании статического IP в eth0, его настройки должны совпадать с br0
Перезапускаем сетевую подсистему:
sudo /etc/init.d/networking restart
В сетевых настройках VirtualBox определяем виртуальные интерфейсы.
Для этого редактируем файл /etc/vbox/interfaces:
1 2 3 4 5 6 7 |
# Each line should be of the format : |
Перезапускаем virtualbox для принятия изменений:
Для OpenSource версии:
sudo /etc/init.d/virtualbox-ose restart
Для проприетарной сборки:
sudo /etc/init.d/vboxnet restart
Не забываем убедиться в наличии прав доступа на чтение и запись для пользователей группы vboxusers для устройства /dev/net/tun
1 2 3 |
sudo chown root:vboxusers /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" указав имя созданного виртуального интерфейса.
Дополнительное чтиво: VirtualBox networking HOWTO