首页 > 解决方案 > 将局域网流量转发到 VPN IPsec

问题描述

我在 Linux 中使用 docker 容器来设置 IPsec ike 连接,特别是它是一个 stono/ike 容器。

docker run -d --privileged --net=host -v sites:/sites stono/ike:latest site user password

此容器在主机中引发一个 tap0 接口,并为 VPN 的每个子网创建路由。VPN 在 192.168.50.0/24 范围内为我提供了一个 IP 作为客户端,并允许我从中访问这是路由表:

192.168.50.0/24 via 192.168.50.14 dev tap0 proto static
192.168.51.0/24 via 192.168.50.14 dev tap0 proto static
192.168.52.0/24 via 192.168.50.14 dev tap0 proto static
....

如何在我的局域网上共享这些网络?

iptables -A FORWARD -i eth0 -j ACCEPT 
iptables -A FORWARD -o tap0 -j ACCEPT 
iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE

最后,我在局域网中的另一台计算机上创建了静态路由,但我只能 ping ip 192.168.50.14,由 VPN 服务器在 tap0 接口中分配给我的 ip,该网络中的其余主机,或其他的,我无权访问。

sudo ip route add 192.168.50.0/24 via 192.168.1.202
sudo ip route add 192.168.51.0/24 via 192.168.1.202
...

标签: routesvpniptableslan

解决方案


如果您使 NAT 规则更明确,会发生什么?(我假设 192.168.1.0/24 是你的局域网范围)

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.50.14

推荐阅读