centos系统下安装VPN(pptp)
内核支持
pptpdVPN需要内核支持mppe,很多vps都会把mppe编译进去,所以这个不成问题。
软件安装:
要实现pptpvpn服务器,必要软件为iptable和pptpd
yuminstall-ypppiptables
pptpd软件需要下载。很多最小化安装的centos是不支持wget命令的,解决办法输入以下命令:
rpm-ivhhttp://centos.ustc.edu.cn/centos/5.3/os/i386/CentOS/wget-1.10.2-7.el5.i386.rpm
或者(yum-yinstallwget)推荐
安装完后就到http://www.poptop.org/下载pptpd的rpm包并安装,根据你的系统选择,我的32位centos系统就选择了i386包。
为了统一管理软件,我建了个目录在mkdir/home/sofware,进入这个目录后输入
wgethttp://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm
然后安装下载到rpm文件:
rpm-ivhpptpd-1.3.4-1.rhel5.1.i386.rpm
软件设置:
主要的配置文件是放在
/etc/pptpd.conf
/etc/ppp/options.pptpd
/etc/ppp/chap-secrets配置文件 /etc/ppp/options.pptpd 指令:
vi/etc/ppp/options.pptpd
将ms-dns前的#注释去掉,设置下dns
ms-dns208.67.222.222
ms-dns208.67.220.220
以上两个dns是opendns的地址,当然你也可以新潮一把使用google的dns,那就是设置为:
ms-dns8.8.8.8
ms-dns 8.8.4.4配置文件 /etc/pptpd.conf 指令:
vi/etc/pptpd.conf
内容按以下设置:
option/etc/ppp/options.pptpd
logwtmp
localip192.168.92.1
remoteip192.168.92.11-50
以上remoteip地址是拨号进入vpn后分配的地址,192.168.92.11-50 就表示可能这个ip段里的任意一个。跟下面的iptable设置有关.配置文件vi /etc/ppp/chap-secrets开始编辑vpn账户,输入以下内容:
usernamepptpdpassword*
注意不要留空行,容易出问题。username就是用户名password就是密码,可以根据你的需要设置。
比如我想加一个新的用户,名字叫vpntest密码是123456,*代表允许从任何地址连接vpn,就加这么一行
vpntest pptpd 123456 *开启系统的封包转发功能:
方法一、
然后输入vi/etc/sysctl.conf开始编辑
找到
net.ipv4.ip_forward=0
改成
net.ipv4.ip_forward=1
作用就是让vpn支持ip转发,这是很重要的设置,是能上外网的关键。
保存并 退出,然后执行sysctl -p这个命令让设置生效。方法二、
打开linux内核的路由功能(保证每次开机都得运行打开路由功能,加入vi/etc/rc.local)
echo“1″>/proc/sys/net/ipv4/ip_forward
(确认系统SELINUX是否关闭 vi /etc/selinux/config,看看里面SELINUX=disabled)配置iptable:
执行以下命令:
iptables-tnat-APOSTROUTING-oeth0-s192.168.92.0/24-jMASQUERADE
#iptables-AFORWARD-ptcp–-syn-s172.16.0.0/24-jTCPMSS–-set-mss1256
/etc/init.d/iptablessave
/etc/init.d/iptablesrestart
安装pptpd后一般都会自动打开1723和47端口,如果没有打开可以执行:
iptables-AINPUT-ptcp--dport1723-jACCEPT
iptables-AINPUT-ptcp--dport47-jACCEPT
iptables-AINPUT-pgre-jACCEPT
/etc/init.d/iptablessave
/etc/init.d/iptablesrestart
需要服务器启动时候自动启动VPN服务,还需要输入chkconfigpptpdon和chkconfigiptableson这两条命令。
重启下pptpd进程:
servicepptpdrestart
到此为止,vpn配置完成!
如果你无法访问一些特定网站,建议你修改ppp接口的MTU(很多时候iphone能连接vpn但是无法打开任何网页也可能跟这个有关系)
输入vi/etc/ppp/ip-up
在倒数第二行加入如下内容:
/sbin/ifconfig$1mtu1400
保存后需要重启PPTP服务器,指令如下:
service pptpd restart