Ubuntu 20.04.1验证L2TP

L2TP: 第二层隧道协议(英语:Layer Two Tunneling Protocol,缩写为L2TP)是一种虚拟隧道协议,通常用于虚拟专用网。L2TP协议自身不提供加密与可靠性验证的功能,可以和安全协议搭配使用,从而实现数据的加密传输。经常与L2TP协议搭配的加密协议是IPsec,当这两个协议搭配使用时,通常合称L2TP/IPsec。

Ubuntu 20.04.1验证L2TP

Server端

  1. 安装ppp

    sudo apt install ppp
    
  2. 安装xl2tpd

    sudo apt install xl2tpd
    
  3. 配置xl2tpd

    xl2tpd配置文件位于/etc/xl2tpd/xl2tpd.conf,因为是server端,只关注lns部分,global部分用默认的值即可,一般修改:

    [lns default]
    ;ip分配配置
    ip range = 192.168.0.2-192.168.0.20     	   ; * 分配的ip范围,即client获得到的ip范围
    local ip = 192.168.0.1                          ; * 自己本地ip
    
    ;鉴权相关配置
    require chap = yes                              ; * 是否要求对端使用 CHAP 鉴权
    refuse pap = yes                                ; * 是否禁用 PAP 鉴权
    ; refuse chap = no                              ; * 是否禁用 CHAP 鉴权
    ; refuse authentication = no                    ; * 是否禁用所有鉴权
    require authentication = yes                    ; * 是否要求对端使用鉴权
    
    ;ppp相关配置
    ppp debug = yes                                 ; * 是否打开ppp调试
    pppoptfile = /etc/ppp/options.l2tpd.lns         ; * ppp 选项文件
    
  4. 配置xl2tp对应的ppp

    该配置文件路径在上面的的配置中已指定,为/etc/ppp/options.l2tpd.lns,在/etc/ppp/目录下创建此文件,并做配置

    touch /etc/ppp/options.l2tpd.lns
    vim /etc/ppp/options.l2tpd.lns
    

    内容为:

    debug
    logfd 2
    logfile /var/log/xl2tplns.log
    require-mschap-v2
    require-mschap
    ms-dns 8.8.8.8
    ms-dns 8.8.4.4
    asyncmap 0
    auth
    idle 1800
    mtu 1200
    mru 1200
    hide-password
    name l2tpd
    proxyarp
    lcp-echo-interval 30
    lcp-echo-failure 4
    
  5. 配置账号密码

    和pptp相同,根据你配置的鉴权方式来选择哪个文件保存账号密码,这里使用的鉴权方式是chap,所以编辑/etc/ppp/chap-secrets

    # Secrets for authentication using CHAP
    # client	server	secret			IP addresses
      test          *          test           *
    
  6. 启动服务

    sudo systemctl enable xl2tpd
    sudo systemctl start xl2tpd
    

    由于这里不验证client端通过server端上网,所以没讨论如何设置转发和防火墙的设置。

  7. 扩展,设置转发和防火墙

    开启转发

    sudo vim /etc/sysctl.conf
    #找到对应参数,修改成如下:
    net.ipv4.ip_forward=1
    #保存,使配置生效
    sudo sysctl -p
    

    配置防火墙

    sudo iptables -I INPUT -p udp --dport 500 -j ACCEPT 
    sudo iptables -I INPUT -p udp --dport 4500 -j ACCEPT 
    sudo iptables -I INPUT -p udp -m udp --dport 1701 -j ACCEPT
    #NAT转发的这条信息根据自己之前的配置(localip,remoteip网段)修改,注意网卡名设置为你的wan口网卡名,Ubuntu高一点的版本一般是ens33
    iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.0.254 -o ens33
    

    重启服务

    sudo systemctl restart xl2tpd
    

Client端

首先使用另一台ubuntu验证,安装相关的软件

sudo apt-get install xl2tpd network-manager-l2tp  network-manager-l2tp-gnome

其他操作步骤类似于上一篇pptp的介绍,不重复。

ubuntu 20.04.1验证PPtP - thammer - 博客园 (cnblogs.com)

posted @ 2021-01-27 20:48  thammer  阅读(3821)  评论(0编辑  收藏  举报