在CentOS 7上安装和配置L2TP VPN

system

在CentOS 7上安装和配置L2TP VPN

2023-10-26 06:30


                                            




在CentOS 7上安装和配置L2TP VPN,其中主要的是Libreswan和xl2tpd。下面的脚本为您自动安装并配置L2TP VPN,设置用户名和密码均为"admin":

 

```bash

#!/bin/bash

 

# 安装EPEL库

yum install -y epel-release

 

# 安装必要的软件包

yum install -y libreswan xl2tpd ppp

 

# 配置Libreswan (IPsec)

cat > /etc/ipsec.conf << "EOF"

config setup

    protostack=netkey

    nhelpers=0

    uniqueids=no

 

conn l2tp-psk

    authby=secret

    pfs=no

    auto=add

    keyingtries=3

    rekey=no

    ikelifetime=8h

    keylife=1h

    type=transport

    left=%defaultroute

    leftprotoport=17/1701

    right=%any

    rightprotoport=17/%any

EOF

 

cat > /etc/ipsec.secrets << "EOF"

%any  %any  : PSK "YourPSK"

EOF

 

# 替换YourPSK为您自己的预共享密钥

sed -i 's/YourPSK/YourActualPreSharedKey/g' /etc/ipsec.secrets

 

# 配置xl2tpd

cat > /etc/xl2tpd/xl2tpd.conf << "EOF"

[global]

port = 1701

 

[lns default]

ip range = 192.168.1.100-192.168.1.200

local ip = 192.168.1.1

require chap = yes

refuse pap = yes

require authentication = yes

name = LinuxVPN

ppp debug = yes

pppoptfile = /etc/ppp/options.xl2tpd

length bit = yes

EOF

 

cat > /etc/ppp/options.xl2tpd << "EOF"

ipcp-accept-local

ipcp-accept-remote

ms-dns 8.8.8.8

ms-dns 8.8.4.4

noccp

auth

crtscts

idle 1800

mtu 1410

mru 1410

nodefaultroute

debug

lock

proxyarp

connect-delay 5000

EOF

 

# 设置VPN的用户名和密码

echo "admin l2tp YourActualPassword" >> /etc/ppp/chap-secrets

 

# 替换YourActualPassword为实际密码

sed -i 's/YourActualPassword/admin/g' /etc/ppp/chap-secrets

 

# 使得IPv4转发

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

sysctl -p

 

# 重启服务并设置开机启动

systemctl restart ipsec xl2tpd

systemctl enable ipsec xl2tpd

 

echo "L2TP VPN setup complete!"

```

 

1. 将上面的脚本保存为`install_vpn.sh`。

2. 使用`chmod +x install_vpn.sh`使其可执行。

3. 以root用户运行脚本:`sudo ./install_vpn.sh`。

4. 将`YourActualPreSharedKey`替换为您希望的预共享密钥。

 

该脚本将配置L2TP VPN服务器,并设置用户名和密码为“admin”。但请注意,使用“admin”作为默认用户名和密码并不安全,建议在实际生产环境中使用更安全的用户名和密码组合。