Добавление VPN в брандмауэр UFW
У меня проблемы на работе при подключении к рабочему VPN, пока активен брандмауэр (UFW). Когда я отключаю его "sudo ufw disable", проблем нет.
Когда он включен, при попытке подключения я получаю следующее
Apr 14 09:57:59 gaj-Lenovo-Z51-70 kernel: [ 2105.983679] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=161.53.97.58 DST=10.111.100.55 LEN=89 TOS=0x00 PREC=0x00 TTL=121 ID=13425 PROTO=47
Apr 14 09:57:59 gaj-Lenovo-Z51-70 kernel: [ 2105.996395] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=161.53.97.58 DST=10.111.100.55 LEN=60 TOS=0x00 PREC=0x00 TTL=121 ID=13426 PROTO=47
Apr 14 09:58:02 gaj-Lenovo-Z51-70 kernel: [ 2109.042945] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=161.53.97.58 DST=10.111.100.55 LEN=60 TOS=0x00 PREC=0x00 TTL=121 ID=13427 PROTO=47
Apr 14 09:58:03 gaj-Lenovo-Z51-70 kernel: [ 2110.040506] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=161.53.97.58 DST=10.111.100.55 LEN=89 TOS=0x00 PREC=0x00 TTL=121 ID=13428 PROTO=47
Apr 14 09:58:05 gaj-Lenovo-Z51-70 kernel: [ 2112.061598] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=161.53.97.58 DST=10.111.100.55 LEN=60 TOS=0x00 PREC=0x00 TTL=121 ID=13429 PROTO=47
Apr 14 09:58:07 gaj-Lenovo-Z51-70 kernel: [ 2113.994401] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=161.53.97.58 DST=10.111.100.55 LEN=89 TOS=0x00 PREC=0x00 TTL=121 ID=13430 PROTO=47
Apr 14 09:58:08 gaj-Lenovo-Z51-70 kernel: [ 2115.012322] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=161.53.97.58 DST=10.111.100.55 LEN=60 TOS=0x00 PREC=0x00 TTL=121 ID=13431 PROTO=47
Apr 14 09:58:11 gaj-Lenovo-Z51-70 kernel: [ 2117.994069] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=161.53.97.58 DST=10.111.100.55 LEN=89 TOS=0x00 PREC=0x00 TTL=121 ID=13432 PROTO=47
Apr 14 09:58:11 gaj-Lenovo-Z51-70 kernel: [ 2118.017850] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=161.53.97.58 DST=10.111.100.55 LEN=60 TOS=0x00 PREC=0x00 TTL=121 ID=13433 PROTO=47
Apr 14 09:58:15 gaj-Lenovo-Z51-70 kernel: [ 2122.002641] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=161.53.97.58 DST=10.111.100.55 LEN=89 TOS=0x00 PREC=0x00 TTL=121 ID=13435 PROTO=47
Apr 14 09:58:17 gaj-Lenovo-Z51-70 pppd[11718]: LCP: timeout sending Config-Requests
Apr 14 09:58:17 gaj-Lenovo-Z51-70 pppd[11718]: Connection terminated.
Apr 14 09:58:17 gaj-Lenovo-Z51-70 NetworkManager[1620]: <warn> VPN plugin failed: 1
Apr 14 09:58:17 gaj-Lenovo-Z51-70 NetworkManager[1620]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Apr 14 09:58:17 gaj-Lenovo-Z51-70 pppd[11718]: Modem hangup
Apr 14 09:58:17 gaj-Lenovo-Z51-70 pptp[11722]: nm-pptp-service-11714 warn[decaps_hdlc:pptp_gre.c:204]: short read (-1): Input/output error
Apr 14 09:58:17 gaj-Lenovo-Z51-70 pptp[11722]: nm-pptp-service-11714 warn[decaps_hdlc:pptp_gre.c:216]: pppd may have shutdown, see pppd log
Apr 14 09:58:17 gaj-Lenovo-Z51-70 pptp[11731]: nm-pptp-service-11714 log[callmgr_main:pptp_callmgr.c:234]: Closing connection (unhandled)
Apr 14 09:58:17 gaj-Lenovo-Z51-70 pptp[11731]: nm-pptp-service-11714 log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 12 'Call-Clear-Request'
Apr 14 09:58:17 gaj-Lenovo-Z51-70 pptp[11731]: nm-pptp-service-11714 log[call_callback:pptp_callmgr.c:79]: Closing connection (call state)
Apr 14 09:58:17 gaj-Lenovo-Z51-70 pppd[11718]: Exit.
Apr 14 09:58:17 gaj-Lenovo-Z51-70 NetworkManager[1620]: <warn> VPN plugin failed: 1
Apr 14 09:58:17 gaj-Lenovo-Z51-70 NetworkManager[1620]: <warn> VPN plugin failed: 1
Apr 14 09:58:17 gaj-Lenovo-Z51-70 NetworkManager[1620]: <info> VPN plugin state changed: stopped (6)
Apr 14 09:58:17 gaj-Lenovo-Z51-70 NetworkManager[1620]: <info> VPN plugin state change reason: 0
Apr 14 09:58:17 gaj-Lenovo-Z51-70 NetworkManager[1620]: <info> Policy set 'eduroam' (wlan0) as default for IPv4 routing and DNS.
Apr 14 09:58:17 gaj-Lenovo-Z51-70 NetworkManager[1620]: <warn> error disconnecting VPN: Could not process the request because no VPN connection was active.
Apr 14 09:58:22 gaj-Lenovo-Z51-70 NetworkManager[1620]: <info> VPN service 'pptp' disappeared
Apr 14 09:58:24 gaj-Lenovo-Z51-70 kernel: [ 2130.359917] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=198.252.206.25 DST=10.111.100.55 LEN=110 TOS=0x00 PREC=0x00 TTL=48 ID=12127 DF PROTO=TCP SPT=443 DPT=38605 WINDOW=37 RES=0x00 ACK PSH URGP=0
Apr 14 09:58:24 gaj-Lenovo-Z51-70 kernel: [ 2130.792401] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=198.252.206.25 DST=10.111.100.55 LEN=110 TOS=0x00 PREC=0x00 TTL=48 ID=12128 DF PROTO=TCP SPT=443 DPT=38605 WINDOW=37 RES=0x00 ACK PSH URGP=0
Apr 14 09:58:24 gaj-Lenovo-Z51-70 kernel: [ 2131.268906] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=198.252.206.25 DST=10.111.100.55 LEN=110 TOS=0x00 PREC=0x00 TTL=48 ID=12129 DF PROTO=TCP SPT=443 DPT=38605 WINDOW=37 RES=0x00 ACK PSH URGP=0
Apr 14 09:58:25 gaj-Lenovo-Z51-70 kernel: [ 2132.221763] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=198.252.206.25 DST=10.111.100.55 LEN=110 TOS=0x00 PREC=0x00 TTL=48 ID=12130 DF PROTO=TCP SPT=443 DPT=38605 WINDOW=37 RES=0x00 ACK PSH URGP=0
Apr 14 09:58:27 gaj-Lenovo-Z51-70 kernel: [ 2134.125750] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=198.252.206.25 DST=10.111.100.55 LEN=110 TOS=0x00 PREC=0x00 TTL=48 ID=12131 DF PROTO=TCP SPT=443 DPT=38605 WINDOW=37 RES=0x00 ACK PSH URGP=0
Apr 14 09:58:31 gaj-Lenovo-Z51-70 kernel: [ 2137.937259] [UFW BLOCK] IN=wlan0 OUT= MAC=b4:6d:83:e4:ce:8d:00:22:19:6b:e0:22:08:00 SRC=198.252.206.25 DST=10.111.100.55 LEN=110 TOS=0x00 PREC=0x00 TTL=48 ID=12132 DF PROTO=TCP SPT=443 DPT=38605 WINDOW=37 RES=0x00 ACK PSH URGP=0
Как я могу добавить исключение?
Бесконечно благодарен.
3 ответа
PPTP vpn user port 47
ака GRE
, Чтобы разрешить этот трафик, отредактируйте /etc/ufw/before.rules
и добавить в конец файла
sudo nano /etc/ufw/before.rules
этот
# gre
-A ufw-before-input -p 47 -j ACCEPT
-A ufw-before-output -p 47 -j ACCEPT
Затем отключите, включите ufw
sudo ufw disable
sudo ufw enable
РЕДАКТИРОВАТЬ 1
Правила должны быть размещены в /etc/ufw/before.rules
перед сегментом # drop INVALID packets ...
тогда снова
sudo ufw disable
sudo ufw enable
У меня та же проблема, что и у Mookey, но я могу подтвердить, что решение на 2707974 работает для меня!
Давайте посмотрим это шаг за шагом.
Если для Gufw установлено значение comming:deny and outgoing: разрешить вход в систему. Затем, если я включаю VPN, первый контакт с моим провайдером VPN разрешается без каких-либо правил. Когда провайдер VPN перезванивает, его звонок блокируется.
[UFW BLOCK] IN = wlan0 OUT = MAC = 49:........: 10 SRC = yyy.yyy.yyy.yyy DST = xxx.xxx.xxx.xxx LEN = 55 TOS = 0x00 PREC = 0x00 TTL = 49 ID = 33716 PROTO = 47
x = я, y = мой провайдер vpn.
Это заблокировано комбинацией причин, входящего ip и протокола 47.
Теперь, когда снова выключите Gufw и запустите vpn.netstat -nautp
видит:
tcp 0 0 xxx.xxx.xxx.xxx:50798 гггггггггггггг:1723 УСТАНОВЛЕНО -
РЕДАКТИРОВАТЬ 1 из 2707974 является правильным, но и должно быть вставлено точно в этом месте. Это позаботится о том, чтобы протокол 47 был разрешен. После этого вы можете добавить правило, разрешающее входящее соединение вашего провайдера vpn. Ты можешь использовать: sudo ufw allow yyy.yyy.yyy.yyy
и это работает. Вы даже можете включить порты (если вы уверены, что они не выбраны случайным образом)
sudo insert 1 allow from yyy.yyy.yyy.yyy port 1723 to xxx.xxx.xxx.xxx port 50798
Это тоже работает. Вы можете подумать, что вы улажены сейчас, но есть одна проблема безопасности. Правило протокола 47 обрабатывается намного раньше, чем правило allow ip. Как только есть входящий пакет протокола 47, это разрешено. Нет отклонения, если IP-адрес не подходит.
Вы можете видеть, что происходит, когда вы удаляете правило ip из ufw.sudo ufw delete 1
(не забудьте снова отключить / включить ufw)
VPN все равно будет работать.
Я уверен, что вы не хотите, чтобы каждый пакет каждого хоста входил в вашу систему только потому, что это протокол GRE. Более безопасным является включение IP-адреса вашего провайдера VPN, чтобы он был единственным.
Изменить EDIT 1 на:
-A ufw-before-input -p 47 -s <your vpn provider> -j ACCEPT
-A ufw-before-output -p 47 -s <your vpn provider> -j ACCEPT
Это работает и безопасно. Вы можете убедиться в этом сами, изменив указанный выше ip на неверный ip, и vpn перестает работать. Правило Gufw больше не нужно, хотя это было моим намерением. Я был бы очень признателен за работающее правило Gufw.
Надеюсь, это помогло вам. Ура!
Проверьте свои Iptables, возможно, есть некоторые правила, которые также блокируют ваше VPN-соединение.
iptables -L
ACCEPT
VPN-соединения для INPUT
также OUTPUT
в Iptables.
iptables -A INPUT -p tcp --dport 47 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 47 -j ACCEPT
Если VPN-соединение работает, сохраните правила
iptables-save