使用 VPN 服务,可以远程连接到单位的网络,像在局域网内一样工作。

  在 FreeBSD 操作系统,VPN 服务可用 ppp 或者 mpd5 来提供。ppp 不需要另外安装软件,直接设置就可以了。但经过使用对比,我觉得使用 mpd5 做 VPN 服务器更好一点。

  下面是在 FreeBSD 上配置 mpd5 支持 VPN 服务的过程。

一、安装 mpd5。mpd5 可以提供多种服务,我只使用它提供的 VPN 服务。用 root 登录,在命令行输入:

pkg install mpd5

响应提示,完成安装过程:

The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        mpd5: 5.9_8

Number of packages to be installed: 1

The process will require 1 MiB more space.
385 KiB to be downloaded.

Proceed with this action? [y/N]: y
[1/1] Fetching mpd5-5.9_8.pkg: 100%  385 KiB 394.4kB/s    00:01
Checking integrity... done (0 conflicting)
[1/1] Installing mpd5-5.9_8...
[1/1] Extracting mpd5-5.9_8: 100%

二、运行 mpd5。在 /etc/rc.conf 文件中添加以下一行:

mpd_enable="YES"

保存后输入命令:

/usr/local/etc/rc.d/mpd5 start

mpd5 正常启动完毕。这个时候还没有启动 VPN 服务,VPN 服务侦听的端口是 1723。可通过下面的命令验证:

sockstat -4

电脑显示:

root     mpd5       895   17 tcp4   127.0.0.1:5005        *:*
root     mpd5       895   20 tcp4   *:5006                *:*

没有显示 1723 端口被 mpd5 侦听,1723 是VPN服务使用的端口。

三、设置mpd5支持VPN服务。打开文件/usr/local/etc/mpd5/mpd.conf,找到 default:

# Default configuration is "dialup"
default:
	load dialup

上面那行注释显示默认配置是拨号上网。将默认配置改为:

# Default configuration is "dialup"
default:
	load pptp_server
  #load dialup   #在这一行的前面加上#号将它注释掉,说不定将来还需要用到。

将默认的配置改为加载 pptp_server。

在这个文件中找到 pptp_server:,根据实际情况进行更改。

# Define dynamic IP address pool.
	set ippool add pool1 192.168.1.50 192.168.1.99

改为:

# Define dynamic IP address pool.
	set ippool add pool1 10.10.10.160 10.10.10.169   #//根据我的局域网进行设置,留出10个IP地址
#192.168.1.50 192.168.1.99

再向下几行,找到

# Specify IP address pool for dynamic assigment.
	set ipcp ranges 192.168.1.1/32 IPpool pool1
	set ipcp dns 192.168.1.3
	set ipcp nbns 192.168.1.4

改为:

# Specify IP address pool for dynamic assigment.
	set ipcp ranges 10.10.10.101 ippool pool1
#192.168.1.1/32 ippool pool1
#	set ipcp dns 192.168.1.3
#	set ipcp nbns 192.168.1.4

再向下找到

# Configure PPTP
        set pptp self 1.2.3.4

改为:

# Configure PPTP
        set pptp self 0.0.0.0
#1.2.3.4

保存文件并退出。

四、添加 VPN 用户。打开文件 /usr/local/etc/mpd5/mpd.secret。在文件最后添加这样一行:

test            "testvpn"       10.10.10.161

test 是登录 VPN 的账号,testvpn 是登录密码。 10.10.10.161 是指定给这个用户的IP地址,用户成功登录之后,使用这个地址访问内部网。

  到这里,重新启动一下,mpd5就可以提供VPN服务了。输入下面的命令重新启动:

/usr/local/etc/rc.d/mpd5 restart

用命令查看mpd5是否已经侦听1723端口:

~ # sockstat -4|grep mpd5
root     mpd5       895   17 tcp4   127.0.0.1:5005        *:*
root     mpd5       895   20 tcp4   *:5006                *:*
root     mpd5       895   24 tcp4   *:1723                *:*

可以看到 mpd5 已经在侦听 1723 端口。如果有防火墙,需要打开 1723 端口,并且放行 GRE 协议。电脑已经是 VPN 服务器了。

五、在 Windows 端连接 VPN。

在 Windows 桌面,鼠标右键单击“网络”,点“属性”。单击“设置新的连接或网络”,单击“连接到工作区”,单击“下一步”按钮。选择“否,创建新连接”,单击“下一步”按钮。单击“使用我的 Internet 连接(VPN)”。

设置VPN服务器插图

在 Internet 地址 栏中输入 VPN 服务器的 IP 地址。我现在的 IP 地址是 10.10.10.5,如果在外网连接,需要输入服务器的 IP 地址。【因为我使用的是拨号上网,每 48 小时会改变一下 IP 地址,我将 IP 地址上传到网站,需要连接时打开网页就可以取到。】输入完成后单击“下一步”按钮。

设置VPN服务器插图1

输入前面设置的用户账号和密码。根据前面在 mpd.secret 文件里的设置,这里的用户名是 test,密码是 testvpn。输入完成后单击“连接”按钮。

设置VPN服务器插图2

稍等一下就连接成功了。这样就可以直接访问 VPN 的内部网络。

六、更多设置。

  我们可能还需要对 VPN 连接做一点设置,才能让我们既可以访问 VPN 服务器所在的网络,又可以直接使用互联网。

  在前面打开的“网络和共享中心”窗口左侧列表中单击“更改适配器设置”,然后用鼠标右键单击前面创建的 VPN 连接,单击“属性”,在弹出的窗口点一下“网络”选项卡。在出现的窗口中双击“Internet协议版本4(TCP/IPv4)”

设置VPN服务器插图3

显示“Internet协议版本4 属性”窗口。

设置VPN服务器插图4

单击“高级”按钮。

设置VPN服务器插图5

在显示的窗口中取消选定“在远程网络上使用默认网关”。重新拨号或者断开后重新拨号,就可以同时访问 VPN 同时又可以直接连接互联网了。