VirtualBox: VPN, объединяющая тестовую среду в сеть

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

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

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

1) Что я должен был бы заставить это работать? Сети только для хоста?

2) Как я делаю экземпляр для становления шлюзом? Это сообщение не объясняет эту точку

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

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

7
задан 20.03.2017, 12:17

1 ответ

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

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

3) Вам будет нужен минимум 3 экземпляров. 4, если Вы хотите протестировать получающие доступ дополнительные системы в своей моделируемой LAN (например, для тестирования VPN в "коммивояжере" или другой работающей дистанционно среде, где необходимо получить доступ к многочисленным услугам в удаленной сети).

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

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

4
ответ дан 07.12.2019, 14:56

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

(взгляните на мой вопрос видеть, помогает ли это),

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

В моем (довольно плохом) изображении ниже, зеленое поле является хост-машиной, черные квадраты являются гостем VMS, красный является соединением внутренней сети, и зеленый является соединенным мостом кабелем к внешнему миру. Моностена VM должен будет сделать portforwarding и может иметь поддержку VPN от летучей мыши, хотя я не изучил ту часть. enter image description here

2
ответ дан 07.12.2019, 14:56

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

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

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

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

Для получения шлюза лаборатории, работающего шлюзом, необходимо активировать маршрутизацию:

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

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

С этой средой можно использовать локальную сеть для моделирования WAN. Настройте клиента VPN на своем хосте окон и попытке соединиться с "внешним IP" (регулярный IP LAN) Вашего шлюза лаборатории.

Править: настройте шлюз Linux

Я принимаю, что Ваш необходимый-шлюз-VM был установлен как host-only-networking-VM и соединил дополнительный NIC мостом к Вашему физическому NIC. Я использовал debian, но он должен работать с человечностью. Я не знаю, нарушает ли zeroconf ручные конфигурации. Я думаю, что сервер человечности будет более дружественным по отношению к ручным конфигурациям сети. Если у Вас есть проблемы с человечностью, попробуйте 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).
Интернет-трафик будет передан шлюзу моих шлюзов лаборатории внешний интерфейс (192.168.69.1), так как сетевой трафик предназначен для внешней подсети IP.
Для получения трафика передачи брандмауэра для клиентов необходимо позволить ipv4-передать:

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

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

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

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

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

2
ответ дан 07.12.2019, 14:56

Теги

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