红联Linux门户
Linux帮助

Linux从入门到精通系列之PPTP

发布时间:2015-04-09 16:47:39来源:linux网站作者:sangh

今天我们来说下怎么在linux环境下如何搭建PPTP-VPN,PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网(VPN),可以通过密码验证协议(PAP)、可扩展认证协议(EAP)等方法增强安全性。可以使远程用户通过拨入ISP、通过直接连接Internet或其他网络安全地访问企业网。

首先呢我先说下环境,我用的是CentOS5.8.软件包呢就是yum安装的ppp。而pptpd呢是用wget下载的。


下面我们开始介绍安装步骤:

1.安装ppp

yum install -y ppp


2.下载pptpd

wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)

wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)


3.安装pptpd

rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)

rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)


4.配置pptpd

编辑/etc/pptpd.conf文件:

cp /etc/pptpd.conf /etc/pptpd.conf.bak

vim /etc/pptpd.conf

option /etc/ppp/options.pptpd
logwtmp
localip 192.168.9.1
remoteip 192.168.9.11-30

localip表示服务器的IP(根据实际情况设置),remoteip表示分配给客户端的IP地址,可以设置为区间。这里我们使用pptp默认的配置

接下来我们再编辑/etc/ppp/options.pptpd文件,为VPN添加联通DNS

cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak

vim /etc/ppp/options.pptpd

在末尾添加下面两行:

一般只需修改ms-dns,分配给VPN客户端的DNS服务器IP地址

ms-dns 202.106.0.20

设置pptp VPN账号密码,编辑/etc/ppp/chap-secrets 这个文件:

vim /etc/ppp/chap-secrets

按照“用户名 pptpd 密码 *”的形式编写,一行一个账号和密码。比如添加用户名为test,密码为123456的用户:

test pptpd 123456 *(指定分配给test用户的ip)


5.修改内核设置,使其支持转发

vim /etc/sysctl.conf

将“net.ipv4.ip_forward”改为1,变成下面的形式:

net.ipv4.ip_forward=1

保存退出,并执行下面的命令来生效它:

sysctl -p


6.开启pptpd服务,并设置成开机自启

/etc/init.d/pptpd start
Shutting down pptpd: [FAILED]
Starting pptpd: [  OK  ]

然后chkconfig pptpd on设置开机自启。


下面呢我们来说下安装的过程中会遇到哪些问题:

1.在安装pptpd rpm包的时候

如果安装的时候报如下错误:

warning: pptpd-1.3.4-1.rhel5.1.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 862acc42: NOKEY
error: Failed dependencies:
ppp = 2.4.4 is needed by pptpd-1.3.4-1.rhel5.1.x86_64

在安装包后面加上两个参数就好,如下:

rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm --nodeps --force

加上那两个参数的意义就在于,
安装时不再分析包之间的依赖关系而直接安装,

也就不会再提示error: Failed dependencies:这样的错误了


2.在最后启动服务的时候

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.

上面这句话的意思是说:VPN服务在重启时,不能终止已存在的VPN连接,所以可能会造成重启VPN服务后,分配相同的IP地址给后来连接的VPN客户机。为了解决以上问题,在停止VPN服务时,可以使用命令“service pptpd restart-kill” 断开所有已存在的VPN连接,然后使用命令“service pptpd start” 重新启动VPN服务。


最后我们说下怎么测试:

首先在Windows 7 的网络右键属性然后点击第一个新建连接vpn
Linux从入门到精通系列之PPTP

Linux从入门到精通系列之PPTP

Linux从入门到精通系列之PPTP

Linux从入门到精通系列之PPTP

Linux从入门到精通系列之PPTP

注:以上图片上传到红联Linux系统教程频道中。

最后连接就可以了。


本章总结:

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