l2tp/ipsec@DigitalOcean配置教程

Written .

l2tp/ipsec是VPN协议的一种,对我来说和PPTP唯一的优点。支持Android手机始终开启的VPN功能。这样只要手机开机就会一直保持VPN是连接状态。本次VPN使用的是DigitalOCean的VPS主机。推荐纽约机房,相对北京网速快。另外如果你觉得此篇教程有用并想购买DigitalOcean主机请使用此推广链接购买,也算是对我的支持,谢谢。https://www.digitalocean.com/?refcode=77f588fecae6

下面为ipsec教程部分

  1. 安装openswan xl2tpd,如果是非root用户请在无权限的命令前加sudo

    apt-get install openswan xl2tpd询问是否使用X.509时,选否

  2. 修改/etc/ipsec.conf ipsec配置文件

    version 2.0
    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,%v6:fd00::/8,%v6:fe80::/10
        #关闭随机加密 
        oe=off
        protostack=netkey
    
    
    conn %default
        forceencaps=yes
    
    
    conn L2TP-PSK-NAT
        rightsubnet=vhost:%priv
        also=L2TP-PSK-noNAT
    
    
    conn L2TP-PSK-noNAT
        authby=secret
        pfs=no
        auto=add
        keyingtries=3
        rekey=no
        ikelifetime=8h
        keylife=1h
        type=transport
        #此处SERVER.IP请变更为你服务器的公网IP
        left=SERVER.IP
        leftprotoport=17/1701
        right=%any
        rightprotoport=17/%any
    
  3. 修改/etc/ipsec.secrets此文件为PSK密钥

    #此处SERVER.IP请变更为你服务器的公网IP,psk-password变更为PSK密钥,所有用户公用
    SERVER.IP %any: PSK "psk-password"
    
  4. 执行

    for each in /proc/sys/net/ipv4/conf/*
    do
      echo 0 > $each/accept_redirects
      echo 0 > $each/send_redirects
    done
    
  5. 修改/etc/sysctl.conf文件,去掉net.ipv4.ip_forward=1这行前的注释符号。修改后执行sysctl -p使其生效。

  6. 重启 ipsec 服务

    ipsec restart
    
  7. 测试ipsec加密通道是否正常

    ipsec verify
    

    请一定确保所有功能正常现继续下面步骤 ipsec-verify-screen

xl2tpd教程部分

  1. 修改/etc/xl2tpd/xl2tpd.conf

    [global]
    
    
    [lns default]
    #此处IP为xl2tp拨号上来后分配的IP段,可以任意修改为其它内网IP断
    ip range = 10.1.0.2-10.1.0.254
    local ip = 10.1.0.1
    require chap = yes
    refuse pap = yes
    require authentication = yes
    name = LinuxVPN
    ppp debug = yes
    pppoptfile = /etc/ppp/options.xl2tpd
    length bit = yes
    
  2. 修改/etc/ppp/options.xl2tpd

    require-mschap-v2
    ms-dns 8.8.8.8
    ms-dns 8.8.4.4
    asyncmap 0
    auth
    crtscts
    lock
    hide-password
    modem
    debug
    name l2tpd
    proxyarp
    lcp-echo-interval 30
    lcp-echo-failure 4
    
  3. xl2tp用户配置文件/etc/ppp/chap-secrets

    # Secrets for authentication using CHAP
    # client        server  secret                  IP addresses
    vpnuser           l2tpd        "password"                       *
    
  4. 重启xl2tpd service xl2tpd restart

  5. 增加IP转发

    #-s后为你的xl2tp拨号后的网段,-o 后为你的公网IP网卡。如不是eth0请使用其它
    iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -o eth0 -j MASQUERADE
    

现在可以测试你的VPN服务了

comments powered by Disqus