BGPlayer 从零开始速成指北 - 使用 MikroTik RouterOS v7 广播你的 IP

全程无需敲命令, 新手也能轻松玩转 BGP

ASN 和前缀都已经在 Vultr 上开通好了, 现在终于可以把自己的 IP 广播出去了。

大多数教程用的都是 Bird 2, 虽然功能强大, 但这些对于新手来说都太难了。所谓的 BGPlayer, 就是要把 BGP 当作一款可以 “玩” 的游戏, 而不是死磕命令行的苦差事。

如果能用一个可视化的操控界面来管理 BGP, 那学习过程就会 Fun and Joy 多了。这里我们选择 Mikrotik RouterOS v7 CHR 来做 BGP 实验, 它提供了友好的图形化配置界面 Winbox, 让你不用敲一行命令就能上手。

刷入 RouterOS CHR 并连接 Winbox

首先, 将你的 VPS 安装成 Mikrotik RouterOS v7 CHR 系统。

安装完成后, 使用 Winbox 连接到 VPS, 就能开始图形化配置 BGP。

创建路由表过滤规则 (Routing Filters)

BGP 广播之前, 第一件事就是确保不漏路由, 防止把全网乱七八糟的前缀发给上游。

routing -> filters 菜单中新建规则。

创建一个名为 BGP-IN 的 Chain, 规则内容填写 accept, 这表示接受所有来自上游的路由。

routeros_route_filter_bgp_in

再创建一个名为 BGP-OUT 的 Chain, 规则内容填写 reject, 这表示默认拒绝对外发布的所有路由。

routeros_route_filter_bgp_out

新建一条同样属于 BGP-OUT Chain 的规则, 内容填写

if (dst == 2a0a:6000:1::/48) { accept; }

意思是: 如果目标网段是你的 IPv6 前缀 (这里示例是 2a0a:6000:1::/48), 则允许广播。

routeros_route_filter_bgp_out_prefix

然后 务必将这条规则拖到 reject 规则的上方, 因为 Mikrotik 的过滤器是 从上到下顺序执行 的。

这样配置后, 你的路由器只会把自己的前缀发给上游, 其它一律丢弃, 实现了 “先放行自己、再全面封锁” 的安全策略。

routeros_route_filter_all

获取 Vultr 上游信息

在 Vultr 控制台的 BGP 页面, 可以查看到上游的 IP、ASN、BGP 会话信息等, 这些都是配置 RouterOS BGP 所需的参数。

vultr_bgp_info

创建 BGP 会话

创建 BGP 模板

在 RouterOS 中先创建一个 BGP Template, 填写自己的 ASN 和 Router ID 等基础信息。

routeros_bgp_template

设置需要广播的前缀

将你的前缀加入 IPv6 Firewall Address List, 这样 RouterOS 就知道哪些是要广播的网络。

routeros_ipv6_firewall_address_list

新建 BGP 会话

使用刚才的模板导入配置, 然后为 IPv4 和 IPv6 分别创建 BGP 会话, 填入 Vultr 提供的上游 IP 地址。

routeros_bgp_new_connection

按照图片上的参数设置

IPv4 会话示例

IPv6 会话示例

检查会话状态

成功建立连接后, 你会在 BGP 的 Sessions 选项卡中看到前缀数量, 这意味着已经从上游获取到了 Full Table 的路由。

routeros_bgp_sessions

给本机分配 IP

最后一步, 在 IPv6 Addresses 菜单中给 VPS 分配一个属于自己前缀的 IPv6 地址。这样, 你的服务器就能用自己广播出去的 IP 上网了。

routeros_ipv6_addresses


原文

BGPlayer in 1hour 绝赞速成班

最后更新于 2025-08-12
使用 Hugo 构建
主题 StackJimmy 设计