如何通过 UFW 连接到 CISCO VPN

如何通过 UFW 连接到 CISCO VPN

我正在运行 Ubuntu 11.04(64 位版本),并希望能够连接到我公司的 VPN 服务器(CISCO)。当我禁用 UFW 时,我能够连接到 VPN 服务器,但是,尽管进行了各种尝试,我还是找不到在 UFW 中输入的正确规则,以便在启用 UFW 时调解此连接(网络管理器一直说我的连接失败)。

我安装了以下软件包:

  • 虚拟专用网络
  • 网络管理器-vpnc
  • 网络管理器-pptp
  • 网络管理器-pptp-gnome
  • 网络管理器-vpnc-gnome
  • pptp-linux

以下是我的 UFW 规则:

443/tcp                    ALLOW       Anywhere
143                        ALLOW       Anywhere
Samba                      ALLOW       Anywhere
53,137,138/udp             ALLOW OUT   Anywhere
20,21,22,25,80,139,443,5900,8001/tcp ALLOW OUT   Anywhere
23399                      ALLOW OUT   Anywhere
19294/tcp                  ALLOW OUT   Anywhere
19295/udp                  ALLOW OUT   Anywhere
19302/udp                  ALLOW OUT   Anywhere
1863,5222,5223,6667,8010/tcp ALLOW OUT   Anywhere
6891:6900,6901/udp         ALLOW OUT   Anywhere
6891:6900,6901/tcp         ALLOW OUT   Anywhere
15399                      ALLOW OUT   Anywhere
5269/tcp                   ALLOW OUT   Anywhere
993/tcp                    ALLOW OUT   Anywhere
587/tcp                    ALLOW OUT   Anywhere
Anywhere                   DENY OUT    Anywhere  

在运行 10.10 和 Firestarter 时,我在 /etc/firestarter/user-pre 中输入以下几行后,就能连接到同一个 VPN 服务器:

iptables -A INPUT -j ACCEPT -s xxx.xxx.xx.xxx -p esp
iptables -A INPUT -j ACCEPT -s xxx.xxx.xx.xxx -p udp -m multiport --sports isakmp,10000
iptables -A INPUT -j ACCEPT -i tun+
iptables -A OUTPUT -j ACCEPT -d xxx.xxx.xx.xxx -p esp
iptables -A OUTPUT -j ACCEPT -d xxx.xxx.xx.xxx -p udp -m multiport --dports isakmp,10000
iptables -A OUTPUT -j ACCEPT -o tun+

(xxx.xxx.xxx.xxx 被替换为我的服务器的 IP 地址)

那么,在 UFW 中输入哪些规则才能与 Firestarter 作为防火墙运行时的规则相匹配呢?更一般地说,我应该在 UFW 中使用哪些设置才能使连接正常工作?

答案1

我简直不敢相信:我解决了它!

这些是我在 /etc/ufw/before.rules 中添加的行:

-A ufw-before-input -s xxx.xxx.xxx.xxx -p esp -j ACCEPT 
-A ufw-before-input -s xxx.xxx.xxx.xxx -p udp -m multiport --sports isakmp,10000 -j ACCEPT 
-A ufw-before-input -i wlan0 -j ACCEPT 
-A ufw-before-output -d xxx.xxx.xxx.xxx -p esp -j ACCEPT 
-A ufw-before-output -d xxx.xxx.xxx.xxx -p udp -m multiport --sports isakmp,10000 -j ACCEPT 
-A ufw-before-output -o wlan0 -j ACCEPT

在之前的尝试中,我犯了两个错误:

  1. 我将一些代码从 LibreOffice Writer 复制到 gedit,但没有注意到自动更正系统已将两个破折号替换为一个长破折号。
  2. 虽然 firestarter 需要允许访问(作为输入和输出)“tun+”接口,但 ufw 需要允许我用于联系 VPN 服务器的接口(在我的情况下是 wlan0)进行此访问。

相关内容