liunx肉鸡上建立VPN的图文方法
花了两天时间研究,感觉pptpd貌似要简单的多,而且成功率挺高.没有平台限制。此文就拿centos最新版5.2来做vpn服务器.为教材,其他发行版都大同小异。
第一步,把需要的工具先wget上去.
wget http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm
wget http://poptop.sourceforge.net/yum/stable/packages/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
这两个是必须的.不过在centos5x发行版中自带了kernel,5.x就不必下载安装了.centos4x及以下的需要。
如果是centos 4版本的
wget http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.3-7.rhel4.i386.rpm
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel4.i386.rpm
CentOS 5的
wget http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.4-7.0.rhel5.i386.rpm
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm
-------如果起其他版本则打开http://poptop.sourceforge.net/yum/stable/packages 选择对应的版本号。
(如不知道肉鸡是那发行版则在shell里输入cat /etc/issue)
第二步开始安装。
centos4.x
rpm -ivh dkms-2.0.17.5-1.noarch.rpm
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
rpm -Uvh ppp-2.4.3-7.rhel4.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel4.i386.rpm
centos5.x
rpm -ivh dkms-2.0.17.5-1.noarch.rpm
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm [centos 5.2自带可以不装]
rpm -Uvh ppp-2.4.4-7.0.rhel5.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
(安装过程中如不成功则看错误信息,大概是肉鸡缺少什么.不过他缺什么, 咋们就补什么.
如gcc :yum install gcc-c++ zlib-devel :yum install zlib-devel ,发行版不同自动升级的命令 不同,我这里centos是yum)
第三步.修改需修改的四个文件.
1.vi /etc/modprobe.conf 添加alias net-pf-7 ip_gre
2.vi /etc/pptpd.conf 去掉ppp /usr/sbin/pppd前面#
修改下面ip
3vi编辑 /etc/ppp/options.pptpd
修改dns 即拨入后分配的DNS.
去掉dump注释符.# (网上说也去掉debug的,但是我们不用,毕竟服务器不是自己的)
最后编辑vi /etc/ppp/chap-secrets给用户权限和分配IP
格式:用户,服务 密码 * (通陪符)
现在改下防火墙配置。
vi /etc/sysconfig/iptables 让1723对外开发还有udp的53.
编辑好了以后,重新启动下防火墙好让配置生效 /etc/init.d/iptables restart
此时,就可以正常拨入VPN了.不过,现在拨入进去后只能跟服务器通信 还不能上外网.:)
继续在shell里执行
iptables -t nat -F
iptables -t nat -A POSTROUTING -s xx.xx.xx(拨入后分配的IP) -j SNAT --to xx.xx.xx服务器IP
哈哈,现在退出再拨入 看看是不是能上网了? 嘿嘿
不过现在要是服务器重新启动的话,下次拨入就又不能上网。那咋们保存下防火墙配置/etc/rc.d/init.d/iptables save。
呵呵
最后编辑下vi /etc/sysctl.conf
把net.ipv4.ip_forward = 0 改成999
最后将pptpd设置为自启动
chkconfig --add pptpd
chkconfig --level 35 pptpd on
嘿嘿,接着清理下日记闪人!。一台高效的VPN肉鸡就这么诞生了!