zoukankan      html  css  js  c++  java
  • linux L2TPVPN安装配置

    以下文章转载自:http://westlife.la/966.html
    说实话,折腾L2TP/IPSEC是最难受的。不像PPTP有高人写好的一键安装包可以直接安装。而在过程会出现各种各样的状况,有的甚至涉及到内核。本文中提到的方法与步骤是我参阅许多教程和文档后亲自实践操作可行的。若读者在安装过程中出现问题,请留意文章最后的简单故障处理

    开始:
    服务器环境 :Centos 5.5 64位

    先更新软件源

    32位
    rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

    64位
    rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm


    二:安装L2TP

    yum install xl2tpd  //如果出现找不到包就是没有更新软件源

    2.安装完成后, 修改/etc/xl2tpd/xl2tpd.conf

    把xl2tpd.conf, 修改成这样

    [global]
    ipsec saref = yes
     
    [lns default]
    ip range = 10.1.2.2-10.1.2.255 //这里可以根据需要改成没被占用的IP段
    local ip = 10.1.2.1
    ;require chap = yes
    refuse chap = yes
    refuse pap = yes
    require authentication = yes
    ppp debug = yes
    pppoptfile = /etc/ppp/options.xl2tpd
    length bit = yes

    3.安装pppd

    yum install ppp

    4.安装完毕, 在/etc/ppp下建立options.xl2tpd文件(如果已经有了可以直接修改)

    把options.xl2tpd修改成这样

    require-mschap-v2
    ms-dns 8.8.8.8 //VPS使用的DNS服务器
    ms-dns 8.8.4.4 //VPS使用的DNS服务器
    asyncmap 0
    auth
    crtscts
    lock
    hide-password
    modem
    debug
    name l2tpd
    proxyarp
    lcp-echo-interval 30
    lcp-echo-failure 4

    如果需要Radius支持,就在最后一行加上
    plugin radius.so
    并复制radius.so到该目录下。

    5.给xl2tpd添加用户, 填在/etc/ppp/chap-secrets中

    如:

    #  user  server   pass    IP
    l2tpuser * l2tppass *

    格式为:
    用户名 连接服务 密码 来源IP

    来源IP为*时即允许所有来源。server下面写的是xl2tpd即为xl2tpd用户。

    6. 重启xl2tpd,设置iptables转发

    service xl2tpd restart
    iptables --table nat --append POSTROUTING --jump MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward

    7.修改/ect/sysctl.conf

    把sysctl.conf 修改成这样

    net.ipv4.ip_forward = 1
    net.ipv4.conf.default.rp_filter = 0
    net.ipv4.conf.default.accept_source_route = 0
    kernel.sysrq = 0
    kernel.core_uses_pid = 1
    net.ipv4.tcp_syncookies = 1
    kernel.msgmnb = 65536
    kernel.msgmax = 65536
    kernel.shmmax = 68719476736
    kernel.shmall = 4294967296

    8.让L2TP开机自启。

    chkconfig xl2tpd on

    9.最后在/etc/rc.local的exit 0前加入以下语句

    iptables --table nat --append POSTROUTING --jump MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward
    for each in /proc/sys/net/ipv4/conf/*
    do
    echo 0 > $each/accept_redirects
    echo 0 > $each/send_redirects
    done
    /etc/init.d/ipsec restart

    这样一个L2TP/IPSEC服务器就大功告成了!!!赶紧连接试试看吧 ^_^

    三:简单故障处理。

    许多人在执行ipsec verify的时候会出现错误,这里说两个我遇到最郁闷的状况。

    1.如只有出现以下两行Failed,别的全部OK

    Pluto listening for NAT-T on udp 4500 [Failed]
    Two or more interfaces found, checking IP forwarding [Failed]

    这个问题曾经困扰了我很久,最后在朋友和高手协助下修复了。

    修改ipsec.conf。

    left=1.2.3.4  //你的服务器IP
    leftprotoport=17/1701

    中间加上一行:

    leftid=1.2.3.4  //你的服务器IP

    right=%any
    rightprotoport=17/%any

    中间加上一行

    rightid=%any

    即可解决这个问题。

    2.比上面的问题更郁闷的还有在ipsec verify的时候全部OK,却不能用没有密钥连接的情况。(不使用密钥可以正常连接。)

    这个问题翻来覆去,和朋友检查了所有有关的配置文件和系统环境。还是没有结果,终于在看manpage中看到了相关内容。
    简单解释下:系统的esp模块是需要加密。而默认的加密模块我的内核里没有,所以内核报错了。那么固定一种加密方式,就解决问题了。
    是不是很纠结。但是解决起来却非常简单。(有用户报告32位系统无法解决,请大家自行测试)

    在ipsec.conf中的

    pfs=no
    auto=add

    两行之间加上

    esp=3des-sha1-96

    这样就定义了加密模块!问题就解决了
    同时还有
    esp=3des-md5-96
    esp=3des
    可供选择

    先解决这两个棘手的问题,如果有遇到别的情况可以Google一下或者查阅相关文档。

    希望本文对大家有所帮助。

    最后幽默一下:我们不仅要常常激励自己努力学习,同时也要激发广大的社会主义青年学习相关技术的兴趣,用科学技术带领亿万同胞脱离苦海……

    ^_^

    要发表意见或建议,请到这里,谢谢!

  • 相关阅读:
    第一次作业:了解编译原理
    DFA最小化,语法分析初步
    非确定的自动机NFA确定化为DFA
    正规式、正规文法与自动机
    正规文法与正规式
    词法分析程序的设计与实现
    文法和语言总结与梳理
    语法树,短语,直接短语,句柄
    理解文法和语文
    了解编译原理
  • 原文地址:https://www.cnblogs.com/derekchen/p/1966339.html
Copyright © 2011-2022 走看看