Я правильно установил и настроил Мягче на моем 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%, что это делает и почему.
Создание моста L2 с SoftEther в интерфейсе TAP, как это, по сути, является конфигурацией SecureNAT. SoftEther может делать все, что вы хотите, без dnsmasq или ufw.
Верните текущую конфигурацию и попробуйте вместо этого:
Шаг 5 и шаг 6 включают в SoftEther функции, которые делают то же самое, что и dnsmasq, за исключением того, что SoftEther не реализует сервер пересылки DNS. Не забудьте создать учетные записи пользователей в новом хабе. Игнорируйте все предупреждения о средах виртуальных машин.
Неочевидная особенность SoftEther заключается в том, что адрес шлюза 192.168.7.1 не привязан к серверу и недоступен с сервера. Если вы хотите, чтобы сервер обменивался данными с VPN-клиентами, сделайте это тоже:
Теперь поместите эту строфу в файл / 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 в панели проводника клиентских компьютеров, которые подключаются к совместимому клиенту VPN. .