1. 先决条件
1.1 准备工作
- 自有 ASN(Autonomous System Number):
- 从 RIR(例如 ARIN、RIPE NCC、APNIC)获取自己的 ASN。
- 自有 IP 地址:
- 确保拥有注册的 IP 地址块,并在 RIR 数据库中授权 Vultr 作为其公告的上游。
- Vultr 账户和环境:
- 在 Vultr 中创建一个账户,并获取云服务器资源。
- 提交支持工单,将自有 ASN 和 IP 地址加入 Vultr 的网络配置。
- MikroTik CHR:
- 准备最新版本的 MikroTik Cloud Hosted Router 映像。
2. 部署 MikroTik CHR
2.1 创建 Vultr 实例
- 登录 Vultr 控制面板。
- 创建一个新的云服务器实例:
- 选择操作系统:选择 “Custom ISO” 并上传 MikroTik CHR 的 ISO。
- 选择数据中心位置:选择接近目标客户的区域。
- 硬件配置:选择至少 2 核 CPU、2 GB RAM 和 20 GB SSD。
- 启动实例并通过控制台安装 MikroTik CHR。
2.2 初始化 MikroTik CHR
- 登录 MikroTik CHR:
- 通过 Vultr 提供的控制台访问 MikroTik CLI。
- 设置初始配置:
/system identity set name="Vultr-MikroTik" /ip address add address=192.168.1.2/24 interface=ether1 network=192.168.1.0 /ip route add gateway=192.168.1.1 /ip dns set servers=8.8.8.8,8.8.4.4
- 激活 MikroTik CHR 许可证:
- 登录 MikroTik Winbox 或 Webfig。
- 导航到 System > License,激活 P1 或更高的许可。
3. 配置 BGP Peer
3.1 请求 Vultr 配置
- 向 Vultr 提交工单,提供以下信息:
- 自有 ASN。
- 要广播的 IP 地址块。
- 期望的 BGP Peer 配置。
- Vultr 支持团队将提供以下信息:
- Vultr 的 ASN。
- Vultr 的 BGP Peer 地址。
- BGP 会话参数(如密码)。
3.2 MikroTik BGP 配置
- 添加 BGP 实例:
/routing bgp instance add name="BGP-Vultr" as=<YOUR_ASN> router-id=<YOUR_ROUTER_IP>
- 配置 BGP Peer:
/routing bgp peer add name="VultrPeer" remote-address=<VULTR_PEER_IP> remote-as=<VULTR_ASN> instance="BGP-Vultr" password=<PEER_PASSWORD>
- 添加网络公告:
- 广播自有 IP 块。
/routing bgp network add network=<YOUR_IP_BLOCK>
- 验证 BGP 会话:
- 检查 BGP 会话状态:
/routing bgp peer print
- 确认状态为
established
。
- 检查 BGP 会话状态:
4. 优化网络性能
4.1 配置 BGP 策略
- 入站过滤:
- 限制接收的路由数量,避免全表路由导致设备负载过高。
/routing filter add chain=bgp-in prefix=<VULTR_PREFIX> action=accept /routing filter add chain=bgp-in action=discard
- 出站策略:
- 广播特定的 IP 前缀。
/routing filter add chain=bgp-out prefix=<YOUR_IP_BLOCK> action=accept /routing filter add chain=bgp-out action=discard
- 应用过滤规则:
/routing bgp peer set VultrPeer in-filter=bgp-in out-filter=bgp-out
4.2 性能调优
- MTU 调整:
- 设置隧道接口和以太网接口的 MTU,避免分片:
/interface ethernet set ether1 mtu=1500
- 设置隧道接口和以太网接口的 MTU,避免分片:
- 启用多线程:
- 如果设备支持多核,启用多线程加速 BGP 性能:
/routing bgp instance set BGP-Vultr multithread=yes
- 如果设备支持多核,启用多线程加速 BGP 性能:
- 流量优先级:
- 使用 QoS 优化关键业务流量:
/queue simple add name="PriorityTraffic" target=<YOUR_IP_BLOCK> priority=1 max-limit=100M/100M
- 使用 QoS 优化关键业务流量:
4.3 高可用性
- 配置备用 Peer:
- 添加 Vultr 的其他 BGP Peer,构建冗余:
/routing bgp peer add name="BackupPeer" remote-address=<VULTR_BACKUP_IP> remote-as=<VULTR_ASN> instance="BGP-Vultr"
- 添加 Vultr 的其他 BGP Peer,构建冗余:
- 健康监测:
- 配置 Netwatch 检测 Peer 状态,自动切换路由:
/tool netwatch add host=<VULTR_PEER_IP> up-script="/routing bgp peer enable VultrPeer" down-script="/routing bgp peer disable VultrPeer"
- 配置 Netwatch 检测 Peer 状态,自动切换路由:
5. 安全性优化
5.1 限制管理访问
- 防火墙规则:
- 禁止未经授权的管理访问:
/ip firewall filter add chain=input protocol=tcp dst-port=22,8291 src-address=<TRUSTED_IP> action=accept /ip firewall filter add chain=input action=drop
- 禁止未经授权的管理访问:
- BGP 会话加密:
- 使用密码保护 BGP 会话。
5.2 DDoS 防护
- 限速 SYN 流量:
/ip firewall filter add chain=input protocol=tcp tcp-flags=syn action=add-src-to-address-list address-list=ddos_attackers address-list-timeout=10m /ip firewall filter add chain=input src-address-list=ddos_attackers action=drop
- 限制 ICMP 流量:
/ip firewall filter add chain=input protocol=icmp limit=50/second action=accept /ip firewall filter add chain=input protocol=icmp action=drop
6. 监控与维护
6.1 实时监控
- 使用
The Dude
或其他工具监控网络状态。 - 在 MikroTik 上查看 BGP 流量:
/tool graphing interface add interface=ether1
6.2 定期维护
- 备份配置:
/export file=config-backup
- 更新软件:
- 定期检查并更新 MikroTik CHR 到最新版本。