HCRM博客

如何在CentOS系统上搭建L2TP VPN?

在CentOS上搭建L2TP/IPSec VPN环境,可以为用户提供安全的远程访问解决方案,下面将详细介绍如何在centos系统上部署L2TP/IPsec VPN,包括安装所需的软件包、配置IPsec和xl2tpd服务、设置预共享密钥以及用户管理等步骤。

一、安装所需软件包

首先需要安装必要的软件包,包括libreswan、xl2tpd等,可以通过以下命令进行安装:

如何在CentOS系统上搭建L2TP VPN?-图1
(图片来源网络,侵权删除)
  • sudo yum install y epelrelease
  • sudo yum install y make gcc gmpdevel xmlto bison flex xmlto libpcapdevel lsof vimenhanced man
  • sudo yum install y xl2tpd libreswan

二、配置IPsec

1、修改IPsec配置文件:编辑/etc/ipsec.conf文件,添加以下内容以支持NAT穿透:

  • nat_traversal=yes

2、创建IPsec与L2TP关联的配置文件:由于默认情况下该文件不存在,需要手动创建并编辑/etc/ipsec.d/l2tp_psk.conf文件:

  • conn L2TPPSKNAT
  • rightsubnet=vhost:%priv
  • also=L2TPPSKnoNAT
  • conn L2TPPSKnoNAT
  • authby=secret
  • pfs=no
  • auto=add
  • keyingtries=3
  • dpddelay=30
  • dpdtimeout=120
  • dpdaction=clear
  • rekey=no
  • ikelifetime=8h
  • keylife=1h
  • type=transport
  • left=<your_public_ip>
  • leftprotoport=17/1701
  • right=%any
  • rightprotoport=17/%any

<your_public_ip>替换为服务器的实际公网IP地址。

3、配置预共享密钥:编辑/etc/ipsec.d/ipsec.secrets文件,添加以下内容:

  • <your_public_ip> %any: PSK "your_preshared_key"

<your_public_ip>替换为服务器的实际公网IP地址,并将your_preshared_key替换为实际的预共享密钥。

4、修改内核参数:编辑/etc/sysctl.conf文件,确保以下参数被设置为合适的值:

如何在CentOS系统上搭建L2TP VPN?-图2
(图片来源网络,侵权删除)
  • vm.swappiness = 0
  • net.ipv4.ip_forward = 1
  • net.ipv4.neigh.default.gc_stale_time=120
  • net.ipv4.conf.all.rp_filter=0
  • net.ipv4.conf.default.rp_filter=0
  • net.ipv4.conf.default.arp_announce = 2
  • net.ipv4.conf.all.arp_announce=2
  • net.ipv4.tcp_max_tw_buckets = 5000
  • net.ipv4.tcp_syncookies = 1
  • net.ipv4.tcp_max_syn_backlog = 1024
  • net.ipv4.tcp_synack_retries = 2
  • net.ipv4.conf.lo.arp_announce=2
  • net.ipv4.conf.default.accept_redirects = 0
  • net.ipv4.conf.default.send_redirects = 0
  • net.ipv4.conf.default.accept_source_route = 0

保存后运行sysctl p使配置生效。

三、配置xl2tpd

1、修改服务配置文件:编辑/etc/xl2tpd/xl2tpd.conf文件,根据需要调整配置,

  • [lns default]
  • listen_addr = <your_local_ip>
  • services = l2tp

<your_local_ip>替换为服务器的实际内网IP地址。

2、配置用户认证:编辑/etc/ppp/chapsecrets文件,添加VPN用户信息:

  • username password

使用openssl passwd 1 'password'生成MD5加密的密码字符串替换上述password部分。

四、启动并测试服务

1、重启服务:执行以下命令重启IPsec和xl2tpd服务:

  • sudo systemctl restart ipsec
  • sudo systemctl restart xl2tpd

2、检查服务状态:确保两个服务都已成功启动并正在运行。

3、连接测试:使用客户端设备(如Windows 10)尝试连接到新配置的L2TP/IPsec VPN,输入之前设置的用户名、密码以及预共享密钥。

五、多用户支持

如需添加更多用户,只需在/etc/ppp/chapsecrets文件中按相同格式追加条目即可,每个用户的密码同样需要使用openssl passwd 1命令生成MD5加密字符串。

六、FAQs

1、Q: 如何更改VPN服务器的IP地址?

A: 在/etc/ipsec.d/l2tp_psk.conf文件中修改left=<your_public_ip>行,将<your_public_ip>替换为新的公网IP地址,同时更新/etc/ppp/chapsecrets中的相关条目,如果使用了特定的IP绑定。

2、Q: 忘记预共享密钥怎么办?

A: 如果忘记了预共享密钥,需要重新配置IPsec服务,删除或注释掉现有的/etc/ipsec.d/ipsec.secrets中相关的预共享密钥条目,然后添加新的条目,之后重启IPsec服务以应用更改,这将导致所有使用旧预共享密钥的连接失效,直到它们也被更新为止。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/10761.html

分享:
扫描分享到社交APP
上一篇
下一篇