centos系统下安装VPN(pptp)

内核支持
pptpd VPN需要内核支持mppe,很多vps都会把mppe编译进去,所以这个不成问题。
软件安装:
要实现pptp vpn服务器,必要软件为iptable和pptpd
yum install -y ppp iptables
pptpd软件需要下载。很多最小化安装的centos是不支持wget命令的,解决办法输入 以下命令:
rpm -ivh http://centos.ustc.edu.cn/centos/5.3/os/i386/CentOS/wget-1.10.2-7.el5.i386.rpm 
或者(yum -y install wget)推荐
安装完后就到 http://www.poptop.org/ 下载pptpd的rpm包并安装,根据你的系统选择,我的32位centos系统就选择了i386包。
为了统一管理软件,我建了个目录在 mkdir /home/sofware,进入这个目录后输入
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm
然 后安装下载到rpm文件:
rpm -ivh pptpd-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-dns 208.67.222.222
ms-dns 208.67.220.220
以上两个 dns是opendns的地址,当然你也可以新潮一把使用google的dns,那就是设置为:
ms-dns 8.8.8.8
ms-dns 8.8.4.4

配置文件 /etc/pptpd.conf 指令:
vi /etc/pptpd.conf
内容按以 下设置:
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.92.1
remoteip 192.168.92.11-50
以上remoteip地址是拨号进入vpn后分配的地址,192.168.92.11-50 就表示可能这个ip段里的任意一个。跟下面的iptable设置有关.

配置文件vi /etc/ppp/chap-secrets开始编辑vpn账户,输入以下内容:
username pptpd password *
注意不要留空行,容易出问题。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 -t nat -A POSTROUTING -o eth0 -s 192.168.92.0/24 -j MASQUERADE
#iptables -A FORWARD -p tcp –-syn -s 172.16.0.0/24 -j TCPMSS –-set-mss 1256
/etc/init.d/iptables save
/etc/init.d/iptables restart
安装pptpd后一般都会自动打开1723和47端口,如果没有打开可以执行:
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp --dport 47 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
需要服务器启动时候自动启动VPN服务,还需要输入chkconfig pptpd on和chkconfig iptables on这两条命令。
重启下pptpd进程:
service pptpd restart
到此为止,vpn配置完成!
如果你无法访问一些特定网站,建议你修改ppp接口的MTU(很多时候iphone能连接vpn但是无法打开任何网页也可能跟这个有 关系)
输入vi /etc/ppp/ip-up
在倒数第二行加入如下内容:
/sbin/ifconfig $1 mtu 1400
保存后需要重启PPTP服务器,指令如下:
service pptpd restart

猜你喜欢

转载自laibulai.iteye.com/blog/941626