Centos安装L2TP+IPSec完整教程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos安装L2TP+IPSec完整教程相关的知识,希望对你有一定的参考价值。
Centos安装L2TP+IPSec完整教程 L2TP相比PPTP是另外一种隧道协议方式,部分网络下PPTP无法连接,可以尝试L2TP,一般而言在PC上,两者使用体验没什么不同,技术原理上的不同请参照这里. 建议PC电脑上优先使用PPTP,无法使用可以尝试L2TP,移动端推荐使用L2TP; 安装方式: 一、一键脚本安装(推荐,安装简单) 安装的软件包版本分别是openswan-2.6.38、xl2tpd-1.2.4 VPS是需要基于Xen或KVM的。 注意:基于 OpenVZ 虚拟化技术的 VPS 需要开启TUN/TAP才能正常使用,购买 VPS 时请先咨询服务商是否支持开启 TUN/TAP。 检测是否支持TUN模块 执行命令: 1 cat /dev/net/tun 如果返回信息为:cat: /dev/net/tun: File descriptor in bad state 说明正常 检测是否支持ppp模块 执行命令: 1 cat /dev/ppp 如果返回信息为:cat: /dev/ppp: No such device or address 说明正常 开始安装:终端里运行以下命令(以root用户运行): 1 2 3 4 5 6 cd /root wget http://lamp.teddysun.com/files/l2tp.sh #CentOS、Fedora或Redhat系统时执行 wget http://lamp.teddysun.com/files/l2tp_ubuntu.sh #Ubuntu系统时执行此命令 chmod +x *.sh ./l2tp.sh #CentOS、Fedora或Redhat系统时执行 ./l2tp_ubuntu.sh #Ubuntu系统时执行此命令</p> 等待出现 「Please input IP-Range:」设置网段,一般回车即可 「Please input PSK:」设置你预共享密钥。 执行后,一直等待成功,会显示相关配置信息。 生成的密码是随机的,需要修改的话,执行 1 vi /etc/ppp/chap-secrets 注意:xp用户使用L2TP方法登陆的话,可能需要查看电脑的IPSec服务是否正常开启,如果关闭请去“控制面板->管理工具->服务”开启一下。 二、完整diy脚本(高级用户推荐) ①部署IPSec 1、首先安装必备依赖包 1 yum install make gcc gmp-devel bison flex lsof 2、安装Openswan 1 2 3 4 wget http://www.openswan.org/download/openswan-2.6.38.tar.gz tar -zxvf openswan-2.6.38.tar.gz cd openswan-2.6.38 make programs install 3、编辑配置文件/etc/ipsec.conf 1 vim /etc/ipsec.conf 将protostack=auto,修改为:protostack=netkey 4、在最后加上: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 left=YOUR.SERVER.IP.ADDRESS leftprotoport=17/1701 right=%any rightprotoport=17/%any 其中“YOUR.SERVER.IP.ADDRESS”为外网IP,下同。 5、设置共享密钥PSK 编辑配置文件/etc/ipsec.secrets: 1 vim /etc/ipsec.secrets 输入: YOUR.SERVER.IP.ADDRESS %any: PSK “YourSharedSecret” 修改包转发设置 1 2 3 4 5 6 for each in /proc/sys/net/ipv4/conf/* do echo 0 > $each/accept_redirects echo 0 > $each/send_redirects done echo 1 >/proc/sys/net/core/xfrm_larval_drop 修改内核设置,使其支持转发,编辑/etc/sysctl.conf文件: 1 vim /etc/sysctl.conf 将“net.ipv4.ip_forward”的值改为1。 使修改生效: 1 sysctl -p 重启IPSec: 1 service ipsec restart 查看系统IPSec安装和启动的正确性: 1 ipsec verify 一般情况下没有报[FAILED]就可以了。但是如果转发已经确认配置了,但仍检测checking IP Forwarding 失败,可以先忽略此项错误. ②部署L2TP(使用xl2tpd和rp-l2tp) xl2tpd最新版已经包含了l2tp-control,rp-l2tp可不需要安装。 首先安装依赖软件: 1 yum install libpcap-devel ppp policycoreutils 安装xl2tpd和rp-l2tp: 1 2 3 4 5 6 7 8 wget http://sourceforge.net/projects/rp-l2tp/files/rp-l2tp/0.4/rp-l2tp-0.4.tar.gz tar -zxvf rp-l2tp-0.4.tar.gz cd rp-l2tp-0.4 ./configure make cp handlers/l2tp-control /usr/local/sbin/ mkdir /var/run/xl2tpd/ ln -s /usr/local/sbin/l2tp-control /var/run/xl2tpd/l2tp-control 安装xl2tpd: 1 2 3 4 5 wget http://www.xelerance.com/wp-content/uploads/software/xl2tpd/xl2tpd-1.3.0.tar.gz tar -zxvf xl2tpd-1.3.0.tar.gz cd xl2tpd-1.3.0 make make install 建立xl2tpd配置文件: 1 2 mkdir /etc/xl2tpd vim /etc/xl2tpd/xl2tpd.conf 加入: 1 2 3 4 5 6 7 8 9 10 11 12 [global] ipsec saref = yes [lns default] ip range = 10.82.88.2-10.82.88.254 local ip = 10.82.88.1 refuse chap = yes refuse pap = yes require authentication = yes ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes 配置ppp 建立options.xl2tpd文件: 1 vim /etc/ppp/options.xl2tpd 加入: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #require-mschap-v2 #此处不是必须,在非MS环境下 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 设置拨号用户名和密码: 1 vim /etc/ppp/chap-secrets 此处注意的是第二列的 l2tpd 为上面配置的name,如果有改动也要修改此处。 1 2 3 # Secrets for authentication using CHAP # client server secret IP addresses myusername l2tpd mypassword * 最后添加iptables转发规则并保存重启 1 2 3 iptables --table nat --append POSTROUTING --jump MASQUERADE /etc/init.d/iptables save /etc/init.d/iptables restart 以debug方式启动l2tp,查看有无错误: 1 xl2tpd -D 至此,已完成全部安装工作。 另外建议在/etc/ipsec.conf中的 conn L2TP-PSK-noNAT节,加入如下内容以解决少部分情况连接该服务不稳定的情况: 1 2 3 4 5 dpddelay=40 dpdtimeout=130 dpdaction=clear leftnexthop=%defaultroute rightnexthop=%defaultroute 备注:如果局域网内有第二台电脑无法连接的情况,请重启IPsec服务,2台都连上后,再连接就正常了。 相关文章: 1、L2TP+IPSec一键安装脚本:http://teddysun.com/135.html 2、CENTOS LINUX 安装配置L2TP+IPSEC http://www.fendou.info/centos-linux-install-l2tp-ipsec-vpn/
以上是关于Centos安装L2TP+IPSec完整教程的主要内容,如果未能解决你的问题,请参考以下文章