centos系统下安装VPN(pptp)

89421950 2011-03-05

内核支持

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

相关推荐