0%

客戶端如何與伺服器端的區網連結

引言

在*nix系統下要分享區網很簡單,但在windows下就不是一件容易的事情。主要原因是目前資訊太少,這邊先就初步可以連線的方式介紹。

網路設定

首先由於預設OpenVPN的網路都是公有網路,公有網路下無法直接使用網路芳鄰使用分享區網,要先改成私有網路。
但OpenVPN產生的網卡有些特殊,無法使用常規方式(藉由控制台)來改變,因此我們要使用 Regedit

設定私有網路

本步驟操作在 OpenVPN 的 server 端及 client端都要完成

step.1

開始->執行-> regedit 開啟登入編輯程式

step.2

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
根據上述路徑指示依序點到Profiles內點開,會看到如下圖
regedit
點開 Profiles 內,會有許多一長串數字英文組合,這些是目前你有連線過得網卡設定,依序點開根據 ProfileName 尋找你的OpenVPN網卡,以我的為例叫 OpenVPN Wintun
regedit
找到之後往上看有個 Category 觀察他的資料結尾是不是 (1),不是的話 點擊 Category 兩下,把數值資料改為1

P.S.1 Category的值,0代表公共網路,1代表私有網路,2則是區域網路,通常選擇私有網路連線上問題會比較少,但可能會有資安疑慮,故要慎選要分享的client
P.S.2 你要分享的區網也務必要設定成私有網路,可以在這個步驟一併設定,只要找 ProfileName 是平常連線的那個名稱就是了

接著重開機即可完成

這時可以測試一下,先在client端連線VPN後
進入cmd或powershell
ping server端在區網下的 ip
注意:這邊最好找與server不同區域網路的client測試才準確
例如: server端vpn的ip是 10.8.1.1,區網IP是192.168.3.13
ping 192.168.3.13
順利得到回應的話表示差不多了,如果連不到要檢查一下兩邊防火牆設置有沒有問題

開啟區網分享服務

開始->執行-> services.msc 開啟服務管理
在名稱那邊尋找 Routing and Remote Access 並確認他是執行中
服務
如果沒有執行,點2下進去後點選啟動,沒有問題的話記得在啟動類型那邊選自動
服務

網卡網路分享

再來就是關鍵的步驟,以下步驟只要在 server 端執行即可

step.1

確認server端的OpenVPN連線 __已關閉__,這很重要

step.2

開始->執行-> control 進入控制台
網路和網際網路 -> 網路和共用中心 -> 左邊的 變更介面卡設定

step.3

選擇要分享的區域網路,按右鍵 -> 內容 -> 選共用分頁
勾選 允許其他網路使用者透過這台電腦的網際網路來連線(N)
並在下方 家用網路連線(H) 選擇你的OpenVPN網卡
網路設定
按下確定後關閉

step.4

server端OpenVPN啟動連線,至此設定應該完成
一樣在這邊先找一台與server不同區網的client端做測試
首先要確定 client 端的ovpn 有設定把push區網的網關

假設server端的區網ip是 192.168.3.13
確保client端的ovpn有如下設定
push "route 192.168.3.0 255.255.255.0 vpn_gateway"

接著我們client連線vpn後執行進入cmd或powershell
首先一樣先ping server端的區網IP
確認有回應後,接著嘗試ping server端區網的其他電腦
一樣有回應,就可以試試看網路芳鄰
記得這邊只能用手動打IP來進行網芳連線,無法使用 server name 或是直接在網路芳鄰看見

例如我要連線的電腦是 192.168.3.10
在檔案總管的位置列打 \\192.168.3.10
如果連線成功,大功告成

注意事項

  • 如果server端需要重新開機,務必要先中斷OpenVPN連線,再關機。
  • 如果有設定自動重開,即使重開機後你發現網路分享設定依舊,但不知為何無法連線到區網其他電腦,代表連線中斷。這時要重新做上面網路分享設定的動作,其中step.3要做2次,第一次先取消勾選 允許其他網路使用者透過這台電腦的網際網路來連線(N),按下確定關閉設定視窗後等待1~2秒後,再重新來一次step.3設定,接著在打開OpenVPN連線才會正常

以上