Сервер Virtualbox / Топология клиента

У меня есть настольный компьютер с Ubuntu 14.04, на котором установлен VirtualBox. Я делаю две виртуальные машины, один сервер Ubuntu, другой клиент Lubuntu. Настройки по умолчанию позволяют мне подключать Интернет от гостей к Интернету через 3G-модем, подключенный к хост-компьютеру, так как гости по умолчанию используют NAT, но я не могу подключиться от клиента к серверу.

Я хочу разместить двух гостей в отдельной сети и разрешить гостевому серверу подключаться к Интернету через NAT с другим сетевым интерфейсом, а также заставить гостевого клиента подключаться к Интернету через гостевой сервер.

Я сделал следующее:

  • На гостевом сервере я добавил два сетевых интерфейса, один для локальной сети, а другой для NAT.
  • На гостевом клиенте я добавил только локальный сетевой интерфейс.

Что я должен сделать, чтобы гостевой сервер подключился к Интернету, а затем чтобы гостевой клиент мог подключиться и к Интернету, но через гостевой сервер?

2
задан 9 July 2014 в 14:40

1 ответ

У Вас есть список режимов организации сети VirtualBox в его Документации.

Тот, в котором Вы нуждаетесь в обеих системах, является Внутренними сетями. Необходимо дать ему имя, можно создать несколько сетей в этом режиме. VirtualBox соединит всех гостей в той же внутренней сети, таким образом, имена должны будут соответствовать на обеих виртуальных машинах. Значение по умолчанию должно работать правильно out-of-the-box.

Серверу нужны Внутренние сети с тем же именем и другим, который соединяется с миром в Вашем случае NAT.

Теперь гостевой сервер должен смочь соединиться с Интернетом через интерфейс NAT.

Дайте дюйм/с машинам

Чтобы клиенту и серверу достигают друг друга, их интерфейсы должны быть настроены в той же сети. Можно сделать это вручную (статические адреса) или конфигурирование сервера DHCP в машине сервера.

Это шаги, чтобы сделать это вручную:

root@server:~# ifconfig eth0 192.168.1.1 netmask 255.255.255.0
root@client:~# ifconfig eth0 192.168.1.5 netmask 255.255.255.0

Можно установить любой IP, который Вы хотите, но они должны быть в той же сети. Здесь, eth0 в сервере машина относится к Внутреннему интерфейсу при установке интерфейса 1 столь же Внутренний и 2 как NAT вышеупомянутые команды будут хорошо работать.

Теперь необходимо смочь ping друг друга, но пакеты от клиентской машины не сможет переместиться через машину сервера все же, только к серверу.

Примечание: Эти изменения будут потеряны в следующей перезагрузке, для внесения изменений постоянными, необходимо отредактировать и настроить /etc/network/interfaces. При конфигурировании клиента с GUI от рабочего стола пропустите конфигурацию CLI.

Настройте передачу

Необходимо настроить передачу. Вы могли просто сделать

root@server:~# echo 1 > /proc/sys/net/ipv4/ip_forward

но это только работало бы, пока Вы не перезагружаете машину. Необходимо отредактировать /etc/sysctl.conf и некомментарий #net.ipv4.ip_forward=1 таким образом, это похоже:

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

Это настроит машину сервера к передачам пакетов (в следующей перезагрузке).

Позвольте подменить

Это настроит сервер, чтобы сделать подмену IP.

root@server:~# modprobe iptable_nat
root@server:~# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
root@server:~# iptables -A FORWARD -i eth0 -j ACCEPT

Заботьтесь о eth0 и eth1, здесь 2-я строка должна быть -o NAT_interface и 3-я строка -i Internal_interface.

Настройте клиент для прохождения через сервера

Эта установка должна была быть уже установлена, или в помощнике GUI или путем редактирования /etc/network/interfaces/. На всякий случай это не применяется, добавьте маршрут по умолчанию через машину сервера:

root@client:~# route add default gw 192.168.1.1

Настройте DNS

Теперь необходимо смочь связаться от клиентской машины, но если бы Вы настроили IP-адреса вручную, то все еще необходимо обеспечить серверы DNS, таким образом, можно разрешить имена.

Править /etc/resolv.conf и добавьте серверы, которые Вы любите:

nameserver 4.2.2.1
nameserver 4.2.2.2
nameserver 8.8.8.8
nameserver 8.8.4.4

При конфигурировании DHCP в машине сервера необходимо было уже сказать сервер DHCP, какие серверы DNS использовать (в противном случае делают это теперь).

Снова при конфигурировании клиента с помощником GUI просто удостоверьтесь, что DNS допустим и пропускает этот раздел.

4
ответ дан 9 July 2014 в 14:40

Другие вопросы по тегам:

Похожие вопросы: