在CentOS系统上快速配置L2TP

L2TP(Layer 2 Tunneling Protocol)是一种广泛使用的协议,通过结合IPsec实现数据加密和隧道封装,确保数据在公共网络上传输的安全性,实现异地组网。本文将详细介绍如何在CentOS系统上一键安装L2TP/IPSec服务,并进行异地组网,让位于两地的子网络能够实现互访,包括必要的软件包安装、配置步骤以及常见问题的解决方案。

一、准备工作

(一)操作系统

CentOS 7及以上版本

(二)内存要求

≥128MB

(三)网络环境

服务器需要具备公网IP地址

(四)依赖库

EPEL库

(五)虚拟化技术

建议使用KVM或Xen,OpenVZ虚拟化技术可能不支持

二、安装步骤

(一)安装EPEL库

EPEL库提供了一些额外的软件包,这些包在标准的CentOS仓库中不可用,执行以下命令安装EPEL库。

sudo yum install epelrelease y

(二)下载并运行一键安装脚本

下载由秋水逸冰提供的L2TP/IPSec一键安装脚本,并赋予其执行权限。

wget nocheckcertificate https://raw.githubusercontent.com/teddysun/across/master/l2tp.sh
chmod +x l2tp.sh

(三)执行安装脚本

以root用户身份运行安装脚本。

sudo ./l2tp.sh

(四)交互式配置

脚本执行后会进入交互模式,按提示输入以下信息:

本地IP段范围:默认值为192.168.18,可以直接回车使用默认值,如:10.10.1。

PSK(预共享密钥):用于加密连接的密钥,默认值为teddysun.com,如:12345678。

用户名:默认为teddysun,可以直接回车使用默认值,如:admin。

用户密码:默认会自动生成一个随机密码,也可以自行设置,如:123456。

若要多个帐号密码,可以在/etc/ppp/chap-secrets中进行添加:

client是用户名     secret是密码

(五)检查并确认安装

脚本安装完成后,会自动执行ipsec verify命令,如果输出中没有[FAILED]字样,说明安装成功。

(六)启动L2TP服务

安装完成后,L2TP服务会自动启动,并将进程加入开机自启动项,可以使用以下命令检查服务状态。

systemctl status xl2tpd
systemctl status ipsec

(七) 开放防火墙端口

L2TP连接需要使用UDP协议的1701端口,因此需要在防火墙中开放该端口。

firewall-cmd --zone=public --add-port=1701/udp --permanent
firewall-cmd --reload

(八)写入路由

1.服务端配置

例:L2TP VPN服务器的网段为10.10.1.0/24,子网络A的内网网段为192.168.0.0/24,子网络B的内网网段为192.168.28.0/24,要使两个子网络使用互相的内网ip地址实现互访,要在/etc/rc.local新增一个启动脚本,通常在系统启动时执行。你可以将路由命令写入这个文件,以便在服务器重启后自动应用路由配置。

(1)编辑 /etc/rc.local 文件
sudo nano /etc/rc.local

或者

sudo vim /etc/rc.local
(2)在文件末尾添加路由配置
ip route add 192.168.0.0/24 dev ppp0  #192.168.0.0/24为子网络A的网段,ppp0为子网络A在L2TP VPN服务器中的网络接口
ip route add 192.168.1.0/24 dev ppp1  #192.168.28.0/24为子网络B的网段,ppp1为子网络B在L2TP VPN服务器中的网络接口
(3)保存并退出
(4)确保 /etc/rc.local 文件具有可执行权限
sudo chmod +x /etc/rc.local
(5)测试重启后是否生效
sudo reboot
ip route show

注意:在 CentOS 7 和 CentOS 8 上,/etc/rc.local 默认可能不会执行,需要手动启用。你可以通过以下命令确保它被正确执行。

systemctl start rc-local
systemctl enable rc-local

2.客户端配置

这里以ikuai路由器(内网网段为192.168.0.0/24)作为客户端A进行举例。

(1)进入路由器后台

(2)点击网络设置

(3)点击NAT规则

(4)点击添加

(5)选择目的地址NAT,接进口选择创建的L2TP接口,原地址ip填写自身内网网段(192.168.0.0/24),目的地址ip填写路由器B内网网段(192.168.28.0/24)和L2TP服务端创建的网段(10.10.1.0/24),NAT地址填写自身内网网段

(6)路由器B参照填写即可

可以按照以下步骤在 CentOS快速部署 L2TP 服务: 1. 安装 L2TP 和 PPTP 服务 ``` yum install xl2tpd ppp pptpd ``` 2. 配置 xl2tpd 编辑 `/etc/xl2tpd/xl2tpd.conf` 文件,将以下内容添加到文件末尾: ``` [global] ipsec saref = no [lns default] ip range = 192.168.42.10-192.168.42.20 local ip = 192.168.42.1 require chap = yes refuse pap = yes require authentication = yes name = l2tpd ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes ``` 3. 配置 ppp 创建 `/etc/ppp/options.xl2tpd` 文件,并将以下内容添加到文件中: ``` require-mschap-v2 ms-dns 8.8.8.8 ms-dns 8.8.4.4 proxyarp mtu 1400 mru 1400 auth name l2tpd password l2tpdpassword ``` 注意将 `l2tpdpassword` 改为你自己的密码。 4. 配置 pptpd 编辑 `/etc/pptpd.conf` 文件,将以下内容添加到文件末尾: ``` localip 192.168.42.1 remoteip 192.168.42.100-200 ``` 5. 配置 chap-secrets 编辑 `/etc/ppp/chap-secrets` 文件,将以下内容添加到文件末尾: ``` username l2tpd password * ``` 注意将 `l2tpd` 和 `password` 改为你自己的用户名和密码。 6. 启动服务 ``` systemctl start pptpd systemctl start xl2tpd ``` 7. 配置防火墙规则 ``` iptables -A INPUT -p udp --dport 1701 -j ACCEPT iptables -A INPUT -p udp --dport 500 -j ACCEPT iptables -A INPUT -p udp --dport 4500 -j ACCEPT iptables -A INPUT -p gre -j ACCEPT iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu ``` 完成以上步骤后,即可在 CentOS快速部署 L2TP 服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值