Ubuntu20.04 搭建L2TP+IPsec环境

1 安装

安装l2tp和strongswan。

sudo apt install xl2tpd

sudo apt install strongswan

2 ipsec配置

1)编辑**/etc/ipsec.conf**

shell 复制代码
conn L2TP-IPSEC
    authby=secret
    auto=add
    keyingtries=3
    ikelifetime=8h
    keylife=1h
    keyexchange=ikev2
    ike=chacha20poly1305-sha512-curve25519-prfsha512
    esp=chacha20poly1305-sha512,aes256gcm16-ecp384,aes256-sha256,aes256-sha1,3des-sha1
    # 连接类型 传输模式transport/隧道模式tunnel
    type=transport
    # 服务器公网地址
    left=10.25.X.X
    # 服务器子网网段
    leftsubnet=10.25.17.0/24[17/1701]
    # 客户端访问地址
    right=%any # right=10.25.16.0/24
    # rightsubnet=10.25.16.0/24[17/%any]
    dpddelay=30s
    dpdtimeout=150s
    dpdaction=clear

2)编辑**/etc/ipsec.secrets** , 设置ipsec的预共享秘钥

shell 复制代码
# This file holds shared secrets or RSA private keys for authentication.

# RSA private key for this host, authenticating it to any other host
# which knows the public part.
: PSK "123456"

3 l2tp配置

编辑**/etc/xl2tpd/xl2tpd.conf**

shell 复制代码
[global]
ipsec saref = no
debug tunnel = no
debug avp = no
debug network = no
debug state = no
access control = no
rand source = dev
port = 1701
auth file = /etc/ppp/chap-secrets

[lns default]
# 分配给客户端的私有网络地址
ip range = 192.168.100.100 - 192.168.100.254
# 服务器私有网络地址 绑定网卡的实际网络地址
local ip = 192.168.100.210
name = l2tp
pass peer = yes
refuse pap = yes
refuse chap = yes
require authentication = yes
ppp debug = no
# 指定PPP配置文件路径
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

4 ppp配置

1) 编辑PPP配置文件(例如上文中的**/etc/ppp/options.xl2tpd**)。

shell 复制代码
require-mschap-v2
refuse-mschap
# DNS服务器地址
ms-dns 127.0.0.53
asyncmap 0
auth
crtscts
idle 1800
mtu 1410
mru 1410
hide-password
local
modem
lock
name l2tpd
connect-delay 5000
lcp-echo-interval 30
lcp-echo-failure 4

2)编辑**/etc/ppp/chap-secrets**,添加VPN访问用户密码

shell 复制代码
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
root * root *

5 重启服务

#重启服务

$sudo service xl2tpd restart

$sudo service ipsec restart

#确认服务状态

$sudo service xl2tpd status

$sudo service ipsec status

6 添加子网路由

当客户端可以连接到VPN服务器时,需要添加路由才可以访问私有网络中的其它机器。

shell 复制代码
# 添加访问192.168.100网段的路由
route add -net 192.168.100.0/24 netmask 255.255.255.0 gw 192.168.100.1
相关推荐
计算机鬼才~4 分钟前
网络安全·第四天·扫描工具Nmap的运用
网络·tcp/ip·安全·web安全·nmap
陳長生.7 分钟前
JAVA EE_初始网络原理
java·开发语言·网络·java-ee
网络之路Blog10 分钟前
【实战中提升自己】 防火墙完结篇之VPX部署–IPSEC VPX,包括与L2TP共存问题
服务器·网络·网络之路一天·华为华三数通基础·华为华三网络基础·数通基础·华为华三数通
ALex_zry20 分钟前
从源码到实战:深度解析`rsync`增量同步机制与高级应用
linux·网络·运维开发
小锋学长生活大爆炸1 小时前
【教程】检查RDMA网卡状态和测试带宽 | 附测试脚本
运维·服务器·网络·ubuntu·网卡·rdma
EasyDSS1 小时前
安防监控视频管理平台EasyCVR助力建筑工地施工4G/5G远程视频监管方案
大数据·网络·网络协议·音视频
学废了wuwu1 小时前
【计算机网络】什么是路由?核心概念与实战详解
网络·计算机网络·智能路由器
virelin_Y.lin2 小时前
系统与网络安全------网络通信原理(5)
网络·安全·web安全·udp·tcp·传输层
刘哥测评技术zcwz6263 小时前
美客多自养号测评技术解析:如何低成本打造安全稳定的测评体系
服务器·网络·经验分享·安全
Arkmornings3 小时前
安全人员如何对漏洞进行定级?
网络·安全·web安全