在CentOS 7 上部署 L2TP/IPSec 服务

在CentOS 7 上部署 L2TP/IPSec 服务

安装strongswan和xl2tpd(yum安装需要启用epel源)

yum install strongswan xl2tpd

修改/etc/strongswan/ipsec.conf 文件,如下

config setup

conn %default

        ikelifetime=60m

        keylife=20m

        rekeymargin=3m

        keyingtries=1

conn l2tp

        keyexchange=ikev1

        left=%defaultroute

        leftsubnet=0.0.0.0/0

        leftprotoport=17/1701

        authby=secret

        leftfirewall=no

        right=%any

        rightprotoport=17/%any

        type=transport

        auto=add

修改/etc/strongswan/ipsec.secrets 文件(没有此文件就新建一个)

# ipsec.secrets - strongSwan IPsec secrets file

: PSK 'presharedkeys'

编辑/etc/xl2tpd/xl2tpd.conf文件的 [lns default] 部分

[lns default]

ip range = 172.16.0.100-172.16.0.199

local ip = 172.16.0.1

require chap = yes

refuse pap = yes

require authentication = yes

name = LinuxVPNserver

ppp debug = yes

pppoptfile = /etc/ppp/options.xl2tpd

ppp部分,这里只设定了chap验证部分

编辑/etc/ppp/options.xl2tpd

ms-dns  114.114.114.114

ms-dns  223.5.5.5

noccp

auth

crtscts

idle 600

mtu 1200

mru 1200

nodefaultroute

debug

lock

proxyarp

connect-delay 2500

编辑/etc/ppp/chap-secrets

# Secrets for authentication using CHAP

# client                server        secret        IP addresses

user                     *               password      *

设置防火墙,以iptables为例

iptables -t filter -A INPUT -p esp -j ACCEPT

iptables -t filter -A INPUT -p udp --dport 500 -j ACCEPT

iptables -t filter -A INPUT -p udp --dport 1701 -j ACCEPT

iptables -t filter -A INPUT -p udp --dport 4500 -j ACCEPT

iptables -t filter -A FORWARD -s 172.16.0.0/24 -j ACCEPT

iptables -t filter -A FORWARD -d 172.16.0.0/24 -j ACCEPT

iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -o enp0s3 -j MASQUERADE

开启IP转发,编辑 /etc/sysctl.conf

net.ipv4.ip_forward = 1

执行sysctl - p 使之生效

开启服务

systemctl start strongswan.service

systemctl start xl2tpd.service

systemctl enable strongswan.service

systemctl enable xl2tpd.service

客户端连接的时候选L2TP/IPSec VPN with pre-shared keys ,PSK(预共享密钥)是/etc/strongswan/ipsec.secrets中的PSK,用户名和密码在/etc/ppp/chap-secrets中

ipsec穿过nat很麻烦,如果服务器在nat后,可以只用l2tp,不启用ipsec(strongswan)。只配置xl2tp和ppp,不配置ipsec。

iptables转发过滤规则暂时没时间试验,可以设为默认允许转发。 iptables -t filter -P FORWARD ACCEPT

nat外网1701映射到内网1701

客户端连接的时候选l2tp,而不是 L2TP/IPSec VPN with pre-shared keys。不需要PSK,用户名和密码和原来一样。

如果服务器有多个网卡,/etc/xl2tpd/xl2tpd.conf 的 [global]部分指明VPN使用的网卡。

[global]

listen-addr = 10.1.1.244

/etc/strongswan/ipsec.conf的conn部分把left改成VPN网卡的地址

…………

conn l2tp

        keyexchange=ikev1

        left=10.1.1.244

…………

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • OS: CenotOS7 X86_64 1.安装ipsec服务 1.1安装openswan 1.yum安装gmp ...
    dingfh阅读 2,232评论 1 4
  • ftp 文件传输协议 跨平台 上传下载文件 vsftpd 工具:非常安全的文件传输协议;默认的命令端口21号,数据...
    柒夏锦阅读 4,076评论 1 9
  • 故事开始于一九零五年,这天日本大商行堤家的女主人堤倭文子过生日,她的弟弟章介也从中国的战场(日俄战争,但发生在中国...
    筱阿诚阅读 1,053评论 1 0
  • 当我们跟孩子们说起节气时,孩子们常常会问,“节气是什么?” 面条是用什么做的呢? 酷暑当头,路边的树怕热吗? ……...
    书格子阅读 13,622评论 0 2