PPTP IN LINUX

PPTP是微软开发的二层×××协议,虽然L2TP(CISCO与MS合作将自家的L2F与PPTP整合)性能更优越,但是PPTP还是有市场的。

下面简要介绍Linux上PPTP的安装。其实就是几个软件,建立连接时需要配置的东西极少,很简单。
1.        安装软件
dkms-2.0.6-1    #动态内核模块支持,使得驱动的开发和应用简单化,貌似是dell支持的项目
kernel_ppp_mppe-1.0.2-3dkms #MPPE加密协议的内核补丁
ppp-2.4.4-2.el5    #ppp软件包,CentOS 5.6默认安装了
pptpd-1.3.4-1.i386.rpm   #这个软件包基本上是很难找的
PPTP的RPM包网上很难找到,官网上给的也是一个tar包。但是常规安装完成之后/etc/pptpd.conf这个文件没有安装,而且pptpd服务也没有安装,不知道什么原因。在国外的一个网站搜到一个SRPM包,编译后正常使用,地址如下:
http://files.doylenet.net/linux/yum/centos/5/SRPMS/doylenet/pptpd-1.3.4-1.src.rpm
2.        软件安装
首先安装dkms-2.0.6-1,否则安装kernel_ppp_mppe的时候会有依赖性报错。前面三个软件安装基本上不会出现什么问题,难点就是pptp的安装。当然,如果用srpm包安装的话就很简单了。
rpmbuild --rebuild pptpd-1.3.4-1.src.rpm
然后进入/usr/src对应的系统目录,CentOS就是redhat,然后进入RPMS/i386,刚才编译出的RPM包就放在这个目录下。
[root@www i386]# pwd;ls
/usr/src/redhat/RPMS/i386
pptpd-1.3.4-1.i386.rpm pptpd-debuginfo-1.3.4-1.i386.rpm
然后安装
rpm –ivh pptpd-1.3.4-1.i386.rpm
3.        编辑配置文件 /etc/pptpd.conf和/etc/ppp/chap-secrets
/etc/pptpd.conf定义了建立×××的IP地址,以及×××连接建立后分配给客户端的IP地址
例如:
localip 192.168.1.34   #Linux连接外网建立×××的地址,因为在局域网测试故写的是私有IP
remoteip 192.168.1.100-200 #分配给客户端的IP地址
/etc/ppp/chap-secrets这个文件保存了建立PPP时认证的信息,因为PPTP是基于PPP的。
例如:
[root@www i386]# vi /etc/ppp/chap-secrets
 
# Secrets for authentication using CHAP
# client        server secret                  IP addresses
"ila"            pptpd "goodday"                   "*"
这样有点不安全哈,全是明文的。
4.        打开linux路由器的路由功能
echo “1” >/proc/sys/net/ipv4/ip_forward
         这里linux服务器作为×××网关需要路由功能。
5.        编辑防火墙
防火墙打开了的话需要放行流量
iptables –I INPUT –p tcp --dport 1723 –j ACCEPT 
iptables –I INPUT –p gre –j ACCEPT
 
[root@www ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     gre -- anywhere             anywhere           
ACCEPT     tcp -- anywhere             anywhere            tcp dpt:pptp
6.        启动×××服务
这里用的是restart旨在说明重启服务不会终结当前已经建立的×××连接,见Warning:
[root@www i386]# service pptpd restart
Shutting down pptpd:                                       [ OK ]
Starting pptpd:                                            [ OK ]
Warning: a pptpd restart does not terminate existing
connections, so new connections may be assigned the same IP
address and cause unexpected results. Use restart-kill to
destroy existing connections during a restart.
上面这段话的意思就是重启服务不会终结已经建立起来的连接而且还会因为再次分配IP造成未知错误,建议使用restart-kill的方式来重启服务。
还可以用/etc/rc.d/init.d/pptpd start或者/etc/init.d/pptpd start的方式来重启(/etc/init.d是一个软链接指向/etc/rc.d/init.d)
7.        在XP上新建连接

每天进步一点点:(17)linux PPTP搭建_PPTP 

 

每天进步一点点:(17)linux PPTP搭建_休闲_02 每天进步一点点:(17)linux PPTP搭建_PPTP_03

每天进步一点点:(17)linux PPTP搭建_PPTP_04 

每天进步一点点:(17)linux PPTP搭建_休闲_05 

输入正确的用户名和密码,这样就O了。

每天进步一点点:(17)linux PPTP搭建_职场_06

 

8.   开机自启动
ntsysv设置勾选pptpd服务或者chkconfig --level 35 pptpd on