远程维护能有效减轻系统管理员的工作强度,并能提高管理效率。所以公司一般都会设置有VPN服务器以支持远程安全登录。现在的VPN服务器一般都同时支持pptp和IPSec两种协议,在Debian中我们可通过pptp client连接远程VPN服务器。pptp client是一种开源的pptp客户端,位于http://pptpclient.sourceforge.net/,网站上有pptp client的详细介绍。要使用pptp client,我们可手工安装配置,也可通过图形化的配置工具来进行安装和配置。安装方法如下:
用以下命令安装pptp client软件
# apt-get install pptp-linux
成功安装pptp软件后,就可进行配置了。有两种方法进行配置,一种是手动配置,在我写的“GNU/Linux问题集”里有详细介绍。另一种是通过图形界面配置工具pptpconfig进行配置,它是一个PHP脚本。安装方法如下:
把以下内容添加到你Debian系统的资源列表中,它位于/etc/apt/sources.list。
# James Cameron's PPTP GUI packaging deb http://quozl.netrek.org/pptp/pptpconfig ./
更新系统软件包信息
# apt-get update
安装pptpconfig软件包
# apt-get install pptpconfig
安装时Debian会把pptpconfig所依赖的其软件包都一起安装。
配置连接参数
server标签依次填上本地连接名,服务器名或IP,域(可选),用户名和密码。
Routing标签用来设置路由信息。可用"xxx.xxx.xxx.xxx/xx"的形式增加新的路由。我增加了一条到192.168.3.0/24的路由,以访问该网段。routing style选All to Tunnel,可改变本机的缺省路由,使本机的所有的网络流量都通过该通道。
DNS标签用来设置建立pptp连接后如何进行名称解析。不启用自动配置,将使用手工输入的DNS服务器代替/etc/resolv.conf里的名称服务器进行名称解析。启用自动配置,将会用拔号自动获得的DNS服务器替代/etc/resolv.conf里的DNS服务器,两种方式/etc/resolv文件都会被pptpconfig自动备份。连接断开后,pptpconfig会自动恢复旧有/etc/resovl.conf文件。
Encryption标签用于设置加密信息。
Miscellaneous标签可配置一些调试信息和连接状态。
pptpconfig是GTK+程序,需在X window环境下才能运行。但有时我们会在字符终端模式下启用SSH连接,以进行远程维护。这时我们要用到pon、poff程序。pon用于VPN拔号,poff用于断开VPN连接。要正常使用这两个程序,前提是要按上面的配置方法成功配置了一个VPN连接。假设我们已建立了一个名为remote的VPN连接,则可用以下命令连接VPN服务器。
debian:~# pon remote # 建立一个VPN连接 debian:~# plog # 查看VPN连接状态信息 #如要访问另一网段192.168.3.0,需为这个VPN通道添加一条到192.168.3.0网段的路由信息 debian:~# route add -net 192.168.3.0 netmask 255.255.255.0 dev ppp1 debian:~# poff remote # 断开VPN连接
remote这个VPN连接的信息主要存放在两个文件中,分别是/etc/ppp/chap-secrets和/etc/ppp/peers/remote。如果没有pptpconfig这个图形化配置工具,我们也可参考这两个文件的配置格式,手工配置。
/etc/ppp/chap-secrets文件示例:
# +++ pptpconfig added for tunnel remote username remote password * # --- pptpconfig added for tunnel remote
/etc/ppp/peers/remote文件示例:
# tunnel remote, written by pptpconfig $Revision: 1.2 $ # name of tunnel, used to select lines in secrets files remotename remote # name of tunnel, used to name /var/run pid file linkname remote # name of tunnel, passed to ip-up scripts ipparam remote # data stream for pppd to use pty "pptp 211.111.60.18 --nolaunchpppd " # domain and username, used to select lines in secrets files name username persist # do not require the server to authenticate to our client noauth # end of tunnel file
使用时需用真实的username和password代替配置文件中这两项内容。