至於要做到Site to Site的連接方式,官方文件是選擇透過雙邊設定來達成
不過這部分其實可以透過OSPF機制來達成需求
全名為Open Shortest Path First,中文名稱為開放式最短路徑優先,是一種路由協定,在不少地方都可以見到其應用。其本身包含了透過廣播封包溝通來建立雙邊連接,並且透過間隔性的廣播封包發送來確認路由連接狀態。OSPF本身有自己的通訊協定,因此不需要設定TCP與UDP的連線設置。
OSPF免去了設定固定路由,更重要的是以往雙邊的Site to Site還需要設定反向的VPN連線,若對端的對外網路不允許(比如沒有申請就不會配發真實對外IP的cable網路)就難以建立;有了OSPF,就能夠在只有其中一方設定VPN連線的情況下,建立雙邊的Site to Site連線。
由於RouterOS問題以及WireGuard本身的限制,建立Site to Site之前,需要注意:
1. 若有多個Site要設定,則每一個Site必須建立獨立的WireGuard介面,並使用獨立的Port號以及IP網段
2. 部分RouterOS可能有WireGuard使用的網段一定要是Prefix 24的問題
3. 單純透過電腦或手機連回的WireGuard也強烈建議另外建立一個WireGuard介面
(補充:第三點有解法,可以讓同時讓一個Site以及多個Client同時存在在一個WG內,請參考此處)
可以先參考這篇的設定方式,先建立到兩台RouterOS之間的WireGuard連線即可
並且需注意,兩端Peer的Allowed Address必須設為0.0.0.0/0
防火牆的設定維持開放WireGuard連入的Port即可,不需要做額外設定
之後使用RouterOS內建的ping工具,測試兩端的WireGuard IP是否能夠互通,可以的話就繼續下一步
接著就來做OSPF設定。每一台分享器都需要設定一組給OSPF所使用的IP,當作是Instance的ID
這個IP本身只是識別用,並不具有連線功能,因此只要隨便設定一個沒用到的網段即可
先建立一個本地Bridge,名稱自訂,兩端都要建立
之後為這個Bridge設定一組IP,這邊假設主端使用172.18.0.1
而另一端也需要跟著設定,只要IP不跟主端及其他子端重複即可
之後進到Routing→Router ID,點擊+號建立。名稱自訂,而ID則輸入與Bridge相同的IP,其他的不用動。
接著到Routing→OSPF,在Instance頁籤建立項目,Router ID選擇剛剛建立的ID名稱,其餘不用動。
切到Areas頁面,建立一個Area,設定全都維持預設不動。
最後切到Interface Template頁面,建立新的Template。Network中把主路由的區網、獨立Bridge、以及連線到子端的WireGuard介面加入
這邊需要注意的是,Network Type可以設為boardcast或者是ptp,但兩端都必須一致
設定完成後,就可以直接看是否有通。切換到Neighbors頁籤,如果有連線成功的話這邊會出現對端的WireGuard IP,並且狀態是Full
另外切換到子端的IP→Route頁面,可以看到自動多了幾筆路由
只要兩端的Neighbors都有彼此紀錄,並且都有自動添加路由的話,區網兩端就可以互相連線了
請參考本篇4F
若要在現有OSPF加入另一個Site,兩端的WireGuard都設定好且正確連線後,只要在現有的Instance Template內加入該端的WireGuard的介面即可。需要注意每個Site都要是獨立的WireGuard介面。
以上,給一個設定上的參考
不一定正確,如果有錯誤的部分還請提醒