在Ubuntu上安装L2TP VPN

system

在Ubuntu上安装L2TP VPN

2023-10-26 06:32


                                            




要在Ubuntu上安装L2TP VPN,我们通常使用`openswan`或`libreswan`为IPsec和`xl2tpd`为L2TP。以下是一个自动安装和配置L2TP VPN的脚本,其中VPN账号和密码都设置为"admin":

 

```bash

#!/bin/bash

 

# 更新软件源

apt update -y

 

# 安装必要的软件

apt install -y libreswan xl2tpd ppp lsof

 

# 配置Libreswan (IPsec)

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

config setup

    nat_traversal=yes

    virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10

    protostack=netkey

    oe=no

 

conn l2tp-psk

    authby=secret

    pfs=no

    auto=add

    rekey=no

    keyingtries=3

    type=transport

    left=%defaultroute

    leftprotoport=17/1701

    right=%any

    rightprotoport=17/%any

EOF

 

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

%any  %any  : PSK "YourSecretPSK"

EOF

 

# 配置xl2tpd

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

[global]

port = 1701

 

[lns default]

ip range = 10.1.2.2-10.1.2.255

local ip = 10.1.2.1

refuse pap = yes

require authentication = yes

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

name l2tpd

plugin pppol2tp.so

EOF

 

# 设置VPN的用户名和密码

echo "admin * admin *" >> /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. 替换`YourSecretPSK`为您的实际预共享密钥。

 

请注意,此脚本为简化示例,建议在生产环境中使用更强的密钥和密码,以及进一步的安全增强设置。