一位客戶最近更改了他們的 VPN 伺服器,現在推薦 ShrewSoft 作為合適的客戶端。
在 Windows 上,提供的設定有效。在 Linux 上,它還出現連接並設定tap0
網路介面卡與正確網路中的裝置。然而,我似乎根本無法通過任何交通。
客戶說:
Oct 16 11:24:42 vpn-lbe ikec[10887]: >> : esp proposal configured
Oct 16 11:24:42 vpn-lbe ikec[10887]: >> : client configured
Oct 16 11:24:42 vpn-lbe ikec[10887]: >> : local id configured
Oct 16 11:24:42 vpn-lbe ikec[10887]: >> : remote id configured
Oct 16 11:24:42 vpn-lbe ikec[10887]: >> : pre-shared key configured
Oct 16 11:24:42 vpn-lbe ikec[10887]: ii : bringing up tunnel ...
Oct 16 11:24:42 vpn-lbe ikec[10887]: >> : network device configured
Oct 16 11:24:42 vpn-lbe ikec[10887]: ii : tunnel enabled
它還設定一個tap0
帶有 IP 位址的介面並在正確的網路中廣播:
tap0: flags=67<UP,BROADCAST,RUNNING> mtu 1380
inet 192.168.5.213 netmask 255.255.255.0 broadcast 192.168.5.255
inet6 fe80::f09b:eaff:feb1:8548 prefixlen 64 scopeid 0x20<link>
ether f2:9b:ea:b1:85:48 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
(請注意,這沒有顯示任何資料包。)
這似乎是一個普遍存在的問題,沒有明確的解決方案。例如,這個 ServerFault 問題提到停用rp_filter
, 所以我做了:
$ sysctl -a | grep -i rp_filter
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.arp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.eth0.arp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
net.ipv4.conf.lo.arp_filter = 0
net.ipv4.conf.lo.rp_filter = 0
這似乎表明 ShrewSoft 程式碼庫中需要進行一些更改,以使其與較新的 Linux 版本相容。那是對的嗎?是否有人嘗試分叉它和/或是否有替代的 IPSec 用戶端?