Когда создавал новую виртуальную машину в Virtualbox (Ubuntu 12.04 LTS) решил спрятать его за NAT в виртуальной сети, но таким образом чтобы иметь возможность достучаться до него напрямую через SSH.
Для этой цели поднял виртуальный сетевой интерфейс, настроил NAT, настроил раздачу айпи и обработку DNS-запросов создаваемой виртуальной сети:
- Устанавливаем пакет uml-utilitiesс утилитой для создания интерфейсаtap0
 $ sudo apt-get install uml-utilities В файл «/etc/network/interfaces» добавляем описание нового интерфейса
 auto tap0 iface tap0 inet static address 10.0.55.1 netmask 255.255.255.0 pre-up /usr/sbin/tunctl -t tap0 post-down /usr/sbin/tunctl -d tap0Поднимаем новый интерфейс
 $ sudo ifup tap0 
- Теперь настраиваем NAT. Для этой цели используем идущее с системой средство настройки брандмауэра ufw. Редактируем файл «/etc/ufw/before.rules» и добавляем в самом начале строки
 *nat :POSTROUTING ACCEPT [0:0] -F POSTROUTING -A POSTROUTING -s 10.0.55.0/24 -j MASQUERADE COMMIT Редактируем файл «/etc/default/ufw» и меняем следующие параметрыDEFAULT_INPUT_POLICY="ACCEPT" DEFAULT_OUTPUT_POLICY="ACCEPT" DEFAULT_FORWARD_POLICY="ACCEPT" Запускаемufw$ sudo ufw enable 
- Чтобы каждый раз вручную не прописывать айпишники днс-сервера вновь созданным виртуальным машинам устанавливаем dnsmasq
 $ sudo apt-get install dnsmasq В файл конфигурации «/etc/dnsmasq.conf» добавляем следующие строки# Слушаем порты только на указанном интерфейсе bind-interfaces # Слушаем на созданном нами интерфейсе interface=tap0 # Не слушаем на локальном интерфейсе. Там как правило слушает запущенный Netwok Manager процесс dnsmasq except-interface=lo # Диапазон раздаваемых по DHCP адресов виртуальным машинам. dhcp-range=10.0.55.10,10.0.55.200,72h # Домен создаваемой сети domain=virtual Запускаемdnsmasqс новыми настройками$ sudo service dnsmasq stop $ sudo service dnsmasq start 
