OpenWrt 路由器 L2TP/IPSec 客户端中, NAT 情况下 strongSwan 配置请教

2014-12-30 20:48:42 +08:00
 neroanelli

我在OpenWrt路由器中配置了L2TP/IPSec客户端,最开始使用的是racoon+xl2tp实现的,能正常连接,并且在外网和NAT内网中都能正常使用。
后来觉得racoon不是很好用,有时候不能连接,于是就尝试使用strongSwan,在配置测试过程中,当OpenWrt路由器外网情况下,能正常使用;而当路由器为内网NAT的情况下,不能正常连接。我的ipsec.conf配置文件如下:

config setup
#charondebug = "ike 2,knl 2"
conn l2tp-psk-client
authby=psk
rekey=yes
type=transport
keyexchange=ikev1
keyingtries=3
left=%defaultroute
leftprotoport=17/1701
right=1.1.1.1
rightprotoport=17/1701
esp=aes256-sha1
ike=aes256-sha1-modp1024
auto=start

其中1.1.1.1为L2TP/IPSec服务器地址。

我使用的strongSwan版本为5.1.3,根据官方wiki,从5.0版本开始就取消了nat_traversal=yes参数。我搜索了一下,发现大量的资料和教程都是strongSwan作为server的,而client的配置介绍很少。而且strongSwan在更新过程中,配置文件在不停变化。
所以请教大家,在NAT情况下,是不是还有什么参数需要配置?有什么参数没有设置合理?

34537 次点击
所在节点    问与答
27 条回复
realsteve
2014-12-30 21:42:50 +08:00
如果是 IPSec 的话,推荐用 VPNC,稳定靠谱。
neroanelli
2014-12-30 21:47:51 +08:00
@realsteve
主要是服务器是别人提供的。。。只支持L2tp/IPSec
neroanelli
2014-12-31 09:44:19 +08:00
debiansid
2014-12-31 11:01:50 +08:00
需要一条iptables
neroanelli
2014-12-31 11:36:20 +08:00
@debiansid
请教具体是怎样iptables?
cattyhouse
2014-12-31 11:52:27 +08:00
为啥要l2tp?直接racoon或者strongswan建ipsec vpn服务器就行了,l2tp太麻烦!
debiansid
2014-12-31 12:26:48 +08:00
穿透打开没有 你的主路由器上
neroanelli
2014-12-31 13:29:24 +08:00
@cattyhouse
因为服务器是别人提供的,只有l2tp服务。。。
neroanelli
2014-12-31 13:30:32 +08:00
@debiansid
打开了的,使用racoon都能正常工作,只是使用strongswan连接不正常。
GPU
2014-12-31 17:17:35 +08:00
我正打算在路由器弄IKEv2客户端,还不清楚怎么弄
msp123
2015-01-12 17:45:31 +08:00
解决了吗?亲?我也遇到了这个问题
neroanelli
2015-01-12 21:43:04 +08:00
@msp123
问题已经解决,在配置文件中加入rightsubnet=0.0.0.0/0搞定。感谢各位。
msp123
2015-01-13 11:27:58 +08:00
如何关闭5.0的nat-travesal呢?您知道吗?
neroanelli
2015-01-13 15:31:26 +08:00
@msp123
5.0没有这个参数的,所以也不存在关闭。
参考链接 https://wiki.strongswan.org/projects/strongswan/wiki/NatTraversal
GPU
2015-01-20 18:33:16 +08:00
@neroanelli 国内debian 系统用 strongswan 链接国外的strongswan 应该怎么配置啊?

国外的strongswan 配置了ikev2 ikev2-eap ikev1
neroanelli
2015-01-21 09:14:22 +08:00
@GPU
你提供的信息有限啊。如果你有国外的strongSwan的配置文件那更好,简单修改就可以配置好。
你需要知道对方服务器是什么认证方式,是psk吗?还有esp、ike加密方式等。
GPU
2015-01-21 12:39:26 +08:00
@neroanelli 对方服务器也是我自己搭建,有所有管理权限 。我只是不知道怎么修改配置文件在client 使用

我是 psk 也有 esp ike 都有。

