使用strongswan和xl2tpd配置l2tp over ipsec和Xauth
yum install -y strongswan xl2tpd
编辑 /etc/strongswan/ipsec.conf
uniqueids = no
conn %default
ikelifetime=3600s
keylife=28800s
rekeymargin=3h
keyingtries=1
keyexchange=ikev2
mobike=no
type=tunnel
conn yourconnectionname
keyexchange=ikev1
authby=xauthpsk
xauth=server
left=%defaultroute
leftsubnet=0.0.0.0/0
leftfirewall=no
right=%any
rightsubnet=192.168.201.0/24
rightsourceip=192.168.201.1/24 #虚拟地址可不改
rightdns=8.8.8.8
auto=route
ike=3des-sha1-modp1024!
esp=3des-sha1!
#type=transport
conn L2TP-PSK
ikelifetime=24h
keylife=24h
rekeymargin=30m
keyingtries=1
rekey=no
keyexchange=ikev1
left=10.10.1.100 #本机IP
leftsubnet=0.0.0.0/0
leftprotoport=17/1701
authby=secret
leftfirewall=no
right=%any
rightprotoport=17/%any
type=transport
auto=add
#ike=3des-sha1-modp1024
#esp=3des-sha1
ike=aes256-sha1-modp1024,aes128-sha1-modp1024,3des-sha1-modp1024!
esp=aes256-sha256,aes256-sha1,3des-sha1
编辑/etc/strongswan/ipsec.secrets
: PSK "pskpassword"
username %any : XAUTH "password"
编辑/etc/xl2tpd/xl2tpd.conf
[lns default]
ip range = 192.168.1.128-192.168.1.254
local ip = 192.168.1.1 ;此为虚拟地址,可不改
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
编辑/etc/ppp/options.xl2tpd
require-mschap-v2
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
name LinuxVPNserver
login
logfile /var/log/xl2tpd.log
编辑/etc/ppp/chap.secretes
#client server secret IP addresses
username * password *
8.2 PC使用L2TP over IPSec接入总部(VPN Client)
介绍终端用户采用L2TP over IPSec方式访问企业内网资源时,客户端的配置方法。
操作步骤
配置终端用户在PC上使用VPN Client软件接入企业内网。
终端用户侧PC上必须装有L2TP客户端软件,并通过拨号方式连接到Internet。以Secoway VPN Client软件为例。
打开Secoway VPN Client软件,选中已有连接,单击。
说明:
此操作要在VPN Client断开拨号的情况下执行。
如果没有连接存在,请单击,根据向导建立新的连接。
在“基本设置”页面设置基本信息,并启用IPSec安全协议。
参数设置如图8-2所示。启用IPSec安全协议,并设置登录密码为Hello@123,身份验证字为Admin@123。
说明:
VPN Client上设置的IPSec身份验证字需要与LNS上设置的预共享密钥保持一致。
如果用户需要访问Internet,请在“基本设置”页签中选中“连接成功后允许访问Internet(N)”,并在“路由设置”页签中配置相关路由。
图8-2 LAC客户端基本设置

在“IPSec设置”页面设置IPSec基本信息。参数设置如图8-3所示。
说明:
当LNS侧采用L2TP over IPSec方式配置VPN隧道时,LNS将不对VPN Client做隧道验证,因此VPN Client上无需配置“L2TP设置”页签。
图8-3 LAC客户端IPSec设置

在“IKE设置”页面设置IKE基本信息。参数设置如图8-4所示。
图8-4 LAC客户端IKE设置

结果验证
在终端用户PC上,单击配置完毕的VPN连接,建立L2TP over IPSec隧道。
使用PC访问企业内网的任一资源,如果访问成功,则表明L2TP over IPSec隧道配置成功;如果访问失败,请重新检查配置。
8.3 PC使用L2TP over IPSec接入总部(Windows 7)
介绍终端用户采用L2TP over IPSec方式访问企业内网资源时,客户端的配置方法。
操作步骤
配置终端用户的个人PC。以下为Windows 7系统的示例。
可选:修改Windows 7系统的注册表项。
说明:
在本举例中(即L2TP over IPSec场景),无需修改个人PC注册表项,本步骤可以直接跳过。而在单纯的L2TP拨号场景下,则需要执行本步骤,修改个人PC的注册表项。
在“开始 > 运行”中,输入regedit命令,单击“确定”,进入注册表编辑器。
在“注册表编辑器”页面的左侧导航树中,选择“计算机 > HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > IPSec”。
如果在注册表的Services路径下找不到“IPSec”,请在该路径下单击“右键”,新建名称为“IPSec”的文件夹。
在菜单栏上选择“编辑 > 新建 > DWORD值(32位)”。
键入AssumeUDPEncapsulationContextOnSendRule,然后按“ENTER”,修改文件名称。
右键单击AssumeUDPEncapsulationContextOnSendRule,选择“修改”,进入修改界面。
在“数值数据”框中键入2,表示可以与位于NAT设备后面的服务器建立安全关联。
单击“确定”。
选择“我的电脑 > HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > RasMan > Parameters”。
在菜单栏上选择“编辑 > 新建 > DWORD值(32位)”。
键入ProhibitIpSec,然后按“ENTER”,修改文件名称。
右键单击ProhibitIpSec,选择“修改”,进入修改界面。
在“数值数据”框中键入0。
单击“确定”,并退出注册表编辑器。
重新启动该PC,使修改生效。
查看IPSec服务状态,保证IPSec服务开启。
在“开始 > 运行”中,输入services.msc命令,单击“确定”,进入“服务”界面。
在“名称”一列中,查看“IPsec Policy Agent”的状态,确保状态为“已启用”。如果不为“已启用”,请右键单击“IPsec Policy Agent”,选择“属性”,在“属性”中设置“启动类型”为自动,单击“应用”。之后在“服务状态”中选择“启动”。
关闭“服务”界面。
创建L2TP over IPSec连接。
在“开始 > 运行”中,输入control命令,单击“确定”,进入控制面板。
选择“网络和Internet > 网络和共享中心”,在“更改网络设置”区域框中,单击“设置新的连接或网络”。
在“设置连接或网络”中选择“连接到工作区”,单击“下一步”。
在“连接到工作区”中选择“使用我的Internet连接(VPN)(I)”。
在“连接到工作区”中填写Internet地址和目标名称,此处设置的Internet地址为1.1.1.1,目标名称为VPN连接,单击“下一步”。
在“连接到工作区”中填写用户名和密码,此处设置的用户名为user0001,密码为Hello@123,单击“连接”。
在“控制面板主页”中选择“更改适配器设置”,在名称列表中双击“VPN连接”。弹出如下对话框,如图8-5所示。
图8-5 连接SVN

单击“属性”页签,设置如图8-6所示。
图8-6 设置lns属性的安全页签

在“安全”页签中,单击“高级设置”,在弹出的“高级属性”对话框中,选中“使用预共享的密钥作身份验证”,并输入密钥为Admin@123,与LNS端一致。如图8-7所示。单击“确定”。
图8-7 高级安全设置

单击“确定”,完成设置。
输入用户名为user0001,密码Hello@123,与虚拟网关下配置的用户信息设置一致。单击“连接”,发起隧道连接,如图8-8所示。
图8-8 连接SVN

结果验证
使用PC访问企业内网的任一资源,如果访问成功,则表明L2TP over IPSec隧道配置成功;如果访问失败,请重新检查配置。
8.4 移动终端使用L2TP over IPSec接入总部(Android)
介绍终端用户采用L2TP over IPSec方式访问企业内网资源时,移动终端的配置方法。
操作步骤
配置终端用户的移动终端。
移动终端使用的系统为Android时,以2.3版本界面为例介绍配置过程。
说明:
首次设置VPN时,系统会要求输入8位以上的PIN码,请牢记此PIN码以便后续修改VPN配置时使用。
VPN为全局连接,即VPN连接成功后,所有上网流量均经过VPN网关。如遇到相关资源无法访问的情况,请断开VPN连接或联系SVN网关管理员处理。
通过手机“常规”界面选择“WLAN”。

选择“VPN”。

选择“添加VPN网络”。

设置VPN服务器地址和IPSec预共享密钥,其他参数保持默认即可。本例中VPN服务器地址为SVN网关的外网接口地址(1.1.1.1),IPSec预共享密钥为“Admin@123”。设置完成后保存VPN配置。

返回并选择已创建的“svn”,即可向SVN网关发起VPN协商。

输入用户名和密码(user0001/Hello@123),即可向SVN网关发起VPN协商。

当显示“已连接”或手机状态栏显示钥匙状图标时,表示VPN连接已成功,此时员工便可访问企业内网资源。

结果验证
使用移动终端访问企业内网的任一资源,如果访问成功,则表明L2TP over IPSec隧道配置成功;如果访问失败,请重新检查配置。
8.5 移动终端使用L2TP over IPSec接入总部(iOS)
介绍终端用户采用L2TP over IPSec方式访问企业内网资源时,移动终端的配置方法。
操作步骤
配置终端用户的移动终端。
移动终端采用的系统为iOS时,以5.0版本系统界面为例介绍配置过程。
通过手机设置界面,进入“通用 > VPN”。

选择“添加VPN配置…”。

配置服务器地址(1.1.1.1)、帐户(user0001)、密码(Hello@123)和密钥(Admin@123),并选择右上角的“存储”保存VPN配置。

说明:
iOS的L2TP over IPSec可选择所有流量经VPN转发或只有与获得的VPN虚拟IP地址同网段的目的地址经VPN转发,当打开“发送所有流量”开关时,即表示所有上网业务经VPN转发。
选择已创建的“Svn”,并打开“VPN”右侧的开发按钮,即可开始L2TP over IPSecVPN协商。在状态一栏显示“已连接”即表示连接成功,此时员工便可访问企业内网资源。

结果验证
使用移动终端访问企业内网的任一资源,如果访问成功,则表明L2TP over IPSec隧道配置成功;如果访问失败,请重新检查配置。
遇到问题:
windows 10 无法连接 手机可以连接
修改注册表如下脚本
更改脚本如下:
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters /v ProhibitIpSec /t REG_DWORD /d 0x0 /f
此方案方法来源于github的开源项目<hwdsl2/setup-ipsec-vpn>,其中文版帮助地址为:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients-zh.md#windows-错误-809
本文详细介绍了如何使用strongswan和xl2tpd在Linux系统上配置L2TP over IPsec和Xauth,包括服务器端配置和客户端(Windows 7、Android、iOS)的连接步骤,以及解决Windows 10连接问题的方法。
1451

被折叠的 条评论
为什么被折叠?



