美文网首页
在CentOS 7 上部署 L2TP/IPSec 服务

在CentOS 7 上部署 L2TP/IPSec 服务

作者: KK7384 | 来源:发表于2016-12-01 16:11 被阅读1523次

    在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

    …………

    相关文章

      网友评论

          本文标题:在CentOS 7 上部署 L2TP/IPSec 服务

          本文链接:https://www.haomeiwen.com/subject/kqgxmttx.html