当前位置: 首页 > 文档资料 > Debian 学习笔记 >

8.16. 用pptp client连接远程VPN服务器

优质
小牛编辑
130浏览
2023-12-01

远程维护能有效减轻系统管理员的工作强度,并能提高管理效率。所以公司一般都会设置有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脚本。安装方法如下:

    1. 把以下内容添加到你Debian系统的资源列表中,它位于/etc/apt/sources.list。

      # James Cameron's PPTP GUI packaging
      deb http://quozl.netrek.org/pptp/pptpconfig ./
      
    2. 更新系统软件包信息

      # apt-get update
      
    3. 安装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代替配置文件中这两项内容。