7

Я хочу настроить экземпляры гостевой системы Ubuntu VirtualBox для создания тестовой сети VPN. Хост - Windows 7 Ultimate.

Я надеюсь настроить экземпляр VirtualBox, который представляет собой шлюз для тестовой сети. Дополнительные узлы могут быть добавлены в эту сеть по мере необходимости.

Оставляя в стороне конфигурацию VPN, я обеспокоен необходимостью конфигурации виртуальной сети, необходимой для этого теста.

1) Что мне нужно, чтобы заставить это работать? Сеть только на хосте?

2) Как сделать экземпляр, чтобы стать шлюзом? Этот пост не разъясняет этот момент

3) Сколько минимум экземпляров требуется для этого?

4) какие команды ifconfig и route мне нужно выполнить (или добавить в конфигурацию), чтобы создать узел шлюза и другие узлы за шлюзом?

3 ответа3

4

Я сделал аналогичную настройку. Позвольте мне сразу же уточнить, что мой VPN шел от VM1, через VM2 (выступая в качестве шлюза) и заканчивался на VM3 - хост не был задействован. Если это не то, что вы ищете, прекратите читать прямо здесь.

Если вы все еще со мной, я отвечу на ваши вопросы в несколько ином порядке:

3) Вам понадобится минимум 3 экземпляра. 4, если вы хотите проверить доступ к дополнительным системам в вашей моделируемой локальной сети (например, для тестирования VPN в «роуд-воине» или в другой среде удаленного доступа, где вам требуется доступ к нескольким службам в удаленной сети).

1) Используйте "частные сети". Настройте две названные сети, например, "ЛВС" и "Интернет". Виртуальной машине вашего шлюза потребуются два интерфейса, по одному на каждую из этих сетей; вашей "внешней" ВМ потребуется один интерфейс в сети "Интернет", в то время как вашей "внутренней" ВМ потребуется один интерфейс в сети "ЛВС".

2) Создание виртуальной машины в качестве шлюза не является функцией VirtualBox. Я продолжаю надеяться, что в конечном итоге они предоставят встроенные средства для соединения разных сетей по-разному, но до тех пор вам придется выполнять эту часть самостоятельно. Существует множество способов сделать это с помощью виртуальной машины Ubuntu; Мой предпочтительный метод с Shorewall, который вам понадобится, чтобы пример конфигурации с двумя интерфейсами был включен в пакет shorewall-doc в Aptitude (также на их веб-сайте): apt-get install shorewall-perl shorewall-doc (это может быть просто shorewall теперь, не shorewall-perl, так как старая оболочка shorewall теперь мертва и исчезла; в любом случае, вы все равно захотите shorewall-doc). Если у вас есть вопросы по настройке этого, включите Google (вы делаете Linux-бокс маршрутизатором / брандмауэром) или задайте его отдельно, поскольку область действия выходит далеко за рамки того, что подходит для подвопроса здесь.

2

Недавно я сделал нечто похожее на это, используя VirtualBox Machine в качестве шлюза, хотя мое шлюзовое устройство работало с m0n0wall, который служит внутренним сервером DHCP и использовалось в качестве встроенного портала, я рекомендую вам использовать это.

(посмотрите на мой вопрос, чтобы увидеть, помогает ли это)

На моей хост-машине у меня было 4 VMS, три клиентских и одно шлюзовое устройство. Устройство шлюза работало под управлением m0n0wall, дистрибутива на основе BSD, и было настроено с двумя сетевыми картами, одна из которых была настроена как мостовой адаптер (и это было бы подключено к Интернету), а другая была бы внутренним соединением. Три гостевых клиента также будут подключены к внутренней сети, а виртуальная машина m0n0wall будет настроена как DHCP-сервер и шлюз, чтобы весь трафик передавался через виртуальную машину m0n0wall.

На моем (довольно скудном) рисунке ниже зеленый блок - это хост-машина, черные поля - это гостевая VMS, красный - это внутреннее сетевое подключение, а зеленый - это соединительный кабель с внешним миром. Виртуальная машина monowall должна будет выполнять переадресацию портов и может иметь поддержку VPN, хотя я не рассматривал эту часть.

2

Основная информация

Я создал лабораторию дома несколько дней назад. Я использовал VMware Workstation, но она должна работать и с virtualbox:

