(PPTP: Point to Point Tunneling Protocol)
默认端口号:1723
点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,它工作在第二层。通过该协议,远程用户能够通过 Microsoft Windows NT工作站、Windows xp 、 Windows 2000 和windows2003、windows7操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地ISP,通过 Internet 安全链接到公司网络。

通常情况下×××有PPTP,IPSEC,L2TP 这几种,PPTP最简便,IPSEC ×××最通用,各个平台都支持,L2TP ×××最安全。下面我们来看看具体配置过程:

第一步:下载与安装

注:首先确认要安装×××服务的操作系统版本,使用uname -i确认是32位(i386)还是64(x86)位,对应下载相应版本的软件

所用软件有:

dkms-2.0.17.5-1.noarch.rpm

kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

ppp-devel-2.4.4-14.1.fc9.i386.rpm

pptpd-1.3.4-2.fc9.i386.rpm

下载地址:http://poptop.sourceforge.net/yum/stable/

下载完后依次安装:

rpm -ivhdkms-2.0.17.5-1.noarch.rpm

rpm -ivhkernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

rpm -Uvh ppp-devel-2.4.4-14.1.fc9.i386.rpm

rpm -ivh pptpd-1.3.4-2.fc9.i386.rpm

安装完成之后用以下命令检查内核MPPE补丁是否安装成功,MPPE module可否载:

modprobeppp-compress-18 && echo success

然后用以下命令检查PPP是否支持MPPE:

strings'/usr/sbin/pppd'|grep -i mppe|wc --lines

(如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,我的是46)

第二步:修改配置文件

编辑 vi /etc/pptpd.conf 文件,确定本地×××服务器的IP地址和客户端登录后分配的IP地址范围。

配置如下:

   option /etc/ppp/options.pptpd

   logwtmpnn

   localip 10.0.1.2     //×××服务器的IP地址

   remoteip 192.168.0.234-238 //分给连入的vpn客户端的ip地址

   注意:为了安全性起见,localip和remoteip尽量不要同一个网段。

   编辑 /etc/ppp/options.pptpd 文件,我的配置如下:

   name pptpd     //pptpd服务器的名称

   refuse-pap     //拒绝pap身份验证模式

   refuse-chap    //拒绝chap身份验证模式

   refuse-mschap  //拒绝mschap身份验证模式

   require-mschap-v2

   require-mppe-128

   注:ms-dns指的是服务器的DNS地址,在配置之前使用cat /etc/resolv.conf查看DNS地址

   ms-dns 8.8.8.8 //分给连入的vpn客户端的dns

   ms-dns 8.8.8.4

   proxyarp      //建立ARP代理键值

   lock    //锁定客户端PTY设备文件

   nobsdcomp      //禁用BSD压缩模式

   novj

   novjccomp      //禁用 Van Jacobson 压缩模式

   nologfd        // 禁止将错误信息记录到标准错误输出设备(stderr)

   编辑 /etc/ppp/chap-secrets文件,这里配置连接到×××服务器的用户、密码和IP等信息:

   # Secrets forauthentication using CHAP

   # client        server secret                  IPaddresses

   vpn * “vpn” *

说明:上面第二行代码的四项内容分别对应第一行中的四项,vpn是客户端用户名,vixtel是客户端密码,第一个*是指×××服务器的名字,这里用*表示自动识别服务器,第二个*表示可以拨入的客户端IP地址,这里用*表示没有限制。

启动pptp服务

   service pptpd start    //试一下能不能连接上去,此时认证上去还不能上网

第三步:NAT配置

修改内核配置,使其支持转发,编辑/etc/sysctl.conf这个文件,将文件中

net.ipv4.ip_forward= 0  改为  net.ipv4.ip_forward = 1

保存退出,然后使用以下命令使其生效:

sysctl –p

iptables -t nat -A POSTROUTING -s 192.168.0.234/29 -o eth7 -j SNAT --to 183.237.204.2

-s 源地址,也就是分给客户的地址
--to 目的地址,也就是公网地址

service iptables status    //查看防火墙运行状态

打开防火墙端口,使外部用户能够连接pptp服务器,在防火墙中添加如下规则:(如果防火墙已经关闭了防火墙就不必做这些设置

/sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 47 -j ACCEPT

/sbin/iptables -A INPUT -p gre -j ACCEPT

最后重启pptp服务

service pptpd restart

    至此,pptp服务器的配置就完成了。

   第四步:在客户端测试连接×××