遠端存取 動態網域 防火牆 VPN 網路

善用開源SoftEther 建立Remote Access VPN

2017-09-26
在SoftEther VPN上架設Remote Access VPN,設定方法相當簡易,相對於其他知名VPN軟體而言,進入門檻較低,而且其封包先以較不易被發現為VPN封包的UDP封裝再進行傳送,可以大幅降低被發現的機率。

取得目前的動態網域名稱

建立VPN連線,要事先知道對方的IP或網域名稱。由於此例中SoftEther VPN Server對外使用PPPoE的連線方式,連線IP經常會變動,所以要知道SoftEther VPN Server對外的IP為何有其困難處。所幸SoftEther原先即內建動態網域名稱的功能,只要輸入:


即可取得其名稱,如圖3所示,在此例中其名稱為vpn775721488.softether.net。


▲圖3 SoftEther VPN Server對外IP及動態網域名稱。

使用者建立連線與IP資訊

接著讓SoftEther VPN Client建立VPN連線(SoftEther VPN Client的操作過程請參考筆者在網管人2017年8月第139期的相關介紹)。但在此會發現一個問題:用戶端未取得合法的IP位址,如圖4所示。


▲圖4 SoftEther VPN Client未取得合法IP。

由於在該網路環境中無DHCP Server發放IP,因此用戶取得的是169.254.238.45,這是由作業系統自動給予的IP。但此IP不存在架構圖中的任何設備內,所有設備也沒有針對此路由進行處理,因此無法進行任何連線。

設定Local Bridge

關於Local Bridge,簡單來說,它讓Virtual Hub在VPN連線建立時,把虛擬網卡與實體網路卡進行綁定。以此例而言,有兩個選擇,可參考圖2所示。可設定讓SoftEther VPN Client綁定eth0或eth1,若綁定eth1,在VPN連線建立時可取得192.168.1.X的IP網段。同樣地,若綁定eth0,則可取得192.168.2.X的IP網段,而這也是此次測試主要的目標。

接著輸入BridgeDeviceList,將取得目前SoftEther VPN Server可運用的網卡名稱,在此例中為eth0和eth1,如圖5所示。


▲圖5 列出Bridge模式可支援的網卡。

然後輸入BridgeCreate(指令不限於大小寫均可使用),建立一個新的Local Bridge。接著,會詢問要使用的Virtual Hub名稱為何,請輸入VPN。最後,還會詢問要綁定的實體網卡名稱,則輸入eth0,相關操作過程如圖6所示。


▲圖6 建立Local Bridge並綁定網路卡eth0。

從Client重新建立VPN連線,再觀察其IP。此時可以看出已取得192.168.2.104的IP,並且發現其DHCP Server為192.168.2.1,如圖7所示。此IP與Server的eth0的IP網段相同。


▲圖7 VPN Client已取得eth0相同IP網段的IP。

VPN服務測試及加密驗證

至此,相關設定已完成。相對於其他VPN而言,SoftEther VPN需要的設定簡易許多。接著進行驗證,以確認連線建立過程及安全性能滿足實際的連線需求。

SoftEther VPN預設使用https(443 port)建立連線,此時擷取在連線發起時的封包,並觀察之,可確定SoftEther VPN使用https的方式建立連線,因此能提升其安全性,如圖8所示。


▲圖8 SoftEther VPN使用https連立連線。

然後,驗證從VPN Client是否能連線至192.168.2.1的防火牆的IP,驗證結果如圖9所示,經確認能夠正常連線。


▲圖9 驗證是否能連至內網防火牆192.168.2.1。

接下來,測試是否能透過192.168.2.1連線至Internet。使用traceroute來驗證往ptt.cc的封包是否往192.168.2.1送,驗證結果如圖10所示,往Internet的封包確實往192.168.2.1傳送。


▲圖10 驗證往Internet封包傳遞的方式。

試著開啟192.168.2.80的網頁,並使用Wireshark進行封包側錄。由於在VPN Client的VPN虛擬網卡進行側錄,因此可看到尚未加密的封包。觀察封包內容,192.168.2.80的網頁可順利開啟,如圖11所示。


▲圖11 以Wireshark驗證內網網頁伺服器可正常開啟。

最後,在公網上側錄其封包,以觀察封包內容是否加密。根據測試結果,發現封包均封裝在UDP的封包中。相對於其他知名的VPN軟體,這類型的封包較難被判別為VPN連線,因此可降低被偵測率,封包內容如圖12所示。


▲圖12 以Wireshark驗證SoftEther VPN封包內容。

結語

本文介紹了如何在SoftEther VPN上架設Remote Access VPN,在架設過程中,可以發現其設定相當簡易,相對於其他知名VPN軟體而言,進入門檻較低。而且,其封包以較不易被發現為VPN封包的UDP先進行封裝再傳送,可降低被發現的機率,因此筆者認為可將SoftEther VPN作為主要VPN連線的選擇。

之後若有機會,將再介紹如何在SoftEther VPN上架設Site to Site VPN。

<本文作者:丁光立,在ISP工作多年。對於Cisco設備較熟悉,除此之外也研究Linux,這幾年慢慢把觸角伸到資安的領域,並會在自己的blog(http://tiserle.blogspot.com/)分享一些實務上的經驗和測試心得。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!