MikroTik RouterOS WireGuard 搭建教程与实践

前言

WireGuard 是一种现代、高效、简洁的 VPN 协议,它以高性能和安全性著称。相比传统 VPN 协议(如IPSec和OpenVPN),WireGuard 的代码量更少、部署更便捷,尤其适合资源受限的环境。RouterOS 在7.x版本中全面支持了 WireGuard,为网络管理员提供了一种新的可靠VPN解决方案。本文将介绍在 MikroTik RouterOS 上配置 WireGuard 的方法,并结合一些应用场景。

WireGuard 在 MikroTik RouterOS 的引入,为网络管理员提供了更轻量化的 VPN 解决方案。无论是点对点连接还是多分支机构部署,它都可以快速、安全地实现加密通信。通过合理的配置和优化,WireGuard 能够满足各种网络场景的需求。


WireGuard 的基本原理

WireGuard 基于 UDP 协议,采用静态密钥对(Public Key 和 Private Key)进行身份验证和加密。其连接过程非常简洁:

  1. 交换公钥:双方预先交换公钥,用于身份验证。
  2. 加密通信:基于双方的公钥,建立安全通道传输数据。
  3. 静态配置:对等节点信息手动配置,无需动态协商。

MikroTik RouterOS WireGuard 配置步骤

以下以配置两个 RouterOS 设备通过 WireGuard 建立点对点隧道为例。

环境假设

  • Router1
    • WAN IP: 192.168.1.2
    • LAN IP: 10.1.1.1/24
  • Router2
    • WAN IP: 192.168.2.2
    • LAN IP: 10.2.2.1/24

目标是通过 WireGuard 让两个 LAN 网络互联。


步骤 1:创建接口并生成密钥对

在 Router1 和 Router2 上分别生成 WireGuard 密钥对。

Router1:

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

Router2:

/interface/wireguard
add name=wireguard1 listen-port=13232


步骤 2:添加接口IP

Router1:

/ip address
add address=10.0.0.1/24 interface=wireguard1

Router2:

/ip address
add address=10.0.0.2/24 interface=wireguard1

步骤 3:配置对等节点(Peers)

这里public-key等于对端的公钥,allowed-address=允许通过的IP范围,后面定义对端的IP,端口号

Router1:

/interface wireguard peers
add interface=wireguard1 public-key="P9Qs..." allowed-address=10.2.2.0/24 endpoint-address=192.168.2.2 endpoint-port=13232

Router2:

/interface wireguard peers
add interface=wireguard1 public-key="j8Pd..." allowed-address=10.1.1.0/24 endpoint-address=192.168.1.2 endpoint-port=13231

步骤 4:配置路由

在双方设备上分别添加到对方网络的静态路由。

Router1:

/ip route
add dst-address=10.2.2.0/24 gateway=10.0.0.2

Router2:

/ip route
add dst-address=10.1.1.0/24 gateway=10.0.0.1

步骤 5:测试连接

在 Router1 上尝试 ping Router2 的 LAN 网络:

ping 10.2.2.1

如果返回正常,即表示 WireGuard 隧道已成功建立。


WireGuard 的实际应用场景

1. 分支机构互联

企业分支间的高效互联,通过 WireGuard 实现总部与分支机构间的快速加密通信。

2. 远程访问内网

配置 WireGuard 客户端(如手机、电脑)连接到 MikroTik,访问内网资源。

3. 多出口流量优化

通过 WireGuard 建立多个隧道,结合 RouterOS 的 manglerouting 功能,实现流量的智能分流。


性能优化与注意事项

  1. CPU 选择:WireGuard 基于内核处理数据包,加密过程对 CPU 性能有较高要求,建议使用较新型号的 MikroTik 设备。
  2. MTU 调整:根据网络环境调整 WireGuard 接口的 MTU,一般设置为 1420
  3. 防火墙设置:确保 UDP 端口开放,并根据需求限制访问源 IP。

结束

希望这篇教程对你在 MikroTik 上部署 WireGuard 有所帮助。如果你有任何问题或独特需求,也可以联系我们