下面是配置文件 (github账号又被认定机器人了,解封中无法用gist)

我是使用泛域名证书验证的

config setup
charondebug="cfg -1, dmn -1, ike -1, net -1, enc -1"
##charondebug="-1"
uniqueids = no
conn %default
keyexchange=ikev2
dpdaction=clear
dpddelay=5s
rekey=no
left=%any
leftsubnet=0.0.0.0/0
leftcert=server.pem
leftsendcert=always
right=%any
rightdns=8.8.4.4,8.8.8.8
rightsourceip=172.0.0.0/24

conn IPSec-IKEv2
keyexchange=ikev2
leftid=@*.my.domain
rightid=*@my.domain
auto=add

conn IPSec-IKEv2-EAP
also="IPSec-IKEv2"
rightauth=eap-mschapv2
rightsendcert=never
eap_identity=%any

conn CiscoIPSec
keyexchange=ikev1
leftsendcert=never
leftauth=psk
rightauth=psk
rightauth2=xauth
auto=add
neroanelli
2015-01-21 14:12:09 +08:00
@GPU
给你一个参考配置哈,你研究一下:
conn ikev2-Client
right=gateway.host.name
rightid=%gateway.host.name
rightsubnet=0.0.0.0/0
rightauth=pubkey
leftsourceip=%config
leftauth=pubkey or eap #depending on the selected gateway config
leftcert=certificate #only if leftauth=pubkey (e.g. peerCert.der)
eap_identity=username #only if leftauth=eap (e.g. peer)
auto=add

注意后面的注释,看你是用pubkey还是eap方式。
GPU
2015-01-21 17:21:57 +08:00
@neroanelli

试了很久还是像下面这样子。




Starting strongSwan 5.2.1 IPsec [starter]...
00[DMN] Starting IKE charon daemon (strongSwan 5.2.1, Linux 3.2.0-4-amd64, x86_64)
00[CFG] loading ca certificates from '/etc/ipsec.d/cacerts'
00[CFG] loading aa certificates from '/etc/ipsec.d/aacerts'
00[CFG] loading ocsp signer certificates from '/etc/ipsec.d/ocspcerts'
00[CFG] loading attribute certificates from '/etc/ipsec.d/acerts'
00[CFG] loading crls from '/etc/ipsec.d/crls'
00[CFG] loading secrets from '/etc/ipsec.secrets'
00[CFG] loaded RSA private key from '/etc/ipsec.d/private/myKey.der'
00[LIB] loaded plugins: charon aes des rc2 sha1 sha2 md4 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp xcbc cmac hmac attr kernel-netlink resolve socket-default stroke updown eap-identity eap-mschapv2 eap-peap xauth-generic
00[LIB] unable to load 3 plugin features (3 due to unmet dependencies)
00[JOB] spawning 16 worker threads
09[NET] waiting for data on sockets
charon (19643) started after 20 ms
11[CFG] received stroke: add connection 'ikev2-Client'
11[CFG] conn ikev2-Client
11[CFG] left=%any
11[CFG] leftsourceip=%config
11[CFG] leftauth=pubkey
11[CFG] leftcert=server.pem
11[CFG] right=my.domain.com
11[CFG] rightsubnet=0.0.0.0/0
11[CFG] rightauth=pubkey
11[CFG] rightid=%my.domain.com
11[CFG] ike=aes128-sha1-modp2048,3des-sha1-modp1536
11[CFG] esp=aes128-sha1,3des-sha1
11[CFG] dpddelay=30
11[CFG] dpdtimeout=150
11[CFG] mediation=no
11[CFG] keyexchange=ikev2
11[CFG] left nor right host is our side, assuming left=local
11[CFG] loaded certificate "OU=Domain Control Validated, CN=*.domain.com" from 'server.pem'
11[CFG] id '%any' not confirmed by certificate, defaulting to 'OU=Domain Control Validated, CN=*.domain.com'
11[CFG] added configuration 'ikev2-Client'
neroanelli
2015-01-21 20:09:25 +08:00
@GPU
你不会真的就是在配置里面填写的right=my.domain.com吧。。。。。那个应该是你对应的服务器的地址。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/158012

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX