CentOS 7 L2TP/IPSec VPN 部署文档


环境准备


1. 安装必要的软件包

首先安装 L2TP 和 IPSec 所需的软件包:

yum install -y epel-release
yum install -y xl2tpd strongswan

2. 配置 IPSec

编辑 IPSec 配置文件:

vim /etc/strongswan/ipsec.conf

添加以下内容:

config setup
    charondebug="ike 2, knl 2, net 2, dmn 2, mgr 2"

conn L2TP-IKEV2
    keyexchange=ikev1
    authby=secret
    pfs=no
    dpdaction=clear
    dpddelay=30s
    rekey=no
    left=%any
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any
    rightdns=114.114.114.114,114.114.115.115
    rightsourceip=192.168.10.2-192.168.10.254
    auto=add
    
    
OR:
config setup
    charondebug="ike 2, knl 2, net 2, dmn 2, mgr 2"

conn L2TP-IKEV2
    keyexchange=ikev1
    authby=secret
    pfs=no
    left=YOUR_SERVER_IP
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any
    auto=add

配置共享密钥:

编辑 /etc/strongswan/ipsec.secrets 文件:

vim /etc/strongswan/ipsec.secrets

添加以下内容:

: PSK "your_pre_shared_key"

your_pre_shared_key 替换为你的共享密钥。


3. 配置 L2TP

编辑 L2TP 配置文件:

vim /etc/xl2tpd/xl2tpd.conf

添加以下内容:

[global]
ipsec saref = yes

[lns default]
ip range = 192.168.10.2-192.168.10.254
local ip = 192.168.10.1
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

配置 PPP 选项:

编辑 /etc/ppp/options.xl2tpd 文件:

vim /etc/ppp/options.xl2tpd

确保文件包含以下内容:

require-mschap-v2
refuse-eap
refuse-pap
refuse-chap
refuse-mschap
ms-dns 114.114.114.114
ms-dns 114.114.115.115
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name xl2tpd
proxyarp
lcp-echo-failure 4
lcp-echo-interval 30

添加用户账号:

编辑 /etc/ppp/chap-secrets 文件:

vim /etc/ppp/chap-secrets

格式如下:

# client        server  secret              IP addresses
username       *        password           *

4. 启用 IP 转发

编辑 /etc/sysctl.conf 文件:

vim /etc/sysctl.conf

添加以下内容:

net.ipv4.ip_forward = 1

然后应用更改:

sysctl -p

5. 配置防火墙

如果使用 FirewallD:

firewall-cmd --permanent --add-port=500/udp
firewall-cmd --permanent --add-port=4500/udp
firewall-cmd --permanent --add-port=1701/udp
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload

如果使用 iptables:

iptables -A INPUT -p udp --dport 500 -j ACCEPT
iptables -A INPUT -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -p udp --dport 1701 -j ACCEPT
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables

注意:将 eth0 替换为你的实际网络接口名称。


6. 启动服务

启动并设置服务为开机自启:

systemctl start strongswan
systemctl enable strongswan
systemctl start xl2tpd
systemctl enable xl2tpd

7. 验证连接

  1. 在客户端设备上,配置 L2TP/IPSec VPN。

  2. 使用配置的用户名、密码和共享密钥进行连接。

  3. 如果连接失败,请查看以下日志文件以排查问题:


8. 常见问题

连接失败,显示 "连接被终止"

DNS 解析失败


附录

配置文件路径参考


通过这份文档,你可以完成 L2TP/IPSec VPN 的部署和基本调试。如果有进一步需求或问题,请随时联系我!


已有10位网友发表了看法:

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。