更新

更新

我在 ArchLinux 系统上尝试连接到我公司的 VPN,该 VPN 由 Juniper SRX100H 提供服务。我尝试连接 Strongswan (5.5.3-3),似乎成功了:

Starting strongSwan 5.5.3 IPsec [starter]...
generating QUICK_MODE request 2638887156 [ HASH SA No KE ID ID ]
sending packet: from 192.168.1.204[4500] to 10.0.0.1[4500] (396 bytes)
received packet: from 10.0.0.1[4500] to 192.168.1.204[4500] (364 bytes)
parsed QUICK_MODE response 2638887156 [ HASH SA No KE ID ID ]
CHILD_SA test{2} established with SPIs cad5681f_i 4015b7bd_o and TS 192.168.1.204/32 === 192.168.32.0/24
connection 'test' established successfully

问题是,此后我无法 ping 除 10.0.0.1 之外的任何设备,它会返回响应。但我无法访问 192.168.32.0/24 内的任何对等设备。

我的 ipsec.conf 如下所示:

conn test
    left=%any
    [email protected]
    leftauth=psk
    leftauth2=xauth
    rightsubnet=192.168.32.0/24
    rightid=10.0.0.1
    rightauth=psk
    auto=start
    xauth_identity=USER
    esp=aes256-sha1-modp1536
    ike=aes256-sha2_256-modp1536
    aggressive=yes
    type=tunnel

的输出ip route show为:

default via 192.168.1.1 dev wlp3s0 proto static metric 600 
192.168.1.0/24 dev wlp3s0 proto kernel scope link src 192.168.1.204 metric 600

其他客户端(Windows)可以连接 NCP 安全客户端,所以我猜测这不是 Juniper 端的防火墙问题。

任何帮助,将不胜感激 :)

更新

输出iptables-save

# Generated by iptables-save v1.6.1 on Tue Aug  8 11:24:43 2017
*filter
:INPUT ACCEPT [5:2010]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7:999]
-A INPUT -s 192.168.32.0/24 -d 192.168.1.204/32 -i wlp3s0 -m policy --dir in --pol ipsec --reqid 1 --proto esp -j ACCEPT
-A OUTPUT -s 192.168.1.204/32 -d 192.168.32.0/24 -o wlp3s0 -m policy --dir out --pol ipsec --reqid 1 --proto esp -j ACCEPT
COMMIT
# Completed on Tue Aug  8 11:24:43 2017

charon_debug.log 在这里:https://pastebin.com/jYiqpLip

答案1

得到@ecdsa 通过 IRC 提供的帮助:

缺少的属性是leftsourceip=%configmodeconfig=push,因为 Juniper 正在将所需的设置推送到客户端。

答案2

这是我通过 ssh 连接到隧道另一端网络中的任何主机的解决方案。

允许 IPv4 转发

编辑 /etc/sysctl.conf 以允许在 Linux 内核中转发。

vi /etc/sysctl.conf

在文件中添加以下行。

net.ipv4.ip_forward=1

保存文件,然后应用更改。

sysctl -p

答案3

我猜这与 iptables 有关

尝试添加这个:

leftfirewall=yes
rightfirewall=yes

相关内容