twbsd.org
 
  Select Language: Home  SmbFTPD Forum 

精華文章

VPN How-To

PHP 網頁修改系統密碼

Filtering Bridge (翻譯)

PHP從網頁傳遞變數的改變

NIS 伺服器

 


View printable page

VPN How-To

VPN How-To

VPN 是 Virtual Private Network 的缩写,意思是虚拟私有网络,也就是在公开的网络架构上,虚拟一个私有的网络。这个虚拟的网络架构具有和真正私有网络一样的安全性、管理便利性及效能。VPN 的目的是用来取代原本专线式的私有广域网络,以更符合成本效益的方式来达成相同的目的。

举例而言,如果您有二个分公司位于不同的城市,每个分公司内部都有自己的私有内部网络,而二个公司的内部网络原本是无法连接使用,除非建立一条专线,以连接二个公司的网域。然而,若改用 VPN 的方式,我们可以使用现有的因特网架构,在二个公司分别架设 VPN 服务器,则二个不同城市的公司内部网络就可以连接起来。另外,我们也可以从家里使用 Windows VPN 拨号联机到公司内部网络中。

和传统的专线式私有网络相比,由于 VPN 使用现成低廉的网络架构,所以成本上便宜许多,而且日后不论是要进行线路变更或架构更动也比较容易。本文中,我们将介绍如何使用 FreeBSD 建立 VPN Server,让使用者可以从 MS Windows 上使用 VPN 拨路联机到公司内部网络。

们使用 poptop 这个软件来建立 PPTP 的 VPN 联机,PPTP 是 Windows  所使用的 VPN。我们在 FreeBSD 上建立 VPN 之后,使用者可以自远程使用 Windows 经由 Internet 使用 VPN 拨号连到公司的内部区网。

基本架构如下:

我们假设公司内部网络 IP 为 192.168.x.x,而 FreeBSD 这台 NAT Server 上,我们另外安装了 poptop 这套 VPN 软件。

步骤一:

请先确认在 Kernel 中有下列这行设定:

# 如果您使用的是 FreeBSD 4.x
pseudo-device	tun		# Packet tunnel.
# 如果您使用的是 FreeBSD 5.x
device		tun		# Packet tunnel.

步骤二:

接着我们要在 FreeBSD 的 NAT server 上安装 ppptop,请使用下列指令安装:

# cd /usr/ports/net/poptop
# make install clean

步骤三:

请在 /usr/local/etc/ 新增一个 pptpd.conf,并编辑内容如下:

# 表示我们使用的 ppp 设定档位罝
option /etc/ppp/ppp.conf
# 表示要打开除错 (debug) 模式
debug
# 如果您有多个对外的 IP,但只要接受从其中一个 IP 进来的联机,
# 则在下列这一行中设定。
##listen 208.212.80.82

# NAT server 所使用的区网 IP
localip 172.16.1.1
# 要给远程的 IP,范围是 172.16.0.1 ~ 172.16.0.254
remoteip 172.16.0.1-254
# 设定存放 pid file 的位置
pidfile /var/run/pptpd.pid

步骤四:

接着我们要编辑 PPP 所使用的设定档,请先将原本的 /etc/ppp/ppp.conf 更名备份起来,我们使用文书编辑软件来新增一个新的 ppp.conf,内容如下:

loop:
 set timeout 0
 set log phase chat connect lcp ipcp command
 set device localhost:pptp
 set dial
 set login
 # Server (local) IP address, Range for Clients, and Netmask
 set ifaddr 172.16.1.1 172.16.0.1-172.16.0.254 255.255.0.0
 set server /tmp/loop "" 0177

loop-in:
 set timeout 0
 set log phase lcp ipcp command
 allow mode direct
pptp:
 load loop
 enable chap
 enable MSCHAPv2
 disable deflate pred1
 deny deflate pred1
 set mppe 128 stateless
 enable MPPE
 accept MPPE
 enable chap81
 disable pap
 enable proxy
 accept dns
 # DNS Servers to assign client
 set dns 192.168.1.1
 set device !/etc/ppp/secure

步骤五:

在使用者从 Windows 端使用 VPN 拨号时,我们在 ppp.conf 中设定了所要使用的装置设定文件为 /etc/ppp/secure,这个档是一个执行档,我们使用 shell script 设定执行 ppp 这个指令。请新增一个文字文件 /etc/ppp/secure,内容如下:

#!/bin/sh
exec /usr/sbin/ppp -direct loop-in

接下来必须使用下列指令将该档案设为可执行:

# chmod 755 /etc/ppp/secure

步骤六:

然后我们要新增一个文字文件 /etc/ppp/ppp.secret 存放使用者数据及密码,其格式为 username password:

alex	Saxophone
bill	Pwanuts
john	mypasswd

由于这个档案内容包含了 password,所以我们必须将它设为只有 root 可以读取:

# chmod 660 /etc/ppp/ppp.secret

步骤七:

现在我们可以启动 VPN 服务了:

# cd /usr/local/etc/rc.d
# cp pptpd.sh.sample pptpd.sh
# /usr/local/etc/rc.d/pptpd.sh start

步骤八:

在 Windows 端的设定方面,请在控制台的网络联机中建立一个新的网络联机:

下图中,我们选第二个选项,以建立 VPN 联机。

依照画面中的指示,我们选择建立一个虚拟私人网络联机:

请您为这个联机命名:

如果您使用 ADSL 或 modem,在使用 internet 之前必须先拨号联机,您可以在这里选择当使用 VPN 时先自动拨接,或者您可以可选择不要拨接起始联机,只要您在使用 VPN 时先将计算机连上 Internet 即可。

接着请输入 VPN 服务器的对外 IP,您可以可以输入 domain name。

完成后,会自动跳出一个拨号窗口,您也可以在控制台中的网络联机中找到您新增
的VPN 联机。在下图出现时,请选择内容:

接着请选择[安全性] 的卷标,在安全性选项中,我们选择[进阶] -> [设定]:

进入进阶设定后,请确认您的设定是否为下图所示:

都设定好之后,请按确定回到下列画面。接着输入账号及密码后就可以进行拨号了。在开始使用VPN 拨号前,如果您使用的是拨接式的ADSL 或Modem,您必须先将建立ADSL 联机,才可以进入VPN 拨号喔。

Top Ths file was last modified: 2005 September 24 05:15:18.

Copyright © 2002-2025 Alex Wang from www.twbsd.org. All rights reserved.