我用strongswan建立了一个站点到站点的VPN。我们有以下设置:
网络 A - VPN Gate A - VPN Gate B - 网络 B
让我们假设: NET A 是 10.2.0.0/24 NET B 是 172.18.0.0/24
VPN Gate A 能够访问 NET B 中的主机。 VPN Gate A 有一个属于 NET A 的 IP 10.2.0.4
NET A 包含一个主机,我们称之为主机 1, 10.2.0.2 NET B 包含一个主机,我们称之为主机 2, 172.18.0.33
VPN 门
/etc/swanctl/conf.d/site2site.conf
connections {
foo-bar {
local_addrs = GATE A
remote_addrs = GATE B
local {
auth = psk
id = GATE A
}
remote {
auth = psk
id = GATE B
}
children {
net-net {
local_ts = 10.2.0.0/24
remote_ts = 172.18.0.0/24
rekey_time = 90m
esp_proposals = aes256-sha384-modp4096
start_action=start
}
}
version = 2
mobike = no
keyingtries=0
reauth_time =0s
proposals = aes256-sha384-modp4096
}
}
secrets {
ike-1 {
id-1a = GATE A
id-1b = GATE B
secret = ****
}
}
平板电脑
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 172.18.0.0/24 10.2.0.0/24 policy match dir in pol ipsec reqid 1 proto esp
ACCEPT all -- 10.2.0.0/24 172.18.0.0/24 policy match dir out pol ipsec reqid 1 proto esp
/etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
主机 1
为了让主机 1 与主机 2 通信,我尝试建立一条路由:
ip route add 10.2.0.4/32 dev enp8s0
ip route add 172.18.0.0/24 via 10.2.0.4
之前的现有路线:
ip route
default via xxx dev eth0
10.2.0.0/24 via 10.2.0.1 dev enp8s0
10.2.0.1 dev enp8s0 scope link
xxx dev eth0 scope link
在添加路由之前,我可以 ping VPN GATE A 的地址,之后我就没有了。
我的错在哪里?