一、安装前准备
1、系统要求:CentOS 7 及以上版本,内存至少 128MB,具备 root 权限或使用sudo
提权。
2、更新系统:确保系统软件包是最新的。

- yum update y
3、安装 EPEL(Extra Packages for Enterprise Linux)库:EPEL 库提供了额外的软件包,对于安装一些必要的软件非常重要。
- yum install epelrelease y
二、选择 VPN 协议并安装
1. OpenVPN 安装步骤
1、安装 OpenVPN:
- yum install epelrelease y
- yum install openvpn y
2、生成服务器证书和密钥:
- makecadir ~/openvpnca
- cd ~/openvpnca
- easyrsa initpki
- easyrsa buildca
- easyrsa genreq server nopass
- easyrsa signreq server server
- cp pki/ca.crt pki/private/ca.key pki/issued/server.crt pki/private/server.key /etc/openvpn/
3、配置 OpenVPN:
编辑/etc/openvpn/server.conf
文件,添加以下内容(根据实际情况修改 IP 地址):
- port 1194
- proto udp
- dev tun
- ca ca.crt
- cert server.crt
- key server.key
- dh dh2048.pem
- server 10.8.0.0 255.255.255.0
- ifconfigpoolpersist ipp.txt
- keepalive 10 120
- persistkey
- persisttun
- status openvpnstatus.log
- verb 3
4、启动 OpenVPN:
- systemctl start openvpn@server
- systemctl enable openvpn@server
2. L2TP/IPSec VPN 安装步骤
1、安装相关软件包:
- yum install xl2tpd ppp ipsecmodxfrm y
2、修改 PSK(PreShared Key)文件:
编辑/etc/sysconfig/ipsec
文件,添加或修改预共享密钥:
- vim /etc/sysconfig/ipsec
- PSK="your_psk_here"
3、配置 IPSec:
编辑/etc/ipsec.conf
文件,添加以下内容以启用 NAT 遍历:
- nat_traversal=yes
- include /etc/ipsec.d/*.conf
4、创建 IPSec 配置文件:
在/etc/ipsec.d/
目录下创建一个新的配置文件l2tp_psk.conf
:
- conn L2TPPSKNAT
- rightsubnet=vhost:%priv,vhost%home,!0.0.0.0/0
- 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=10.0.8.12
- leftprotoport=17/1701
- right=%any
- rightprotoport=17/%any
5、创建预共享密钥文件:
在/etc/ipsec.d/
目录下创建一个新的密钥文件ipsec.secrets
:
- 10.0.8.12 %any: PSK "your_psk_here"
6、调整内核参数:
编辑/etc/sysctl.conf
文件,确保以下参数被正确设置:
- vm.swappiness = 0
- net.ipv4.ip_forward = 1
- net.ipv4.conf.all.arp_announce = 2
- net.ipv4.conf.all.promote_secondaries = 1
- net.ipv4.conf.all.rp_filter=0
- net.ipv4.conf.default.accept_redirects = 0
- net.ipv4.conf.default.accept_source_route = 0
- net.ipv4.conf.default.arp_announce = 2
- net.ipv4.conf.default.promote_secondaries = 1
- net.ipv4.conf.default.rp_filter=0
- net.ipv4.conf.default.send_redirects = 0
- net.ipv4.conf.lo.arp_announce = 2
- net.ipv6.conf.all.disable_ipv6 = 0
- net.ipv6.conf.default.disable_ipv6 = 0
- net.ipv6.conf.lo.disable_ipv6 = 0
7、重启服务并应用配置:
- systemctl restart ipsec
- systemctl restart xl2tpd
- sysctl p
三、配置防火墙
1、开放 UDP 1701 端口:为了使 L2TP 正常工作,需要开放 UDP 1701 端口:
- firewallcmd permanent zone=public addport=1701/udp
- firewallcmd reload
四、测试连接
1、查看 IPSec 状态:确保 IPSec 运行正常:
- ipsec status
2、查看 IPSec 验证结果:检查 IPSec 配置是否正确:
- ipsec verify
3、连接测试:使用支持 L2TP/IPSec 的客户端(如 Windows、macOS)连接到 VPN,使用默认的用户名和密码进行测试,如果一切配置正确,应该能够成功连接。
五、常见问题解答(FAQs)
Q1: 无法连接到 L2TP VPN,提示认证失败?
A1: 确保预共享密钥(PSK)在服务器和客户端上一致,检查/etc/sysconfig/ipsec
文件中的 PSK 设置,并在客户端配置中输入相同的密钥,确认防火墙规则允许 UDP 1701 端口的流量通过。
Q2: OpenVPN 连接后无法访问互联网?
A2: 确保 OpenVPN 配置文件中的路由设置正确,通常需要在客户端配置文件中添加push "redirectgateway def1 bypassdhcp"
,并在服务器配置文件中添加相应的推送指令,检查客户端和服务器之间的网络连接是否正常。