Более мягкая конфигурация межсетевого экрана vpn ufw - это правильно?
Я правильно установил и настроил Softether на своем Ubuntu 14 x64 VPS в режиме локального моста с виртуальным интерфейсом TAP.
Теперь у меня есть полностью работающий L2TP/IPSEC-сервер с двумя сетевыми интерфейсами, который я бы хотел дополнительно обезопасить, используя ufw
,
Поискав в интернете, я взломал решение, как показано ниже, которое работает, но я не уверен, насколько оно безопасно / правильно, и надеялся, что кто-то здесь сможет направить меня в правильном направлении.
Начиная с моей (сокращенно) ifconfig
:
eth0 Link encap:Ethernet HWaddr XX
inet addr:XXX.XXX.XXX.XXX Bcast:XXX.XXX.XXX.255 Mask:255.255.255.0
inet6 addr: XX Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
tap_soft Link encap:Ethernet HWaddr XX
inet addr:192.168.7.1 Bcast:192.168.7.255 Mask:255.255.255.0
inet6 addr: XX Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
1 - В /etc/ufw/before.rules
Я вставил POSTROUTING
править до *filter
линия:
# Rules for NAT Table of iptables
*nat
:POSTROUTING ACCEPT [0:0]
# Forward traffic from Softether through eth0.
-A POSTROUTING -s 192.168.7.0/24 -o eth0 -j MASQUERADE
# tell ufw to process the lines
COMMIT
2 - В /etc/default/ufw
Я включил переадресацию и установил DEFAULT_FORWARD_POLICY="ACCEPT"
3 - добавлено net.ipv4.ip_forward = 1
в /etc/sysctl.conf
- и перезагрузил Sysctl, конечно.
4 - Потому что я работаю в режиме локального моста, tap_soft
требуется DHCP-сервер.
Так что мой dnsmasq.conf
файл выглядит так:
interface=tap_soft
dhcp-range=tap_soft,192.168.7.50,192.168.7.60,12h
dhcp-option=tap_soft,3,192.168.7.1
5 - ufw
подробный статус:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), allow (routed)
To Action From
-- ------ ----
67 on tap_soft ALLOW IN Anywhere
53 on tap_soft ALLOW IN Anywhere
1701 ALLOW IN Anywhere
4500/udp ALLOW IN Anywhere
500/udp ALLOW IN Anywhere
Описанные выше действия означают, что у меня есть полностью работающий VPN-сервер с брандмауэром, но конфигурация брандмауэра по-прежнему безопасна / правильна / рекомендована?
Единственный способ найти правильную работу - iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -j SNAT --to-source MYPUBLICIPADDRESS
и только открытые порты 67
а также 53
в ufw
,
Не очень хорошо разбирается в iptables
Я не уверен на 100%, что это делает или почему это работает.
1 ответ
Создание моста L2 с SoftEther в интерфейс TAP, как это, по сути является конфигурацией SecureNAT. SoftEther может делать то, что вы хотите без dnsmasq или ufw.
Восстановите текущую конфигурацию и попробуйте это:
- Создайте новый виртуальный концентратор с именем snat.
- Нажмите кнопку " Управление виртуальным концентратором".
- Нажмите Виртуальный NAT и Виртуальный DHCP.
- Нажмите Конфигурация SecureNAT.
- Включить: использовать функцию виртуального NAT
- Включить: использовать виртуальные функции DHCP
- Установить: IP-адрес = 192.168.7.1
- Set: Subnet Mask = 255.255.255.0
- Set: Распределяет IP-адрес с 192.168.7.50 по 192.168.7.60
- Set: Subnet Mask = 255.255.255.0
- Установить: Адрес шлюза по умолчанию = 192.168.7.1
- Установите адреса DNS-серверов в соответствии с тем, что в данный момент находится в файле /etc/resolv.conf.
- Нажмите ОК.
- Нажмите Включить SecureNAT.
- Нажмите Выход.
- Нажмите Выход еще раз.
Шаг 5 и шаг 6 включают функции в SoftEther, которые выполняют те же функции, что и dnsmasq, за исключением того, что SoftEther не реализует сервер пересылки DNS. Не забудьте создать учетные записи пользователей в новом хабе. Игнорировать все предупреждения о средах виртуальных машин.
Неочевидная вещь о SoftEther состоит в том, что адрес шлюза 192.168.7.1 не привязан к серверу и не доступен с сервера. Если вы хотите, чтобы сервер связывался с VPN-клиентами, то сделайте это тоже:
- Нажмите кнопку настройки локального моста.
- Выберите snat в выпадающем меню Virtual Hub.
- Выберите Мост с новым устройством.
- Установить новое имя устройства Tap = snat
- Нажмите Создать локальный мост.
- Нажмите Выход.
Теперь поместите этот раздел в файл /etc/network/interfaces:
allow-hotplug tap_snat
iface tap_snat inet static
address 192.168.7.2
netmask 255.255.255.0
Обратите внимание, что интерфейсы, созданные SoftEther, всегда имеют префикс tap_ в среде хоста. После перезагрузки интерфейс tap_snat будет активирован при запуске SoftEther.
Помните, что SoftEther не использует возможности ядра Linux для NAT и что хост не должен присоединять адрес шлюза SoftEther к какому-либо из своих интерфейсов. Использование.2 здесь не опечатка.
Политика безопасности SoftEther по умолчанию разрешает VPN-клиентам использовать статический IP-адрес вне диапазона DHCP, поэтому UFW может выполнять переадресацию портов (с отключенной переадресацией IP) следующим образом:
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 1234 -j DNAT --to 192.168.7.3:1234
COMMIT
Отличная особенность такого подхода заключается в том, что SoftEther будет соединять широковещательный трафик таким образом, что такие вещи, как mDNS и uPNP, будут работать правильно, а сервер будет отображаться как MyServer.local на панели Explorer клиентских компьютеров, которые подключаются с совместимым VPN-клиентом.,