在利用 云网络 和 云主机,结合 MikroTik 路由器 快速构建 大二层网络 和 全互联 Full Mesh 的方案中,核心思想是通过隧道技术(如 WireGuard 或 GRE over IPsec),并结合二层扩展技术(如 VXLAN),实现跨站点的高效互联。
设计思路与架构
- 核心思想:
- 使用云主机(如 AWS、Azure、GCP 或其他支持虚拟化的云服务)作为中枢,建立 Mesh 隧道。
- 各站点通过 MikroTik 路由器与云端进行二层和三层通信。
- 借助 VXLAN 技术实现二层网络扩展,确保广播、ARP、Multicast 等二层功能正常工作。
- 全互联:
- 构建一个 Full Mesh 网络结构,通过自动化配置动态路由或隧道。
- 避免单点故障,提升稳定性。
方案具体实现
1. 云端基础设施准备
- 部署至少 1 台云主机作为核心网关:
- 建议选择多个地理区域的云服务提供商(如 AWS 的不同区域),以提升可用性。
- 云主机需支持 VXLAN 和隧道协议(如 WireGuard、GRE)。
- 分配静态公网 IP,确保所有站点能稳定连接到云主机。
2. 配置站点与云的隧道(Full Mesh 隧道)
方案 1:使用 WireGuard(推荐)
WireGuard 是一种高效、安全的隧道协议,非常适合构建跨站点 Mesh。
- 在云主机上配置 WireGuard:
/interface wireguard add name=wg-cloud listen-port=51820 private-key="CLOUD_PRIVATE_KEY"
- 在每个站点配置 WireGuard:
- 设置到云主机的隧道。
/interface wireguard add name=wg-site1 listen-port=51820 private-key="SITE1_PRIVATE_KEY" /interface wireguard peers add interface=wg-site1 public-key="CLOUD_PUBLIC_KEY" allowed-address=0.0.0.0/0 endpoint="CLOUD_IP:51820"
- 全互联 WireGuard:
- 在云主机上配置所有站点的 Peer。
/interface wireguard peers add interface=wg-cloud public-key="SITE1_PUBLIC_KEY" allowed-address=10.10.1.0/24 /interface wireguard peers add interface=wg-cloud public-key="SITE2_PUBLIC_KEY" allowed-address=10.10.2.0/24
方案 2:使用 GRE over IPsec
GRE over IPsec 提供加密的二层扩展支持。
- 配置 GRE 隧道:
/interface gre add name=gre-cloud remote-address=CLOUD_IP local-address=SITE1_IP
- 启用 IPsec 加密:
/ip ipsec peer add address=CLOUD_IP secret="sharedsecret" enc-algorithm=aes-256
3. 配置二层网络扩展 (VXLAN)
a. 创建 VXLAN 接口
- 在云主机上:
/interface vxlan add name=vxlan-cloud vxlan-id=42 remote-address=0.0.0.0 local-address=CLOUD_INTERNAL_IP
- 在站点 MikroTik 上:
/interface vxlan add name=vxlan-site1 vxlan-id=42 remote-address=CLOUD_INTERNAL_IP local-address=SITE1_INTERNAL_IP
b. 配置桥接
- 将 VXLAN 接口加入二层桥:
- 在云主机:
/interface bridge add name=bridge-cloud /interface bridge port add bridge=bridge-cloud interface=vxlan-cloud
- 在站点:
/interface bridge add name=bridge-site1 /interface bridge port add bridge=bridge-site1 interface=vxlan-site1
- 在云主机:
c. 验证二层连通性
- 确保站点之间可以相互 ping 二层地址(如 VXLAN 的内网 IP)。
4. 全互联优化
a. 启用动态路由协议
利用动态路由协议(如 BGP)实现自动化路由更新和全互联。
- 在云主机上配置 BGP:
/routing bgp instance add name=bgp-cloud as=65000 /routing bgp peer add name=peer1 remote-address=10.10.1.1 as=65001 /routing bgp peer add name=peer2 remote-address=10.10.2.1 as=65002
- 在站点配置 BGP:
/routing bgp instance add name=bgp-site as=65001 /routing bgp peer add name=peer-cloud remote-address=10.10.0.1 as=65000
b. 冗余性
为隧道配置多路径冗余(如 WireGuard 多端点或 BGP 多路径)。
c. 调整 MTU
根据 VXLAN 和隧道封装的开销,调整 MTU 防止分片问题:
- WireGuard 接口 MTU:
1400
- VXLAN 接口 MTU:
1350
5. 出口流量优化
- 在云主机设置 NAT:
/ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade
- 确保站点流量通过 VXLAN 隧道出口:
- 默认路由指向云主机。
/ip route add dst-address=0.0.0.0/0 gateway=CLOUD_VXLAN_IP
- 默认路由指向云主机。
适合的应用场景
- 企业级分支互联:
- 在全球多个分支机构之间实现无缝二层扩展。
- 适用于广播需求(如 DHCP、ARP、iSCSI)。
- 高效灾备与同步:
- 提供大二层网络,支持主备数据中心的实时同步。
- 容器和虚拟化环境:
- 支持多地域虚拟机集群的二层互联。
优势与优化建议
- 低延迟、高可用:通过 WireGuard 实现低延迟隧道,结合动态路由提供高可用性。
- 安全性:隧道加密确保数据传输安全。
- 灵活扩展:通过云端管理,快速添加新站点。
- 集中管理:利用动态路由和监控工具(如 The Dude)管理全网流量。
这是一个高效的方案,尤其适用于需要快速部署大规模二层网络的跨地域场景。