1. Отключение Dynamic DNS
По умолчанию данная функция включена в SoftEther и с ее помощью VPN-серверу выдается собственное доменное имя третьего уровня вида vpn<какое-то число>.softether.net, которое при необходимости можно заменить на другое свободное.Сама по себе данная функция Dynamic DNS полезна, но если:
- у вас есть собственный домен и вы хотите использовать свое доменное имя для VPN-сервера, соответственно данное альтернативное имя Вам не нужно;
- вы лишний раз не хотите "светить" свой VPN-сервер, потому что по известному шаблону доменного имени можно быстро насканировать десятки VPN-серверов.
Отключается Dynamic DNS только через файл конфигурации. В конфиге ищем раздел:
declare DDnsClient
а в нем значениеbool Disabled false
меняем наbool Disabled true
Изменить конфиг можно через раздел Edit Config в Server Manager: конфиг нужно сохранить в файл Save to File, изменить параметр и импортировать измененный конфиг Import File and Apply. В данном случае изменения вступят в силу сразу же. Также конфиг можно поправить напрямую на VPN-сервере в файле:
/usr/local/vpnserver/vpn_server.config
но сначала нужно остановить VPN-сервер/etc/init.d/vpnsrver stop
После редактирования файла запустить сервер/etc/init.d/vpnserver start
2. Отключение NATTraversal
Еще одна полезная функция, которая помогает установить подключение к VPN-серверу в том случае если он находится за Firewall - NATTraversal. В данном случае VPN-сервер может находиться вообще в локальной сети с "серым" ip-адресом.VPN-север периодически отправляет UDP-пакеты служебному серверу SoftEther:
Функция полезная, если бы не "но":
- в вышеописанном случае можно подключиться только с помощью SoftEther VPN Client;
- большинтво VPS имеют "белый" ip-адрес;
- зачастую ненужный "паразитный" трафик.
declare ServerConfiguration
параметрbool DisableNatTraversal false
меняем наbool DisableNatTraversal true
Далее идем по следующим разделам конфигаdeclare VirtualHUB -> declare <название хаба> -> declare Option
ищем параметрbool DisableUdpAcceleration false
меняем наbool DisableUdpAcceleration true
Сохраняем конфиг, применяем. При необходимости перезагружаем сервер.3. Отключение ненужных портов
По умолчанию SoftEther VPN прослушивает 4 порта TCP (не считая тех , которые используются для VPN): 443, 992, 1194, 5555. С помощью Server Manager или с помощью CLI vpncmd можно управлять сервером через любой указанный порт (по умолчанию используется 443), что очень грамотно и удобно. Более подробно про данные порты описано в руководстве. Я же рекомендую отключать лишние порты. Для примера оставим только порт 5555.В Server Manager в разделе Management of Listeners нужно выбрать порты 443, 992, 1194 и нажать Stop. В CLI vpncmd выполнить команды:
> ListenerDisable 443
> ListenerDisable 992
> ListenerDisable 1194
4. Настройка iptables
У многих компаний, предоставляющих услуги VPS, отсутствует возможность настройки правил фильтрации трафика в панели управления VPS и в данном случае можно (и нужно!) обойтись настройкой iptables, который есть в большинстве дистрибутивов Linux.Для начала стоит определиться с тем что пропускать, а что блокировать. Распишем наши правила фильтрации:
- подключаться по SSH для управления VPS;
- подключаться к VPN-серверу для его управления;
- подключаться клиентам к VPN-серверу по L2TP/IPsec;
- подключаться клиентам к VPN-серверу по OpenVPN;
- все остальные входящие подключения должны быть заблокированы.
# Таблица FILTER
*filter
# Очищаем правила и счетчики
-F
-X
-Z
# Устанавливаем политики по умолчанию
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# Разрешаем уже установленные соединения
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Разрешаем весь трафик с localhost и виртуального TAP-интерфейса
-A INPUT -i lo -j ACCEPT
-A INPUT -i tap_vpn -j ACCEPT
# Разрешаем SHH
-A INPUT -i eth0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 22 -j ACCEPT
# Разрешаем управление VPN-сервером
-A INPUT -i eth0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 5555 -j ACCEPT
# Разрешаем OpenVPN
-A INPUT -i eth0 -p udp -m conntrack --ctstate NEW -m udp --dport 1194 -j ACCEPT
# Разрешаем IPsec
-A INPUT -i eth0 -p udp -m conntrack --ctstate NEW -m multiport --dports 500,4500 -j ACCEPT
COMMIT
# Таблица NAT
*nat
-F
-X
-Z
# Политики по умолчанию
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# Разрешаем NAT для трафика с виртуального интерфейса на внешний
-A POSTROUTING -s 192.168.230.0/24 -j SNAT --to-source <IP-адрес eth0>
COMMIT
Сохраняем правила в iptables-rules.txt (не забываем в последнем правиле указать ip-адрес) и применяем их:iptables-restore < iptables-rules.txt
Также не стоит забывать про установку пакета iptables-persistent для сохранения правил фильтрации iptables после перезагрузки.apt-get install iptables-persistent -y
На этом часть "доработок напильником" нашего VPN-сервера будем считать завершенной.Если у вас есть пробложения и дополнения, то смело пишите в комментариях. При необходимости добавлю в статью.
Источники:
Stop connection to...vpnserver call home...
только автор забыл ОЧЕНЬ существенный пункт adminip.txt
ОтветитьУдалитьпочитайте на досуге
А нет инфы как скинуть пароль админа?
ОтветитьУдалитьпароль админа чего? хаба? сервера?
УдалитьА ни кто не сталкивался с проблемой, что Linux Client получает почему то ipv6?
ОтветитьУдалитьСамая лучшая статья по настройке, автору плюс. Спасибо бльшушее
ОтветитьУдалить