侧边栏壁纸
博主头像
咕咕鸡博主等级

行动起来,活在当下

  • 累计撰写 17 篇文章
  • 累计创建 27 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

RouterOS配置Wireguard

咕咕鸡
2024-04-20 / 0 评论 / 0 点赞 / 355 阅读 / 4584 字 / 正在检测是否收录...

RouterOS配置Wireguard

两个远程办公室路由器连接到互联网,办公室工作站位于NAT后面。每个办公室都有自己的本地子网,对于ROS-1为10.1.202.0/24,对于ROS-2为10.1.101.0/24。两个远程办公室都需要到路由器后面的本地网络的安全隧道。

WireGuard接口配置

首先,必须在两个站点上配置WireGuard接口,以允许自动生成私钥和公钥。两个路由器的命令相同:

ROS-1

/interface/wireguard add listen-port=13231 name=wireguard-R1

ROS-2

/interface/wireguard add listen-port=13231 name=wireguard-R2

print 打印查看

/interface/wireguard print Flags: X - disabled; R - running  0  R name="wireguard1" mtu=1420 listen-port=13231 private-key="yKt9NJ4e5qlaSgh48WnPCDCEkDmq+VsBTt/DDEBWfEo="       public-key="u7gYAg5tkioJDcm3hyS7pm79eADKPs/ZUGON6/fF3iI="

对等配置

对等配置定义了谁可以使用WireGuard接口以及可以通过它发送何种流量。要识别远程对等,必须将其公钥与创建的WireGuard界面一起指定。

ROS-1


/interface/wireguard/peers
add allowed-address=10.1.101.0/24 endpoint-address=192.168.80.1 endpoint-port=13231 interface=wireguard1 \
public-key="v/oIzPyFm1FPHrqhytZgsKjU7mUToQHLrW+Tb5e601M="

ROS-2

/interface/wireguard/peers
add allowed-address=10.1.202.0/24 endpoint-address=192.168.90.1 endpoint-port=13231 interface=wireguard1 \
public-key="u7gYAg5tkioJDcm3hyS7pm79eADKPs/ZUGON6/fF3iI="

IP和路由配置

最后,IP和路由信息必须配置为允许通过隧道发送流量。

ROS-1

/ip/address
add address=10.255.255.1/30 interface=wireguard-R1
/ip/route
add dst-address=10.1.101.0/24 gateway=wireguard-R1

ROS-2

/ip/address
add address=10.255.255.2/30 interface=wireguard-R2
/ip/route
add dst-address=10.1.202.0/24 gateway=wireguard-R2

防火墙注意事项

默认的RouterOS防火墙将阻止隧道正确建立。在两个站点上的任何丢弃规则之前,流量应该在“输入”链中被接受。

ROS-1

/ip/firewall/filter
add action=accept chain=input dst-port=13231 protocol=udp src-address=192.168.80.1

ROS-2

/ip/firewall/filter
add action=accept chain=input dst-port=13231 protocol=udp src-address=192.168.90.1

此外,“前向”链也可能限制子网之间的通信,因此在任何丢弃规则之前也应接受此类流量。

ROS-1

/ip/firewall/filter
add action=accept chain=forward dst-address=10.1.202.0/24 src-address=10.1.101.0/24
add action=accept chain=forward dst-address=10.1.101.0/24 src-address=10.1.202.0/24

ROS-2

/ip/firewall/filter
add action=accept chain=forward dst-address=10.1.101.0/24 src-address=10.1.202.0/24
add action=accept chain=forward dst-address=10.1.202.0/24 src-address=10.1.101.0/24

RoadWarrior WireGuard隧道

RouterOS配置

添加一个新的WireGuard接口并为其分配一个IP地址。

/interface wireguard
add listen-port=13231 name=wireguard1
/ip address
add address=192.168.100.1/24 interface=wireguard1

添加新的WireGuard接口将自动生成一对私钥和公钥。您需要在远程设备上配置公钥。要获得公钥值,只需打印出接口的详细信息。

[admin@home] > /interface wireguard print
Flags: X - disabled; R - running
 0  R name="wireguard1" mtu=1420 listen-port=13231 private-key="cBPD6JNvbEQr73gJ7NmwepSrSPK3np381AWGvBk/QkU="
      public-key="VmGMh+cwPdb8//NOhuf1i1VIThypkMQrKAO9Y55ghG8="

对于接下来的步骤,您需要找出远程设备的公钥。一旦你有了它,通过指定远程设备的公钥和允许通过WireGuard隧道的地址来添加一个新的对等设备。

/interface wireguard peers
add allowed-address=192.168.100.2/32 interface=wireguard1 public-key="<paste public key from remote device here>"

防火墙注意事项

如果您配置了默认或严格的防火墙,则需要允许远程设备与您的设备建立WireGuard连接。

/ip firewall filter
add action=accept chain=input comment="allow WireGuard" dst-port=13231 protocol=udp place-before=1

要允许远程设备连接到RouterOS服务(例如请求DNS),请允许输入链中的WireGuard子网。

/ip firewall filter
add action=accept chain=input comment="allow WireGuard traffic" src-address=192.168.100.0/24 place-before=1

或者简单地将WireGuard接口添加到“LAN”接口列表中。

/interface list member
add interface=wireguard1 list=LAN

0

评论区