11.03.2009 02:52

pomaskinНастройка сетевого доступа для VirtualBox

NAT



В простейшем случае работу сети внутри гостевой системы в 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

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 порт виртуального окружения.



Для обеспечения полноценного сетевого окружения для виртуального сервера необходимо поднять виртуальный сетевой интерфейс.



Устанавливаем пакеты:



1
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

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

Если виртуальных окружений несколько, можно написать:



1
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

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



Перезапускаем сетевую подсистему:



1
sudo /etc/init.d/networking restart



В сетевых настройках VirtualBox определяем виртуальные интерфейсы.

Для этого редактируем файл /etc/vbox/interfaces:



1
2
3
4
5
6
7
# Each line should be of the format :

# <interface name> <user name> <<bridge>>

vbox0 <your user name> br0

vbox1 <your user name> br0



Перезапускаем virtualbox для принятия изменений:



Для OpenSource версии:



1
sudo /etc/init.d/virtualbox-ose restart



Для проприетарной сборки:



1
sudo /etc/init.d/vboxnet restart



Не забываем убедиться в наличии прав доступа на чтение и запись для пользователей группы vboxusers для устройства /dev/net/tun



1
2
3
sudo chown root:vboxusers /dev/net/tun

sudo chmod g+rw /dev/net/tun



Чтобы права автоматически установились после перезагрузки в /etc/udev/rules.d/20-names.rules меняем



1
KERNEL=="tun", NAME="net/%k"



на



1
KERNEL=="tun", NAME="net/%k",  GROUP="vboxusers", MODE="0660"



В настройках VirtualBox для гостевого окружения выбираем "host networking" указав имя созданного виртуального интерфейса.



Дополнительное чтиво: VirtualBox networking HOWTO


Тэги: nat virtualbox Сеть
+ 10 -
Похожие Поделиться

fuss 11.03.2009 03:07 #
Надо бы "под кат", но тогда постом-ссылкой не получится :D
pomaskin 11.03.2009 03:08 #
Вроде получилось.
pomaskin 11.03.2009 03:08 #
Первый пост. С тегами не разберусь. Поможете?
karapuz 11.03.2009 03:11 #
через запятую. Например virtualbox, nat, сеть
pomaskin 11.03.2009 03:12 #
Спасибо.
spiff 11.03.2009 08:33 #
спасибо. Давно не мог найти подходящую статью.
pomaskin 11.03.2009 08:39 #
Рад был стараться.
spiff 11.03.2009 08:47 #
может тупой вопрос, но не в курсе как сделать, что бы виртуальную машину запускать как-нибудь не заметно для меня. То есть не в графическом окне виртуалбокса, а скажем на одной из виртуальных консолей?
pomaskin 11.03.2009 08:56 #
Не интересовался.
booley 11.03.2009 09:25 #
qemu. Но это не виртуалбокс.
spiff 11.03.2009 10:11 #
про qemu я знаю. Интересует как такое же можно сделать в VirtualBox.
cyrus 12.03.2009 00:42 #
Что-то "самый простой метод" с NAT не прокатывает.. не поднимается dhcp при работе с исошника(archiso).. пробовал вбить
dhcpd eth0
он вроде как стартует..пытается найти в диспазоне верном 10.0.0.2 - 10.0.0.15
но не пингуются пакеты..и при установке не удаётся загрузить ethмодуль - чтобы можно было пакеты с инета качать..