使用 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 桌面,鼠標右鍵單擊“網絡”,點“屬性”。單擊“設置新的連接或網絡”,單擊“連接到工作區”,單擊“下一步”按鈕。選擇“否,創建新連接”,單擊“下一步”按鈕。單擊“使用我的 Inte.NET 連接(VPN)”。
在 Internet 地址 欄中輸入 VPN 服務器的 IP 地址。我現在的 IP 地址是 10.10.10.5,如果在外網連接,需要輸入服務器的 IP 地址。【因為我使用的是撥號上網,每 48 小時會改變一下 IP 地址,我將 IP 地址上傳到網站,需要連接時打開網頁就可以取到。】輸入完成后單擊“下一步”按鈕。
輸入前面設置的用戶賬號和密碼。根據前面在 mpd.secret 文件里的設置,這里的用戶名是 test,密碼是 testvpn。輸入完成后單擊“連接”按鈕。
稍等一下就連接成功了。這樣就可以直接訪問 VPN 的內部網絡。
六、更多設置。
我們可能還需要對 VPN 連接做一點設置,才能讓我們既可以訪問 VPN 服務器所在的網絡,又可以直接使用互聯網。
在前面打開的“網絡和共享中心”窗口左側列表中單擊“更改適配器設置”,然后用鼠標右鍵單擊前面創建的 VPN 連接,單擊“屬性”,在彈出的窗口點一下“網絡”選項卡。在出現的窗口中雙擊“Internet協議版本4(TCP/IPv4)”
顯示“Internet協議版本4 屬性”窗口。
單擊“高級”按鈕。
在顯示的窗口中取消選定“在遠程網絡上使用默認網關”。重新撥號或者斷開后重新撥號,就可以同時訪問 VPN 同時又可以直接連接互聯網了。