作者AKSN74 (AKS-74n)
看板Broad_Band
标题Re: [分享] 用Wireguard+OSPF建立Site to Site
时间Fri Dec 2 10:58:50 2022
这边就多补充一些OSPF上的做法,同时稍微解释下部分问题的原因与解法
WireGuard的Allowed Address问题
: 不过建立这个之前,有几点需要注意:
: 1. 如果同时有多个Site要串,强烈建议每一个Site都另外用独立的WireGuard介面,
: WireGuard的IP网段以及Port号也做区隔
: 2. 单纯做终端连回(透过手机、电脑连回)的也不要跟做Site的WireGuard介面共用。
: 3. 部分RouterOS设备可能会有WireGuard的subnet设为25以上时会无法连线的状况。
: 4. 两端的区网网段不重叠
主要就1跟2的部分解释
就Mikrotik官方论坛上的说法:
https://bit.ly/3ippoB7
简单来说,WireGuard会根据每一个Peer的Allowed Address来判定目标封包要发给谁
只要封包内的目标IP与Peer的Allowed Address规则符合,就会把封包发到这个Peer
但这是根据优先顺序去判定的
这会造成如果Peer在主路由端的允许位址直接设定0.0.0.0/0,所有的封包只给这个Peer
在同一个WG介面的其他Peer就会收不到主路由端发出的封包
变成这些Peer虽然成功连上WG,但都没办法VPN上网或者存取主路由端的Site
而解法是在主路由端,Allowed Address不要设0.0.0.0/0,依旧设定子路由端的WG介面IP
并且多增加224.0.0.0/24以及子路由端的区网网段
https://i.imgur.com/RIkXc5Q.png
(注:图片是设定224.0.0.0/8,但其实设定/24也可)
加入224.0.0.X的原因是OSPF在broadcast与ptp网路类型下
固定会使用224.0.0.5这个广播IP来沟通 (broadcast可能还会多用224.0.0.6)
https://i.imgur.com/v9CXY0k.png
因此要确保广播封包不会被WG给挡掉
而增加子路由端的区网网段则是确保发到子路由端的封包也不会被WG阻挡
另外,子路由端的Allowed Address依旧维持0.0.0.0/0的设定
而若为一般的Client(电脑、手机等),在主路由端则只要加入Client的WG介面IP即可
https://i.imgur.com/q0MBxTx.png
这样一来就解决了第二点的问题,一个WG介面同时可以让一个Site以及多个Client连线
但若要加入额外的Site,还是得另外用一个WG介面来连线
毕竟还是有224.0.0.X的发送问题
而且另外建立介面给Site使用,就管理上来说也比较能够区分与利用
例如想要对特定Site做些控管的话就直接对该WG介面做调整即可
让子路由端透过主路由对外
那在WireGuard+OSPF之下,要怎麽让子路由端的对外完全透过主路由端出去呢?
这就会需要用到路由规则的部分了,以下这些设定全都在子路由端操作
1. 到Routing→Tables,建立一个新的Table,名称自订,FIB打勾
https://i.imgur.com/CiESy2w.png
2. 到Routing→Rules,建立三条规则,Dst Adress分别输入Class A、B、C的私有网段
也就是10.0.0.0/8、172.16.0.0/12、192.168.0.0/16
其他设定都维持不变
https://i.imgur.com/sFgk8p4.png
这麽做的用意是避免连线到区网IP时,也全都跑到主路由端的对外连线去
3. 接着再新增一个规则,Src Address设为子路由端分享器本身的区网IP(记得加prefix)
Table则修改为刚刚新建立的Table名称
https://i.imgur.com/LGrJbD6.png
4. 最後到IP→Route,复制任一笔OSPF产生的路由,然後把Dst Address改成0.0.0.0/0
Routing Table则改成与第三点一样的Table
https://i.imgur.com/czSJd9N.png
然後就可以连到myip去测试了,没有设错的话对外就会变成是主路由端的对外IP
若要暂停透过WireGuard对外,只需要进IP→Route,把该笔路由规则停用即可
另外在第三点的部分,设定分享器本身的IP上去,是让该网段的对外都走VPN出去
如果只想针对特定的设备走VPN出去的话,只需要把Src Address改成该设备的区网IP即可
要增加其他设备则是再建立规则,并一样设定设备的区网IP
加入额外的Site进OSPF
至於要怎麽加入额外的Site进OSPF,也很简单
在两端都建立好WireGuard的连线、子路由端设定好OSPF资讯後
把该Site使用的WireGuard介面加入进主路由端的Instance Template内即可
https://i.imgur.com/Amnv6hL.png
设定没问题的情况下,Neighbor就会自动多一笔
https://i.imgur.com/nDZhGER.png
就可以测试看看所有Site之间的区网是否能够互通
以上,就目前WireGuard+OSPF做Site to Site的部分做一个纪录给各位参考
--
标题 [三国] 三国11,自创武将下野?!?!?! #1C_nVjV5 (Koei)
自创武将当君主
怎麽会玩着玩着,他就下野了
只是他流浪到那个城市,首都就换到那个城市了....
1F:推 grant790110:你是不是创了蒋介石 XDDDDD
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.14.175 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Broad_Band/M.1669949934.A.C35.html
※ 编辑: AKSN74 (125.227.14.175 台湾), 12/02/2022 11:01:25
※ 编辑: AKSN74 (114.41.134.120 台湾), 12/02/2022 21:17:19
2F:推 goldie: 帮推 12/03 21:26
3F:推 mengmengcats: 推 12/04 08:47