Во-первых, я настроил все виртуальные машины, принадлежащие моей лаборатории, как "сеть только с хостом" (даже шлюз, но я подхожу к этому в нескольких словах ...).

Вам нужна одна ВМ, чтобы быть шлюзом. Для этого я использовал Debian 6. Сначала я настроил его как сеть только для хоста. Автоматически добавленный NIC будет внутренним интерфейсом для ваших виртуальных машин, которые принадлежат лаборатории. Затем я добавил дополнительный сетевой адаптер, который соединен с моим физическим сетевым адаптером (это будет "внешний" сетевой адаптер). Я настроил статические IP-адреса для внутренней сетевой карты моих шлюзов и настроил lab-DHCP (работает на Windows 2008 R2 Server), чтобы сообщить своим клиентам внутренний IP-адрес моего шлюза, чтобы использовать его в качестве шлюза по умолчанию. Моему внешнему сетевому адаптеру необходим IP-адрес моей локальной сети для связи с моим обычным шлюзом и Интернетом (для этого внешнего сетевого адаптера требуется, чтобы ваш обычный-lan-gateway-ip был настроен как шлюз по умолчанию, поскольку это ваш LAN-шлюз).

Чтобы ваш лабораторный шлюз работал в качестве шлюза, необходимо активировать маршрутизацию:

echo 1 > /proc/sys/net/ipv4/ip_forward

Затем вам нужно добавить нужные вам сервисы, такие как ваш VPN-сервис (мой шлюз также запускает DNS). Вы должны настроить свои сервисы и iptables/firewall (базовый NAT, правила для приема VPN-запросов и т.д.).

В этой среде вы можете использовать локальную сеть для имитации WAN. Настройте VPN-клиент на вашем хосте windows и попробуйте подключиться к «external-ip» (обычный-lan-ip) вашего лабораторного шлюза.

Редактировать: настроить linux-шлюз

Я предполагаю, что желаемая виртуальная машина шлюза была установлена как сетевая виртуальная машина только для хоста и получила дополнительный сетевой адаптер, соединенный с физическим сетевым адаптером. Я использовал Debian, но он должен работать с Ubuntu. Я не знаю, мешает ли zeroconf ручным конфигурациям. Я думаю, что сервер Ubuntu будет более дружественным к ручной конфигурации сети. Если у вас проблемы с Ubuntu, попробуйте Debian.

Сначала вы должны убедиться, что ваш шлюз имеет статический внутренний IP-адрес. Вы настраиваете это в /etc /network /interfaces. Вот мой пример конфигурации:

root@lab-fw01:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

#external interface
auto eth0
iface eth0 inet static
        address 192.168.69.2
        network 192.168.69.0
        netmask 255.255.255.0
        gateway 192.168.69.1

#internal interface
auto eth1
iface eth1 inet static
        address 10.0.0.1
        network 10.0.0.0
        netmask 255.255.255.0

В моей среде шлюз лаборатории находится на 10.0.0.1. Это означает, что вы должны настроить шлюз по умолчанию ваших клиентов на 10.0.0.1 (возможно, через DHCP).
Интернет-трафик будет перенаправляться на шлюз внешнего интерфейса моего lab-gateways (192.168.69.1), поскольку сетевой трафик предназначен для внешней IP-подсети.
Чтобы получить трафик пересылки брандмауэром для ваших клиентов, вы должны включить пересылку ipv4:

echo 1 > /proc/sys/net/ipv4/ip_forward

Ваш следующий шаг - настроить iptables. Поскольку объяснение того, как настроить iptables, может привести к чрезмерному увеличению моего ответа, я просто приведу вас к хорошему базовому руководству по iptables.

Тем не менее, основные конфигурации для iptables могут быть:

  • MASQUERADE весь ваш исходящий трафик
  • ВПЕРЕД УСТАНОВЛЕННЫЙ и СВЯЗАННЫЙ трафик к вашей внутренней сети
  • ВПЕРЕД исходящий трафик
  • разрешить входной трафик для SSH

Это все, что вам нужно сделать, чтобы запустить шлюз. Если вы готовы с этим и тесты в порядке, вы можете начать установку VPN-сервера и настроить его. Не забудьте добавить правила для VPN в iptables, чтобы разрешить VPN-трафик.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .