Это старая версия документа!
Содержание
Конфигурация VBox
Настройка сети
После установки VirtualBox и web-морды к нему выполняем настройки, чтобы обеспечить удобство использования этой связки. Первым делом создаем виртуальную сеть, в которой будут работать виртуальные машины. VBox из коробки предоставляет возможность создать сеть vboxnet и даже может выдавать в ней IP адреса. Первое нам пригодится, а вот второе мы будем выполнять за него самостоятельно, использую для этого dnsmasq
Для этого заходим в Файл-Настройки-Сеть-Виртуальные сети хоста и создаем новую сеть. У меня это vboxnet0
Установка и настройка dnsmqsq
Устанавливаем dnsmasq
# устанавливаем dnsmasq cd /usr/ports/dns/dnsmasq make install clean sysrc dnsmasq_enable="YES" # echo 'conf-dir=/usr/local/etc/dnsmasq.d' >> /usr/local/etc/dnsmasq.conf mkdir /usr/local/etc/dnsmasq.d
Создаем файл конфигурации dnsmasq
nano /usr/local/etc/dnsmasq.d/vbox.conf
- vbox.conf
dhcp-range=set:vboxnet0, 192.168.56.2, 192.168.56.50, 255.255.255.0, 10m dhcp-option=tag:vboxnet0, option:netmask, 255.255.255.0 dhcp-option=tag:vboxnet0, option:router, 192.168.56.1 dhcp-option=tag:vboxnet0, option:dns-server, 192.168.56.1 dhcp-option=tag:vboxnet0, option:ntp-server, 192.168.56.1 log-facility=/var/log/dnsmasq.log interface=vboxnet0 # CloudFlare server=1.1.1.1 server=1.0.0.1 # OpenDNS server=208.67.222.222 server=208.67.220.220 # Google server=8.8.8.8 server=8.8.4.4 # Настройки VM dhcp-host=08:00:27:c0:12:1e, app, 192.168.56.10, 30d,set:vboxnet0 address=/app/192.168.56.10 address=/app.local/192.168.56.10
В данном конфиге нас интересуют только последние три строки. В первой мы указываем MAC виртуалки и IP, который хотим ей присвоить. После создания VM нужно вписать сюда по аналогии. Две другие строки - для задания hostname виртуалке, которое будет доступно в данной локальной сети. Например: mysql, app, redis и т.п.
Проверяем работу dnsmasq
lsof -i :67 -P COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dnsmasq 2115 nobody 4u IPv4 0xfffff801036345d0 0t0 UDP *:67
Обращаю пристальное внимание на то, что по-умолчанию VBox создает виртуалки за NAT, который он организовывает сам. Поскольку у нас собственная локальная сеть на vboxnet0, то создавать свои виртуалки мы будем на ней и NAT нам нужно теперь организовать самостоятельно.
Использование FreeBSD в качестве шлюза с ipfw NAT
Начнем использовать ipfw kernel NAT, который нужно включить во FreeBSD. Действуем внимательно, так как при ошибках в конфиге можно легко потерять доступ к серверу по SSH