centos6安装PPTP协议VPN服务

分别在centos6.6(32位)及centos6.5(64位)测试
1.yum install ppp iptables
2.下载pptpd

首先使用 getconf LONG_BIT 查看系统是32位还是64位

然后使用 uname -a 查看是el6还是rhel5的。
然后按照以上的结果自行选择rpm下载:

32位系统下载:

wget http://soft.7dot.com/soft/pptpd-1.3.4-2.el6.i686.rpm
wget http://soft.7dot.com/soft/pptpd-1.3.4-1.rhel5.1.i386.rpm
64位系统下载:

wget http://soft.7dot.com/soft/pptpd-1.3.4-2.el6.x86_64.rpm
wget http://soft.7dot.com/soft/pptpd-1.3.4-1.rhel5.1.x86_64.rpm
3.rpm -ivh ./pptpd-1.3.4-2.xxxx.rpm
4.vi /etc/ppp/options.pptpd
修改
ms-dns 114.114.114.114
ms-dns 8.8.8.8

5.vi /etc/ppp/chap-secrets
有4列数据,分别表示 用户名称|服务名称(随意填写,可用*代替)|用户密码|连接IP(可用*代替)

qwerty * 123456 *

6.vi /etc/pptpd.conf
开启一下两个配置项(去掉前面的#号)
localip 192.168.1.1 #设置VPN服务器IP地址
remoteip 192.168.1.100-199 #为拨入VPN的用户动态分配192.168.1.100~192.168.1.199之间的IP
7.vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 #开启路由模式
8./sbin/sysctl -p #使第7步的设置立刻生效
9.配置防火墙NAT转发
运行ifconfig查看外网网卡是eth0还是ethxxx
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0(视自己的网卡名称为准) -j MASQUERADE
/etc/init.d/iptables save #保存防火墙设置
/etc/init.d/iptables restart #重启防火墙
chkconfig iptables on #设置开机启动
10.设置PPTP开机启动
/sbin/service pptpd start #启动
/sbin/service pptpd restart
chkconfig pptpd on #设置开机启动
11.设置开机自动建立ppp设备节点
vi /etc/rc.d/rc.local #编辑
mknod /dev/ppp c 108 0 #在文件最后添加此行代码

提示:

有时候连上VPN后会发现有些网站打不开,这里给出一个可能的解决方案。

查看本机物理网卡的MTU,比如是1500

而安装pptpd后虚拟网卡ppp0的MTU是1396

而MTU的作用就不在此赘述,感兴趣的朋友可以自行google.

下面给出解决方法:

编辑或新建/etc/ppp/ip-up.local

输入以下内容

#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
ifconfig $1 mtu 1496
chmod +x /etc/ppp/ip-up.local

保存后重启pptpd服务

此时再查看ppp0的MTU会发现MTU已经改为我们设置的MTU值。

这种方法是长期有效的,如果只是想在服务重启前使用一次,可以使用以下命令临时调整MTU

ifconfig eth0 mtu 1496