CentOS VPS创建l2tp VPN服务
下面是搭建脚本!经过本人再三测试是100%没问题的,互联网上由于转贴众多,很多教程可能未经验证。
#!/bin/bash function installVPN(){ echo "begin to install L2TP VPN services"; yum remove -y pptpd ppp iptables --flush POSTROUTING --table nat iptables --flush FORWARD rm -rf /etc/pptpd.conf rm -rf /etc/ppp yum -y install openswan gcc libpcap-devel ppp mknod /dev/ppp c 108 0 echo 1 > /proc/sys/net/ipv4/ip_forward echo "mknod /dev/ppp c 108 0" >> /etc/rc.local echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local echo "/usr/local/sbin/xl2tpd" >> /etc/rc.local cd /tmp/ wget http://nchc.dl.sourceforge.net/project/rp-l2tp/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 -rf handlers/l2tp-control /usr/local/sbin/ mkdir /var/run/xl2tpd/ ln -s /usr/local/sbin/l2tp-control /var/run/xl2tpd/l2tp-control cd .. wget -c http://www.xelerance.com/wp-content/uploads/software/xl2tpd/xl2tpd-1.2.8.tar.gz tar -zxf xl2tpd-1.2.8.tar.gz cd xl2tpd-1.2.8 make install mkdir /etc/xl2tpd touch /etc/xl2tpd/xl2tpd.conf touch /etc/ppp/options.xl2tpd cat >/etc/xl2tpd/xl2tpd.conf<<END [global] ipsec saref = yes [lns default] local ip = 10.10.11.1 ip range = 10.10.11.2-10.10.11.245 refuse chap = yes refuse pap = yes require authentication = yes ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes END cat >/etc/ppp/options.xl2tpd<<END 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 END pass=`openssl rand 6 -base64` if [ "$1" != "" ] then pass=$1 fi echo "vpn * ${pass} *" >> /etc/ppp/chap-secrets iptables -t nat -A POSTROUTING -s 10.10.10/8 -o venet0 -j SNAT --to-source `ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'` iptables -A FORWARD -s `ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`/32 -o venet0 -j ACCEPT service iptables save chkconfig iptables on service iptables start /usr/local/sbin/xl2tpd echo "L2TP VPN service is installed, your L2TP VPN username is vpn, VPN password is ${pass}" } function repaireVPN(){ echo "begin to repaire VPN"; mknod /dev/ppp c 108 0 service iptables restart } function addVPNuser(){ echo "input user name:" read username echo "input password:" read userpassword echo "${username} * ${userpassword} *" >> /etc/ppp/chap-secrets service iptables restart } echo "which do you want to?input the number." echo "1. install VPN service" echo "2. repaire VPN service" echo "3. add VPN user" read num case "$num" in [1] ) (installVPN);; [2] ) (repaireVPN);; [3] ) (addVPNuser);; *) echo "nothing,exit";; esac
2.安装:#bash l2tp_centos.sh1.以上为CentOS VPS创建l2tp VPN服务的shell脚本,可以看出里面都是自动化执行的命令,其实和网上那些手动搭建教程大同小异!手动搭过的朋友一定不陌生的,就像我!哈哈~~并且脚本执行更安全,方便,还不容易出错!
会有三个选择: 1. 安装l2tp VPN 2. 修复VPN 3.添加VPN用户
先选择1,回车。安装过程会默认生成一个用户名vpn,密码为随机数。
如果想添加用户的话,请重新bash l2tp_centos.sh,然后选择3,输入新用户的用户名和密码即可。
3.在XP上连接L2TP VPN
点击桌面左下角“开始”,再点击“控制面板”
点击“网络和 Internet 连接”
点击“创建一个到您的 工作位置的网络连接”,选择“虚拟专用网络连接”,再点击“下一步”按钮,在输入栏输入连接的名称,这里用“VPN”,再点击“下一步”按钮
选择“不拨初始连接”,再点击“下一步”按钮,输入服务器地址:你的ip地址,再点击“下一步”按钮
建议勾选“在我的桌面上添加一个到此连接的快捷方式”,再点击“完成”按钮,回到“网络和Internet连接”,点击“网络连接”,在“虚拟专用网络”里可以看到刚才建立的连接,找到我们刚才建好的“VPN 连接”右键>属性>网络>VPN类型选为L2TP即可!
由于windows在使用“L2TP/IPsec预共享密钥的VPN连接模式”情况下下仅支持证书,而对于使用psk连接l2tp/ipsec的时候则会会出现789错误,所以只有修改windows注册表,用如下方式修改:在“运行”中输入:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters" /v ProhibitIPSec /t REG_DWORD /d 1
然后重启XP,l2tp拨号,成功。
4. 在windows7(vista)上连接L2TP VPN
同样由于windowss的愿意,需要修改注册表。由于windowss7权限的问题,需要下载注册表文件,解压后出现reg文件,双击运行ipsec.rar
然后重启,l2tp拨号,成功。
5. 在iphone或者ipad上连接L2TP VPN
同样由于L2TP和ipsec的原因,需要禁用ipsec: 用iFile(没有安装的话在Cydia中搜索安装)在“/etc/ppp”目录下创建一个名为“options”的普通文件,然后点击该文件用“文本查看器”打开,再编辑,输入下面的代码,完成,保存。
plugin L2TP.ppp
l2tpnoipsec
然后正常连接L2TP VPN,OK。
发表评论