利用Openwrt以及DD-WRT的Wireguard將不同的區網合併成一個。
起因是因為偶爾會需要幫忙維護老婆娘家的網路,
因此需要一個利用VPN將兩邊的網路合併。
原先的構想是用熊貓板作就好,
後來改用DD-WRT來使用,省一個吃電的裝置。
首先要先有Openwrt或是DD-WRT的路由器,並且其中一個當伺服器,
而我的情形是Openwrt當伺服器,允許另外一個DD-WRT與Openwrt做Wireguard連線。
Wireguard的設定是一組公鑰與私鑰,以及可以選擇的預先分享私鑰。
互相連線的兩個端點要有彼此的公鑰就可以建立連線。
以設定上來講Wireguard簡單很多。
公鑰與私鑰的產生這邊就不說明,網路上很多資源,
但網路上針對Allowed IP的說明少很多,
所以這邊依照這陣子試的心得分享給有需要的人。
每一個LAN要設成不同網段,並且藉由Routed Allowed IP不用再設Static Route。
以下的LAN是指區網段的IP/Netmask,而WG指的是Wireguard使用的IP/Netmask。
Openwrt主機
LAN: 192.168.1.254/24
WG: 192.168.9.254/24
PEER1: (要合併的遠端子網路)
ALLOWED IP: 192.168.5.0/24, 192.168.6.0/24, 192.168.9.199
ROUTE ALLOWED IP: Checked
PEER2: (要合併的遠端子網路)
ALLOWED IP: 192.168.3.0/24, 192.168.9.200
ROUTE ALLOWED IP: Checked
PEER3: (手機管理時使用)
ALLOWED IP: 192.168.9.4
ROUTE ALLOWED IP: Unchecked
Openwrt遠端
LAN: 192.168.3.254/24
WG: 192.168.9.200/24
PEER:
ALLOWED IP: 192.168.1.0/24, 192.168.5.0/24, 192.168.6.0/24,\
192.168.9.0/24
ROUTE ALLOWED IP: Checked
DD-WRT遠端
LAN: 192.168.5.254/24, 192.168.6.254/24
WG: 192.168.9.199/24
PEER:
ALLOWED IP: 192.168.1.0/24, 192.168.3.0/24, 192.168.9.0/24
ROUTE ALLOWED IP: Checked
手機
WG: 192.168.9.4/24
DNS: 192.168.1.254 (連線時使用自架的AdGuard Home的DNS)
PEER:
ALLOWED IP: 192.168.1.0/24, 192.168.3.0/24, 192.168.5.0/24,\
192.168.6.0/24, 192.168.9.0/24
在設定完後Openwrt主機的Status -> Wireguard當中,
當PEER連線完成後,可以在後面的Allowed IP看到結果。
有需要合併的PEER,因為有勾選了Route Allowed IP,
所以就會將屬於該範圍的封包送到該PEER。
同時也可以在任意的子網路可以直接存取其它的網路。
像是在.5的網路環境底下,直接輸入.3的IP就可以連線。
就算遠端的子網路沒有辦法開PORT也是可以作得到的。