网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > Routers配置

RouterOS Wireguard+OSPF Mesh组网 YuS

关于Wireguard的Mesh组网问题,Wireguard只是作为隧道连接实现远端的通道,而这个通道我们可以选择其他任何的隧道协议,视乎Wireguard更受欢迎。如何实现Mesh的路径选择和网络动态自愈能力,才是关键,就像无线网络的802.11s,考虑到这个问题整个网络建立在三层路由通信需要实现路径选择和网络自愈能力,自然就想到了使用OSPF建立动态路由。

该实例为了保证网络的冗余,采用多个Wireguard实例,因为单个Wireguard接口实例无法实现多Peer允许相同IP通过,网络拓扑如下:

RouterOS Wireguard+OSPF Mesh组网 YuS

使用Wireguard建立3台路由器的远端隧道连接,3台通过OSP使用Area0建立路由关系,其中R3路由器发布192.168.10.0/24的LAN网络路由到OSPF。

基础网络配置

R1路由器
配置IP地址:

[admin@R1] > /ip address [admin@R1] /ip/address>add address=192.168.88.30/24 interface=ether1

创建2个Wireguard接口,分别对应R2和R3,监听端口分别使用13231和13232

[admin@R1] /ip/address>/interface wireguard [admin@R1] /interface/wireguard >add listen-port=13231 name=wireguard1-R2 [admin@R1] /interface/wireguard >add listen-port=13232 name=wireguard2-R3

创建完成后自行查看public key,用于对端连接,这里不再赘述

R2路由器

配置IP地址:

[admin@R2] > /ip address [admin@R2] /ip/address>add address=192.168.88.31/24 interface=ether1

创建2个Wireguard接口,分别对应R1和R3,监听端口分别使用13231和13230

[admin@R2] /ip/address>/interface wireguard [admin@R2] /interface/wireguard >add listen-port=13231 name=wireguard1-R1 [admin@R2] /interface/wireguard >add listen-port=13230 name=wireguard2-R3

创建完成后自行查看public key,用于对端连接,这里不再赘述
R3路由器
配置IP地址,在R3路由器添加bridge-lan的192.168.10.1:

[admin@R3] > /ip address [admin@R3] /ip/address>add address=192.168.88.32/24 interface=ether1 [admin@R3] /ip/address>add address=192.168.10.1/24 interface=bridge-lan

创建Wireguard接口

[admin@R3] /ip/address>/interface wireguard [admin@R3] /interface/wireguard > add listen-port=13232 name=wireguard1-R1 [admin@R3] /interface/wireguard > add listen-port=13230 mtu=1420 name=wireguard2-R2

创建完成后自行查看public key,用于对端连接,这里不再赘述

Wireguard连接

3台路由器的创建两个Wireguard接口,分别和远端的两台连接,组成一个环形网络 ,多接口的wireguard实例才能让peer通过相同的IP段,多点的OSPF组播通信允许224.0.0.5通过才能实现
R1路由器

[admin@R1] /interface/wireguard >/ip address [admin@R1] /ip/address> add address=172.16.0.1/30 interface=wireguard1-R2 [admin@R1] /ip/address> add address=172.17.0.1/30 interface=wireguard2-R3

R2路由器

[admin@R2] /interface/wireguard >/ip address [admin@R2] /ip/address> add address=172.16.0.2/30 interface=wireguard1-R1 [admin@R2] /ip/address> add address=172.18.0.1/30 interface=wireguard2-R3

R3路由器

[admin@R3] /interface/wireguard >/ip address [admin@R3] /ip/address> add address=172.17.0.2/30 interface=wireguard1-R1 [admin@R3] /ip/address> add address=172.18.0.2/30 interface=wireguard2-R2

R1路由器
连接R2和R3路由器,R2连接IP192.168.88.31,指定端口13231和对端的Public key, R3连接192.168.88.32使用13232连接 ,设置相应的allowed-address通过

[admin@R1] /interface/wireguard >peer [admin@R1] /interface/wireguard/peers> add allowed-address=172.16.0.0/30,192.168.10.0/24,224.0.0.5/32 \ comment=R2 endpoint-address=192.168.88.31 endpoint-port=13231 \ interface=wireguard1-R2 persistent-keepalive=10s public-key=\ "EZlREKCgf4bwS+kEwzKXsVoayai9LfEVwG+tTghLhTA=" [admin@R1] /interface/wireguard/peers>add allowed-address=172.17.0.0/30,192.168.10.0/24,224.0.0.5/32 \ comment=R3 endpoint-address=192.168.88.32 endpoint-port=13232 \ interface=wireguard2-R3 persistent-keepalive=10s public-key=\ "WB/NYqr4y/9IyedhOb9/UYLwBet+kG6B7ROHD56h+FE="

R2路由器
连接R1和R3路由器,R1连接IP192.168.88.30,指定端口13231和对端的Public key, R3连接192.168.88.32使用13230连接 ,设置相应的allowed-address通过

[admin@R2] /interface/wireguard >peer [admin@R2] /interface/wireguard/peers> add allowed-address=172.16.0.0/30,192.168.10.0/24,224.0.0.5/32 comment=R1 endpoint-address=192.168.99.30 endpoint-port=13231 interface=wireguard1-R1 \ persistent-keepalive=10s public-key= "znDZo7Jotu2Vlgk3Iu8ZNfQoelG5bTnUvssHpOiJPTQ=" [admin@R2] /interface/wireguard/peers> add allowed-address=172.18.0.0/30,192.168.10.0/24,224.0.0.5/32 comment=R3 endpoint-address=192.168.99.32 endpoint-port=13230 interface=wireguard2-R3 \ persistent-keepalive=10s public-key= "s9DJhc+43ryGaUgqwhW2NVDrAJFOQz0aPX4Eoo2Up1U=" (责任编辑:admin)