pasckr 发表于 2016-5-9 15:49:33

Linux下用pptp连接VPN服务器




    目前Linux发行版本主要分成两个系列2.4内核(redhat9、redhat8.0、fedoracore1、RHEL3)、2.6内核(fedoracore2-6、RHEL4)。首先介绍前者。这里以redhat9为准。
1.安装基础软件包libglade和libglade-devel
libglade和libglade-devel是一个用于GTK+/GNOME程序。从xxx.glade文件自动生成程序界面或界面中的一部分的库。Glade设计初衷就是要把GTK+/GNOME程序的界面描述从源代码里分离出来,即使用xxx.glade文件来描述界面,而不是把生成界面的c代码写再源代码中,额外的好处就是使得后期修改程序界面非常容易,你只需要使用Glade来调整界面即可(实际是仅仅修改了xxx.glade文件,无需对源程序做改动)。另外,使用.glade文件来生程序界面并不会影响到你的程序的效率,因为你只需要一次装入所有界面,然后在需要时直接使用。如果在系统安装时已经把安装上了,那么我们就可以直接安装VPN客户端软件。否则,可以通过RatHetLinux图形界面下的“添加/删除应用程序”工具进行安装。具体方法是,选择“主选单”→“系统设置”→“添加/删除应用程序”,在弹出的界面中选中“GNOMESoftwareDevelopment”,单击“更新”即可。如图1。
图1安装libglade和libglade-devel
如果您的Linux发行版本没有这两个软件也可以通过网络安装。下载网址:http://ftp.gnome.org/pub/GNOME/sources/libglade/2.0/libglade-2.0.1.tar.bz2
2.安装DKMS模块软件包
DKMS(DynamicKernelModuleSupport)动态内核模块支持。旨在创建一个内核相关模块源可驻留的框架,以便在升级内核时可以很容易地重建模块。这将允许Linux供应商提供较低版本的驱动程序,而无需等待新内核版本发行,同时还可以省去尝试重新编译新内核模块的客户预期要完成的工作。Oikawa等人在1996年提出一种与LKM类似的动态核心模块(DKMs)技术。与LKM一样,DKMs以文件的形式存储并能在系统运行过程中动态地加载和卸载。DKMs由一个用户层的DKM服务器来管理,并非由内核来管理。当核心需要某模块时,由DKM服务器负责把相应的DKM加载;当核心的内存资源紧缺时,由DKM服务器负责卸载一个没有被使用的DKM。缺点是所有的DKM是存储在本地系统上的,占用了大量宝贵的存储空间。DKMS工作原理见图2。
图2DKMS工作原理
#wgethttp://www.city-fan.org/ftp/contrib/drivers/pptp/dkms-2.0.13-1.noarch.rpm
#rpm--installdkms-2.0.13-1.noarch.rpm
3.安装、查看ppp内核模块
#wgethttp://www.city-fan.org/ftp/contrib/drivers/pptp/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
#rpm--installkernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
#dkmsstatus
#kernel_ppp_mppe,0.0.5,2.4.20-8,athlon:installed(original_moduleexists)
4.升级ppp软件包
#wgetftp://rpmfind.net/linux/ASPLinux/contribs/9/i386/ppp-2.4.2-0.20030925asp.i386.rpm
#rpm--upgradeppp-2.4.2-0.20030925asp.i386.rpm
5.安装VPN客户端软件pptp-linux和图形前端
#wgetftp://fr2.rpmfind.net/linux/sourceforge/p/pp/pptpclient/pptp-linux-1.5.0-1.i386.rpm
#rpm--installpptp-linux-1.4.0-1.i386.rpm
#wgetftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/p/pp/pptpclient/pptp-php-gtk-20040102-rc1.i386.rpm
rpm--installpptp-php-gtk-20040102-rc1.i386.rpm
#p#分页标题#e#
6.启动图形前端pptpconfig
在命令行下使用命令“pptpconfig”即可启动启动图形前端。如图3。
Server(服务器)选项
图3Server(服务器)选项
说明:在服务器选项卡中,我们需要配置一些要素:
Name:连接的名称。你可以随意地对它命名。
Server:你将连接的VPN服务器,既可以是VPN服务器的IP也可以是名称。
Domain:如果有的话,是指VPN将连接的域。
Username:你的VPN或企业内部网登录用户名。
Password:VPN或企业内部网的登录口令。
Routing(路由)选项
通常我们需要发送AlltoTunnel。然而,它可以,也会因VPN而异。与你的网络管理员确定你需要选择单选按钮。如图4。
图4Routing路由选项
DNS选项
DNS选项卡通常十分简单;它是自动的,或者我们需要输入一些基本的DNS信息以及可能需要包含的选项。如图5。
图5DNS选项
Encryption(加密)选项如图6。
图6Encryption(加密)选项
说明:加密选项卡比较复杂。有许多选择:
RequireMicrosoftPoint-to-PointEncryption(MPPE):需要微软点对点加密。
Refuse40-bitEncryption:拒绝40位加密。
Refuse128-bitEncryption:拒绝128位加密。
RefuseStatelessEncryption:拒绝无状态加密。
这里我们选择需要微软点对点加密。
Miscellaneous(杂项)选项
选项卡是我们的最后一个选项卡。如图7。
图7Miscellaneous(杂项)选项
说明:
Starttunnelwhenthisprogramstarts:自动启动VPN隧道。
Enableconnectiondebuggingfacilities:显示连接信息。
Reconnectifdisconnected:自动重复连接。
#p#分页标题#e#
7.启动VPN连接
所有选项完成后点击“Add”按钮,系统会自动连接PPTPVPN服务器。此时屏幕会出现一个
连接状态界面如图8。图8连接状态界面
从图8可以看到VPN服务器的IP地址是192.168.0.3。MPPE加密功能已经启用。VPN接口是PPP1。
此时在PPTPVPN服务器使用ifconfig-a命令查看:
#ifconfig-a
eth0Linkencap:EthernetHWaddr00:0C:29:51:8A:2E
inetaddr:192.168.1.18Bcast:192.168.1.255Mask:255.255.255.0
inet6addr:fe80::20c:29ff:fe51:8a2e/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:98errors:0dropped:0overruns:0frame:0
TXpackets:89errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:11572(11.3KiB)TXbytes:8310(8.1KiB)
Interrupt:10Baseaddress:0x1400
loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
inet6addr:::1/128Scope:Host
UPLOOPBACKRUNNINGMTU:16436Metric:1
RXpackets:3967errors:0dropped:0overruns:0frame:0
TXpackets:3967errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:4158080(3.9MiB)TXbytes:4158080(3.9MiB)
ppp0Linkencap:Point-to-PointProtocol
inetaddr:192.168.0.3P-t-P:192.168.1.128Mask:255.255.255.255
UPPOINTOPOINTRUNNINGNOARPMULTICASTMTU:1496Metric:1
RXpackets:30errors:0dropped:0overruns:0frame:0
TXpackets:8errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:3
RXbytes:3132(3.0KiB)TXbytes:92(92.0b)
ppp1Linkencap:Point-to-PointProtocol
inetaddr:192.168.1.129P-t-P:192.168.0.3Mask:255.255.255.255
UPPOINTOPOINTRUNNINGNOARPMULTICASTMTU:1496Metric:1
RXpackets:7errors:0dropped:0overruns:0frame:0
TXpackets:7errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:3
RXbytes:70(70.0b)TXbytes:76(76.0b)
sit0Linkencap:IPv6-in-IPv4
NOARPMTU:1480Metric:1
RXpackets:0errors:0dropped:0overruns:0frame:0
TXpackets:0errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:0(0.0b)TXbytes:0(0.0b)
其中ppp0是Windows客户端连接PPTPVPN的接口。Ppp1是Linux客户端连接PPTPVPN的接口。
下面我们使用连接状态界面的Ping按钮测试连接状况,如图9。
图9使用Ping按钮测试连接状况
可以看到Ping操作成功。
8.断开VPN连接方法
断开VPN连接方法点击“stop”按钮即可,此时pptpconfig状态栏颜色从绿色(运行状态)
转变为蓝色(停止状态),如图10。
图10断开VPN连接方法
图形前端pptpconfig程序:pptp-php-gtk已经停止更新(2003年12月18日);所以使用2.6内核版本的用户可以使用其更新软件。下面笔者会简单介绍一下安装方法。以FedoraCore2为例子:
1.下载安装相关库文件
#wgethttp://www.city-fan.org/ftp/contrib/drivers/pptp/libglade-0.17-19.fc6.i386.rpm
#wgethttp://www.city-fan.org/ftp/contrib/drivers/pptp/libglade-devel-0.17-19.fc6.i386.rpm
#rpm–ivhlibglade-devel-0.17-19.fc6.i386.rpm
#rpm–ivhlibglade-0.17-19.fc6.i386.rpm
2.安装DKMS模块软件包
#wgethttp://www.city-fan.org/ftp/contrib/drivers/pptp/dkms-2.0.13-1.noarch.rpm
#rpm--installdkms-2.0.13-1.noarch.rpm
3.下载安装、查看kernel_ppp_mppe内核模块
#wgethttp://www.city-fan.org/ftp/contrib/drivers/pptp/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
#rpm--installkernel_ppp_mppe-0.0.4-2dkms.noarch.rpm
#modprobeppp-compress-18&&echosuccess
success#应当显示success信息#
4.下载安装ppp软件包
#wgethttp://www.city-fan.org/ftp/contrib/drivers/pptp/ppp-2.4.4-1.2.fc2.i386.rpm
#rpm--upgradeppp-2.4.4-1.2.fc2.i386.rpm
5.下载安装VPN客户端软件pptp-linux
#wgetftp://fr2.rpmfind.net/linux/sourceforge/p/pp/pptpclient/pptp-linux-1.5.0-1.i386.rpm
#rpm--installpptp-linux-1.4.0-1.i386.rpm
6.下载安装辅助软件包
#wgethttp://www.city-fan.org/ftp/contrib/drivers/pptp/php4-pcntl-4.4.1-2.i386.rpm
#wgethttp://www.city-fan.org/ftp/contrib/drivers/pptp/php4-pcntl-gtk-1.0.2-2.i386.rpm
#rpm-ivhphp4-pcntl-4.4.1-2.i386.rpm
#rpm-ivhphp4-pcntl-gtk-1.0.2-2.i386.rpm
7.下载、安装前端GUI软件pptpconfig
#wgethttp://www.city-fan.org/ftp/contrib/drivers/pptp/pptpconfig-20060821-1.noarch.rpm
#rpm-ivhpptpconfig-20060821-1.noarch.rpm
#p#分页标题#e#
8.启动图形前端pptpconfig
在命令行下使用命令“pptpconfig”即可启动启动图形前端。主要界面和2.4内核版本介绍的基本相同。只是在Encryption(加密)选项如图1。
图11在Encryption(加密)选项
多出一个选项即:RefusetoAuthenticatewithEAP〔refuse-eap〕拒绝EAP认证。
linux下要用vpn会用到ppp,但似乎很难与windows作为服务器的vpn服务器沟通:
先看看如何显示调试信息,这对找出问题的出处很有帮助。
在/etc/ppp/options.pptp里加入
debugdumplogfd2nodetach
如果有"Unsupportedprotocolrcvd"这样的错误,那么需要在options.pptp里加入这一句
refuse-eap
这个选项即对应以上配置文件的选项。
其他方面图形前端2.6内核版本的pptpconfig和2.4内核版本的设置是相同的这里就不赘述了。
页: [1]
查看完整版本: Linux下用pptp连接VPN服务器