按照 Strongswan wiki 链接为 Windows 7 客户端配置 Strongswan: http://wiki.strongswan.org/projects/strongswan/wiki/Win7EapMultipleConfig
我按原样使用了示例文件,除了 strongswan.conf 之外没有任何更改。
[ipsec.conf]
与 wiki 上的一样
[ipsec.秘密]
与 wiki 上的一样
[strongswan.conf]
# diff /etc/strongswan.conf /etc/strongswan.conf.template
4,6c4,7
< dns1 = 8.8.8.8
< dns2 = 8.8.4.4
< nbns1 = 192.168.0.1
---
> dns1 = 62.2.17.60
> dns2 = 62.2.24.162
> nbns1 = 10.10.1.1
> nbns2 = 10.10.0.1
dns 服务器 8.8.8.8 和 .4.4 是 Google DNS 服务器。192.168.0.1 是路由器 IP。
问题
我可以使用 Windows 7 顺利登录 VPN,但远程客户端没有任何连接。客户端从 Strongswan 获取 dhcp IP:10.10.3.1,网络掩码为 255.255.255.255,默认网关为 0.0.0.0。从远程 PC,我可以 ping Strongswan 服务器 IP(192.168.0.50),但无法 ping 任何其他内容,甚至无法 ping 192.168.0.1 的路由器。
答案1
所有解决方案均归功于上述博客。
(以下内容是从博客复制粘贴的)
在内核中启用 IPv4 转发。您可以通过以下语句执行此操作:
echo 1 > /proc/sys/net/ipv4/ip_forward
但是,为了使其持久,即在重启时自动执行,请修改 /etc/sysctl.conf 并取消注释等效行。
接下来,启用 NAT。将占位符替换为 VPN 服务器的实际 IP 地址。
iptables -A POSTROUTING -t NAT -j SNAT --to-source <VPN IP Address>
此行告诉 netfilter 重写数据包,以便将源 IP 替换为 VPN 的 IP 地址。
在我的情况下,<VPN IP Address>
= 192.168.0.50