![终于让我的 win 7 连接到 strongSwan VPN,但没有互联网](https://linux22.com/image/1360070/%E7%BB%88%E4%BA%8E%E8%AE%A9%E6%88%91%E7%9A%84%20win%207%20%E8%BF%9E%E6%8E%A5%E5%88%B0%20strongSwan%20VPN%EF%BC%8C%E4%BD%86%E6%B2%A1%E6%9C%89%E4%BA%92%E8%81%94%E7%BD%91.png)
我相信我已经遵循了所有说明,并且我的 win 7 确实已连接,但没有互联网。
背景:
服务器操作系统:linode xen VPS 上的 ubuntu 12.04
strongSwan 版本:4.6.4
配置/etc/ipsec.conf:
config setup
charonstart=yes
plutostart=yes
nat_traversal=yes
uniqueids=yes
conn ios
keyexchange=ikev1
authby=xauthpsk
xauth=server
left=%defaultroute
leftsubnet=0.0.0.0/0
leftfirewall=yes
right=%any
rightsubnet=10.11.0.0/24
rightsourceip=10.11.0.0/24
pfs=no
auto=add
conn win7
keyexchange=ikev2
ike=aes256-sha1-modp1024!
esp=aes256-sha1!
dpdaction=clear
dpddelay=300s
rekey=no
left=%defaultroute
leftsubnet=0.0.0.0/0
leftauth=pubkey
leftcert=serverCert.pem
leftid="C=CH, O=strongSwan, CN=VPS ip"
right=%any
rightsourceip=10.11.1.0/24
rightauth=eap-mschapv2
rightsendcert=never
eap_identity=%any
auto=add
添加 DNS/etc/strongswan.conf:
charon {
dns1 = 8.8.8.8
dns2 = 208.67.222.222
...
pluto {
dns1 = 8.8.8.8
dns2 = 208.67.222.222
...
添加用户/etc/ipsec.secrets:
: PSK "mypskpass"
user1 : XAUTH "pass1"
: RSA serverKey.pem
user2 : EAP "pass2"
#include /var/lib/strongswan/ipsec.secrets.inc
增加了一些新规则/etc/iptables.firewall.rules
*filter
# Accept IPsec VPN connections
-A INPUT -p udp --dport 500 -j ACCEPT
-A INPUT -p udp --dport 4500 -j ACCEPT
-A FORWARD -s 10.11.0.0/24 -j ACCEPT
-A FORWARD -s 10.11.1.0/24 -j ACCEPT
COMMIT
*nat
# Allow IPsec VPN connections
-A POSTROUTING -s 10.11.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.11.1.0/24 -o eth0 -j MASQUERADE
COMMIT
和激活 iptables 规则:
iptables-restore < /etc/iptables.firewall.rules
然后重新启动 ipsec:
ipsec restart
到目前为止,我的 iOS 设备可以连接到它并且一切正常。
之后我为服务器和客户端生成了证书,然后将.pem转换为.p12并将其导入win 7。
好的方面是,我的 win 7 现在可以连接到 vps(,但是没有互联网连接。
我真的不知道哪个部分出了问题,有人可以帮帮我吗?
谢谢
答案1
您已leftfirewall=yes
在 iOS 连接中配置,但尚未在其他连接中配置。启用此选项后,将为每个连接的客户端安装额外的防火墙规则。此外,如果网关和客户端之间没有 NAT,则您必须允许和链中的 ESP 流量,INPUT
因为OUTPUT
流量不会被 UDP 封装。
-A INPUT -i eth0 -p esp -j ACCEPT
-A OUTPUT -o eth0 -p esp -j ACCEPT