将 VPN 例外(允许协议)添加到 UFW 防火墙规则?

将 VPN 例外(允许协议)添加到 UFW 防火墙规则?

当防火墙 (UFW) 处于活动状态时,我在工作中无法连接到工作 VPN。当我禁用它“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

我如何添加例外?

太感谢了。

答案1

PPTP vpn 用户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

答案2

我遇到了与 Mookey 相同的问题,但我可以确认 2707974 的解决方案对我有用!

让我们一步一步地看一下。

如果在登录时将 Gufw 设置为 incomming:deny 和 outgoing:allow。那么如果我打开 VPN,与我的 VPN 提供商的第一次联系通常会被允许,没有任何规则。当 VPN 提供商回拨时,他的电话会被阻止。

[UFW 阻止] 输入=wlan0 输出=MAC=49:........:10SRC=yyy.yyy.yyy.yyy DST=xxx.xxx.xxx.xxx LEN=55 TOS=0x00 PREC=0x00 TTL=49 ID=33716原始=47

x = 我,y = 我的 vpn 提供商。

它被多种原因、传入 IP 和协议 47 阻止。

现在,当再次关闭 Gufw 并启动 vpn 时, netstat -nautp会看到:

tcp 0 0 xxx.xxx.xxx.xxx:50798 yyy.yyy.yyy.yyy:1723 已建立 -

EDIT 1 of 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 规则的处理时间比允许 IP 规则要早得多。只要有协议 47 的数据包传入,就会允许它。如果 IP 地址不符合要求,就不会拒绝。

当您从 ufw 中删除 ip 规则时,您可以看到发生的情况。 sudo ufw delete 1(不要忘记再次禁用/启用 ufw)VPN 仍将正常工作。

我非常肯定您不希望每个主机的每个数据包都进入您的系统,因为它是 GRE 协议。更安全的做法是包含您的 VPN 提供商的 IP,这样他就是唯一的。

将 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 规则。

希望这对你有帮助。干杯!

答案3

检查您的 Iptables,也许有一些规则也阻止了您的 VPN 连接。

iptables -L

ACCEPTVPN 连接INPUT也适用于OUTPUTIptables。

iptables -A INPUT -p tcp --dport 47 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 47 -j ACCEPT

如果 VPN 连接正常,则保存规则

iptables-save

答案4

我也遇到了同样的问题,最后找到了一个好方法:

  1. 创建一条规则,仅允许来自 IP xx.xx.xx.xx 的 VPN 的 1723 端口的传入流量:

    sudo ufw allow from xx.xx.xx.xx to any port 1723
    
  2. 创建一条规则,仅允许来自 IP xx.xx.xx.xx 的 VPN 的传入 GRE 流量:

    sudo ufw allow from xx.xx.xx.xx proto gre
    
  3. 如果需要重新启动 UWF

    sudo ufw reload
    

通过这种方式,ufw 可以为你管理 iptables 或 nftables

笔记 :如果您想要一条不太安全的规则,允许任何 IP 连接到您的计算机,则可以将“xx.xx.xx.xx”替换为“any”。

相关内容