在Ubuntu上安装L2TP VPN
在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`为您的实际预共享密钥。
请注意,此脚本为简化示例,建议在生产环境中使用更强的密钥和密码,以及进一步的安全增强设置。