OpenVPN是著名的虛擬私有網路軟體,pfSense則可當作防火牆及路由器之用,結合兩者的長處,這裡將示範了如何使用預享密鑰模式(PSK)的身分驗證方式,在pfSense上以OpenVPN套件來建立Site-to-Site VPN。
pfSense相關設定:OpenVPN Client
此步驟的目的是建立OpenVPN Client。依序點選VPN,再點選OpenVPN,最後選擇Client,接著點選加號圖示,以新增一組Client。在Server Mode部分,同樣選擇【Peer to Peer(Shared Key)】。
而Server host or address欄位內,輸入pfSense Server的對外IP,例如61.59.114.2,如圖6所示。
|
▲圖6 設定OpenVPN Client。 |
接著設定加密的部分,找到Cryptographic Settings欄位。在Shared Key部分,Automatically generate a shared key預設為勾選狀態,取消其勾選,就會出現可以貼上Key的欄位。接著,將剛剛準備好的Server Key貼上,如圖7所示。
|
▲圖7 貼上Server key。 |
最後是Tunnel Settings的設定,在IPv4 Tunnel Network內,輸入與Server端相同的10.1.0.0/24。而IPv4 Remote Networks的設定,則輸入Server端的10.0.0.0/24,如圖8所示。
|
▲圖8 Client端Tunnel設定。 |
pfSense相關設定:Firewall設定
緊接著設定Server和Client的防火牆,將OpenVPN相關的封包予以放行,如此一來,OpenVPN的封包才能通過。Server與Client的設定方式相同,因此就以Server端進行示範。
首先選擇Firewall,再指定Rules,接著選擇WAN,並點選加號圖示,新增一筆設定。在Protocol的部分選擇【TCP/UDP】,而Source及Destination的設定都選擇【any】。然後,將Destination port range的from及to部分都指定成【OpenVPN】,最後點選〔Save〕存檔,如圖9所示。存檔後,記得要Apply Change。
|
▲圖9 Firwall WAN rules設定。 |
剛剛已完成WAN端的Firewall Rules的設定,接著設定OpenVPN的部分。先選擇Firewall,再來指定Rules,接著選擇OpenVPN,並點選加號圖示,新增一筆設定。
首先是Interface的設定,使用預設值:OpenVPN,而Protocol部分選擇【any】, Source與Destination的Type的部分也選擇【any】,最後按下〔Save〕存檔,並Apply Changes,如圖10所示。
|
▲圖10 Firewall OpenVPN Rules設定。 |
同樣地,也在Client端完成相同設定。接著,進行OpenVPN狀態的確認。
pfSense相關設定:OpenVPN狀態確認
先在Client端檢查OpenVPN的狀態。先選擇Status,再選擇OpenVPN,可以看到Client端的狀態,如圖11所示。
|
▲圖11 OpenVPN Client狀態。 |
觀察其輸出結果,Status的設定是up,而Virtual Addr座落在先前設定的10.1.0.0/24中,Remote Host也是先前設定的Server IP:61.59.114.2,這代表VPN連線已成功建立了。
接著,同樣確認Server端的OpenVPN之Status。選擇Status後,再選擇OpenVPN,就可以看到Server端的狀態,如圖12所示。
|
▲圖12 OpenVPN Server狀態。 |
其Status同樣是up,在Virtual Addr的部分同樣座落在10.1.0.0/24中,而Remote Host為61.59.114.3。先前設定Server時並未指定Remote Host IP,但pfSense已自己取得了。
這結果代表Server端並不需要指定Client IP,而是當Client端在發起建立連線時,由Server端所自動取得的。