UFW & VPN: как разрешить переподключение
Вот правила моего брандмауэра:
deny outgoing
deny incoming
allow out from any to any on tun0 (alow just the traffic from the VPN)
Тем не менее, я вынужден отключить UFW, когда я хочу, чтобы начать свое VPN-соединение от менеджера сети GNOME. Тем не менее, я попробовал что-то вроде:
allow out from any to any on wlan0 port 1194
Но это не работает.
Какие-либо предложения?
РЕШЕНИЕ:
Эти следующие строки позволяют блокировать весь исходящий трафик NON-VPN. Другими словами, разрешен только трафик VPN. Кроме того, в случае сбоя VPN-подключения вы сможете восстановить соединение без отключения брандмауэра.
1 - Запустите следующую команду в терминале:
sudo tail -f /var/log/ufw.log
2 - Попробуйте подключиться к вашему VPN
3 - Посмотрите на все строки "[UFW BLOCK]" с IP-адресом. В моем случае у меня есть два IP-адреса с DST =.,.240 и DST = "..241.
Тогда у меня есть Ip, данный моим VPN, который также заблокирован.
3 - Разрешить эти IP в вашем брандмауэре:
To Action From
-- ------ ----
***.**.**.240 ALLOW OUT Anywhere
***.**.**.241 ALLOW OUT Anywhere
**.***.0.0/18 (VPN) ALLOW OUT Anywhere
Anywhere ALLOW OUT Anywhere on tun0
22/tcp ALLOW OUT Anywhere
Anywhere (v6) ALLOW OUT Anywhere (v6) on tun0
22/tcp (v6) ALLOW OUT Anywhere (v6)
1 ответ
На основе port 1194
Я полагаю, вы используете OpenVPN. Документация OpenVpn в FAQ рекомендуется
Какие порты мне нужно открыть в брандмауэре для Access Server?
Краткий ответ: TCP 443, TCP 943, UDP 1194 Длинный ответ: по умолчанию на сервере доступа OpenVPN запущено 2 демона OpenVPN. Один из них на UDP-порту 1194, а другой на TCP 443. Мы рекомендуем использовать UDP-порт, поскольку он лучше работает для туннеля OpenVPN. Однако многие общедоступные местоположения блокируют все виды портов, кроме очень распространенных, таких как http, https, ftp, pop3 и так далее. Поэтому у нас также есть TCP 443 в качестве опции. TCP-порт 443 является портом по умолчанию для трафика https:// (SSL), поэтому обычно он разрешается в местоположении пользователя. TCP-порт 943 - это порт, по которому интерфейс веб-сервера прослушивает по умолчанию. Вы можете обратиться к этому напрямую, используя URL-адрес, такой как https://yourserverhostnamehere:943/ или подойти к нему через стандартный https: // порт TCP 443, так как демон OpenVPN автоматически направит трафик браузера по умолчанию на TCP 943. ( https://yourserverhostnamehere/).
Но я рекомендую с поля битвы разрешить весь трафик с IP-адреса сервера vpn.
sudo ufw allow from ip_address_of_vpn_server
Не указывайте прото, потому что OpenVPN использует оба, tcp
а также udp
Редактировать 1
Также вы можете создать скрипт для автоматического переподключения при tun0
является down
,
Добавьте простой скрипт в caled tun-up
в /etc/network/if-down.d/
какой контент
#!/bin/sh
# filename: tun-up
if [ "$IFACE" = tun0 ]; then
sudo ifup tun0
fi
сделать его исполняемым
sudo chmod +x /etc/network/if-up.d/tun-up
Редактировать 2
Хорошо, мы разрешаем неправильный адрес. Сначала нам нужно поймать правильный IP-адрес, чтобы разрешить трафик.
Начните terminal
и запустить команду
tail -f /var/log/system | grep UFW
затем попробуйте подключиться к VPN-серверу. В терминале вы увидите блокировку
May 25 08:18:22 xxx kernel: [259789.025019] [UFW BLOCK] IN=eth0 OUT= MAC=01:00:5e:00:00:01:00:23:cd:f4:8c:29:08:00 SRC=XXX.XXX.XXX.XXX
В блоке найти SRC=XXX.XXX.XXX.XXX
, это адрес, который отправляет вам трафик, в большинстве случаев это будет публичный IP-адрес сервера vpn.
Этот IP-адрес должен добавить в ufw
Правила первого, пожалуйста, потому что вы говорите и обмениваетесь трафиком с этим адресом, прежде чем tun0
вверх.
Правило
sudo ufw insert 1 allow from XXX.XXX.XXX.XXX