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
Другие вопросы по тегам