收集openwrt作为strongswan客户端的资料

OpenWrt 路由器 L2TP/IPSec 客户端中, NAT 情况下 strongSwan 配置请教
   neroanelli · 2014-12-30 20:48:42 +08:00 · 18453 次点击
这是一个创建于 1113 天前的主题,其中的信息可能已经有所发展或是发生改变。

我在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情况下,是不是还有什么参数需要配置?有什么参数没有设置合理?

第 1 条附言  ·  2014-12-31 09:26:44 +08:00

由于服务器是别人提供的,而且只能使用L2TP/IPSec的方式连接。现在就是在NAT穿透时连接不上,不知道是strongswan配置问题还是其他原因。
第 2 条附言  ·  2014-12-31 11:35:29 +08:00

主要是没有建立CHILD_SA,日志中提示no acceptable traffic selectors found。
第 3 条附言  ·  2015-01-12 15:05:41 +08:00

还是更新一下:问题已经解决,在配置文件中加入rightsubnet=0.0.0.0/0搞定。感谢各位。

27 回复  |  直到 2015-11-03 23:10:44 +08:00

    1

realsteve   2014-12-30 21:42:50 +08:00 via iPhone

如果是 IPSec 的话,推荐用 VPNC,稳定靠谱。
    2

neroanelli   2014-12-30 21:47:51 +08:00

@realsteve
主要是服务器是别人提供的。。。只支持L2tp/IPSec
    3

neroanelli   2014-12-31 09:44:19 +08:00

@gissimo
@cattyhouse
@a3587556
@fuck010bj
@debiansid
@internet2014
希望各位支招。。。
    4

debiansid   2014-12-31 11:01:50 +08:00 via iPhone

需要一条iptables
    5

neroanelli   2014-12-31 11:36:20 +08:00

@debiansid
请教具体是怎样iptables?
    6

cattyhouse   2014-12-31 11:52:27 +08:00

为啥要l2tp?直接racoon或者strongswan建ipsec vpn服务器就行了,l2tp太麻烦!
    7

debiansid   2014-12-31 12:26:48 +08:00 via iPhone

穿透打开没有 你的主路由器上
    8

neroanelli   2014-12-31 13:29:24 +08:00

@cattyhouse
因为服务器是别人提供的,只有l2tp服务。。。
    9

neroanelli   2014-12-31 13:30:32 +08:00

@debiansid
打开了的,使用racoon都能正常工作,只是使用strongswan连接不正常。
    10

GPU   2014-12-31 17:17:35 +08:00 via iPhone

我正打算在路由器弄IKEv2客户端,还不清楚怎么弄
    11

msp123   2015-01-12 17:45:31 +08:00

解决了吗?亲?我也遇到了这个问题
    12

neroanelli   2015-01-12 21:43:04 +08:00   ♥ 1

@msp123
问题已经解决,在配置文件中加入rightsubnet=0.0.0.0/0搞定。感谢各位。
    13

msp123   2015-01-13 11:27:58 +08:00

如何关闭5.0的nat-travesal呢?您知道吗?
    14

neroanelli   2015-01-13 15:31:26 +08:00

@msp123
5.0没有这个参数的,所以也不存在关闭。
参考链接 https://wiki.strongswan.org/projects/strongswan/wiki/NatTraversal
    15

GPU   2015-01-20 18:33:16 +08:00

@neroanelli 国内debian 系统用 strongswan 链接国外的strongswan 应该怎么配置啊?

国外的strongswan 配置了ikev2 ikev2-eap ikev1

    16

neroanelli   2015-01-21 09:14:22 +08:00

@GPU
你提供的信息有限啊。如果你有国外的strongSwan的配置文件那更好,简单修改就可以配置好。
你需要知道对方服务器是什么认证方式,是psk吗?还有esp、ike加密方式等。
    17

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

    18

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方式。

    19

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’

    20

neroanelli   2015-01-21 20:09:25 +08:00

@GPU
你不会真的就是在配置里面填写的right=my.domain.com吧。。。。。那个应该是你对应的服务器的地址。
    21

neroanelli   2015-01-21 20:10:33 +08:00

@GPU
我觉得你还是先看一下strongSwan的官方手册吧,其实基本的配置都有的。
https://wiki.strongswan.org/projects/strongswan/wiki/ConfigurationFiles
    22

GPU   2015-01-21 20:31:09 +08:00

@neroanelli right = 我是填我自己的域名 xx.xx.xx 然后 rightid= 就填 %xx.xx.xx

strongswan 我看不懂啊. .英语不好啊.看起来太吃力

    23

cs4814751   2015-03-06 17:07:49 +08:00 via iPad

@neroanelli 非常想请教下,你是如何在openwrt上配置的l2tp/ipsec的客户端,我也想弄来着。
    24

neroanelli   2015-03-07 11:29:04 +08:00 via Android

@cs4814751
怎么说呢,这个客户端是由两部分组成:一部分是ipsec,一部分是l2tp。而ipsec又有两种实现方案(其实还有openswan,不过新版openwrt内核编不过):一种是racoon,一种是strongswan,就是我上面那个配置。然后配置ipsec的时候,可能需要配置ike和esp的加密方式。如果ipsec连接成功,然后配置l2tp。
l2tp有两种实现方案,分别是xl2tp和openl2tp,推荐第一种,网上教程很多。
    25

neroanelli   2015-03-07 11:29:59 +08:00 via Android

@GPU
看了下你的日志,你没有up 连接啊。
    26

neroanelli   2015-03-07 11:35:36 +08:00 via Android

@GPU
你只是add了连接,你还需要ipsec up ikev2-Client
    27

Vicer   2015-11-03 23:10:44 +08:00

求 Strongswan 搭建 L2TP/ipsec 的配置文件 最好贴出步骤
DigitalOcean

关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2111 人在线   最高记录 3541   ·   

创意工作者们的社区

World is powered by solitude

VERSION: 3.9.8.0 · 50ms · UTC 13:55 · PVG 21:55 · LAX 05:55 · JFK 08:55
♥ Do have faith in what you’re doing.