MENU

BGPlayer in 1hour 绝赞速成班

June 12, 2020 • Read: 4225 • BGP阅读设置

What is BGP ?

觉得自己活得太长就把wikipedia..ccna..ccnp..全部看完 ~
我们非常粗暴的理解成 Bring your own IP to IDC 即可.

Price :

1 ASN sponsorship (register) fee : 60EUR-100EUR/onetime
Only RIPE accept Chinese BGP Player as natural person...
You must Reg as company user for APNIC ASN.
2 /44 ipv6 block : 15CHF -20 EUR /year
3 Any KVM/XEN VPS with good connection between you and HE.net . 5USD/month maybe ~

也就是说 大概起步费是 500-600元 .之后租赁 IPV6段的费用大概是15瑞士法郎1年 .部分ASN LIR大会员在注册ASN的时候会赠送一段/48的 ipv6 . 一台Vultr VPS , 或者一台与HE&本地网络友好的 VPS , 比如 阿里云香港 ?
无论是 RIPE 还是 APNIC , 都是一个传销组织 (没错~
组织让其下LIR(简单理解为大会员) 去发展下线 .
大会员每年要向组织上缴会员费和IP租赁费 . LIR靠发展下线 ,比如帮别人注册 ASN 收取人工费(赞助费) , 把IP段租出去收租金 ...提供技术服务等等方式来盈利 .

鸣谢 : @b350063 @shirakun 对本文进行校对 .


ASN 注册篇(以RIPE 为例) :

作为一个 PLAYER 你不可能一下子拿一堆资源 , 必然是成为 LIR的下线.
很多人关心的是如何申请这个ASN 要交什么资料 , 你就记住一件事情 , 准备好护照 , 没的人去出入境中心申请个白本 . 如果你有 中国大陆&香港的驾照也可以作为身份证明,关键要自带中英双语的证件.
企业用户复印好营业执照正本,RIPE会自己翻译. 其它你根本不用研究 , 根据LIR的要求操作.
应该关心的是 : 如果你的上游LIR 跑路了,之后你的ASN会被注销掉么 ?
答案是 : 会的 .上游跑路后RIPE会通知你,会给你几个月的时间去找新的 LIR 续命 .
所以不必担心自己的一切努力会付之东流...无非就是再话点小钱,赞助另外一个LIR,通常收费比新注册低一点...
不过大多数成为 LIR的人 都是有实力的 ...2-3年跑不了路 , 之后说不定地球已经毁灭了...别想那么多...
这里推荐一个英文讲的很好的波兰人 TG上 @mmnetworks .
那么你强烈要求来个讲中文的,选择可以有很多 比如 @moesoha 或者 @aveline.

那么有些同学一定要搞清楚这个 ASN注册的大致流程 .
请参考已经去世的某人:
https://web.archive.org/web/20190227042014/https://www.ykhut.com/archives/72/
你所需要做的就是自己在 RIPE 创个号 , 把你的个人或公司信息登记在 RIPE的数据库里 .
每一个项目都会创建成一个独一无二命名的object .
之后你的 LIR 就把你填的资料 ,以及护照或营业执照扫描件一起发给 RIPE审核即可 .
唯一值得一提的就是这个abuse 和 tech 邮箱的问题 , 请务必使用自己的域名邮箱 !
大多数 IDC/ISP 在验证你身份的时候是不支持gmail qq 这种公共邮箱的 .
APNIC和RIPE 还会半年发送验证信到你的abuse邮箱验证可用性 . 所以请确保可用.


IP段租赁篇 :

IP段这种东西当然也有买断的 , 除非你想做这个行业114年 ...
那么说一下 租赁流程 :
首先你问 LIR 或者是 三道贩子 租来的 IP 都需要和刚才个人身份一样 ,在 RIPE或者APNIC的数据库里创建一点东西 ..
APNIC 的 IP可以随便广播到全地球 ...RIPE按照规定是不能超出欧洲,但是好像大多数人都不遵守的样子 - -...
那么 作为卖给你 IP的人 ,他们要把一个叫 "inetnum" 的 object 修改成你的信息 ...
并添加一个叫 "route" 的 object 写上这个IP段和你的ASN .
IPv6的话 这2个object的名字后面要加个6 : "inet6num","route6".
最后还有一个叫 RPKI的东西简单理解为就是 publickey和privatekey 要配个对 , 租IP的时候表示自己需要RPKI即可.
RPKI 中文详解 : https://rpki.tw/ 用途就是防止别人盗用本来应该属于你的IP广播出去..


给IP安家篇:

找个地方把IP段拨出去 , 最简单的地方就2个 Vultr 和 HE的 BGP Tunnel Broker .

Vultr :
https://www.vultr.com/features/bgp/
新手宝地Vultr 的话是完全免费的啦 .
这个时候上一下AFF链接,免费领取100刀测试金 https://www.vultr.com/?ref=8439677-6G
有效期一个月 , 对于新人BGP PLAYER来说,第一个月烧掉 50刀以上的概率非常大 ...
注册完成后以最快的速度去申请 BGP 许可:
https://my.vultr.com/bgp/setup/
LOA 授权书模板 : https://www.vultr.com/docs/example-letter-of-authorization-for-bgp-announcements

那么这里: 有些人甚至可以选择不注册 ASN 让租给你 IP的商家代为广播你的IP.
注册好ASN的人选 YES .
然后无脑选 Full Table 虽然现在用不到 , 技术进步后会用到的 .

Vultr 的 BGP 是免费的 ,自己付VPS的钱即可 .

HE TunnelBroker BGP Tunnel :
回顾一下 2017年 : https://www.91yunbbs.com/discussion/549
我们利用 HE自带的 6to4 隧道即可做到一分钱不花,愉快的那啥 ...
But 2年的时间里 , 出现了2个大问题 :
1 这个明文的隧道已经被彻底阻断了.
2 Tunnel Broker 亚洲的 IP段全被运营商批判X次,绕路处理了...

那么2020年了..这个玩意还有使用价值么 ?
当然有 , 我们甚至可以用它来解锁 部分支持 IPV6的 OTT平台 .
那么隧道你总归的找个地方安个家咯...那就弄台香港的VPS在这上面打个隧道到HE即可 ...
有同学问到 : 上一期的时候不是这个隧道直接做在自己的路由器上的么 - -?
现在网线被剪断了 , 得弄台VPS过个桥 - -就这么理解吧 ..

建立BGP隧道:
Tunnelbroker 的账号改成你 ASN所对应的 tech 或者 abuse 的邮箱会方便你后续验证.
https://tunnelbroker.net/new_tunnel.php?type=bgp

IPv4 Endpoint : 你香港VPS的IP , 最好是静态独立IP的那种.
Prefixes announced: /48 或者更大的 IP段给他一个 - -
服务器 : 一般你要接回中国大陆的话 选最下面那个地方 ..

Create BGP Tunnel 后 , 把刚才 Vultr的 LOA模板里 Vultr 字样改成 HURRICANE ELECTRIC LLC . AS6939 .
通过你的tech 或者 abuse 邮箱 把LOA发到 ipv6@he.net . 预计1-2天就帮你建好了.
然后HE的工程师是通过目测来判断你是否是这个IP段的主人 ... Looks Fantastic ~ 审核通过 (逃~
z294lbfqc28k.png


自由HIGH篇 :

那么准备工作好了之后,接下来如何广播自己的 IP , 绝大多数的新手教程用的都是 Bird 或者 FRR....
但是这些对于新手来说都太难了 ...所谓的 BGP PLAYER 就得把BGP 当中游戏一样玩 ...
那么BGP 就得有一个操控界面 ...让新手还没完就劈里啪啦用命令行, 那就不够 Fun and Joy 了..

于是我们第一件事情就把VPS刷成 Mikrotik RouterOS CHR .
通过 Winbox 连进去 ,图形化界面操作 BGP ! 以下先以Vultr 为例 ipv4 和 ipv6 操作完全一致.
iowpj2tsepyv.png

先进 /routing filters 做好不漏路由的工作 .
Chain : 起个名字 ,比如 VULTR-IN . Action : discard .
复制一下这条Chain ,改名为 VULTR-OUT , 同样也是 Action : discard.
继续来一条叫做 VULTR-OUT的 Chain , 下面 Prefix 写你的IP段 , Action : accept .
然后注意把 accept 这条拖动到 discard的上方. Filter 是从上到下执行的, 所以先要允许路由器把你的段发给上游 ,其它的全部拦在家里.

安全工作搞好之后就可以创建 BGP daemon了 .
l8bz2zs9hagc.png
新建一个 Instances :

NAME : 自己起一个
AS : 你的AS
Router ID : 只不过是个名字,通常用路由器公网IP来写比较好.
Out Filter : 选刚才建好的 VULTR-OUT.

到Networks 选项卡 :

Net bgp network : 自己要广播的IP

之后就可以愉快的 Peer了~
ulkev9vsroz8.png
新建一个 BGP Peer:

NAME : 依然自己起一个 比如 conn-to-vultr
Instance: 刚才创建的那个
Remote Address : 上游发给你建立 Peer 专用的地址
Remote AS : 同样参照上游发给你的
TCP MD5 Key : 你在申请Vultr 开通BGP时填的 BGP Password . 留空就不需要填.
Multihop : 上游如果告诉你 maxhop 是 2以上的这里需要打勾.
In Filter : VULTR-IN
OUT Filter : VULTR-OUT

看到 State 这里变成 : established 说明你 Peers 选项卡这里没填错东西 ,其它情况的话都说明没成功.
再到 Advertisement选项卡看看你的 IP 有没有被ROS播出去...当然这只不过是你自己有没有播出去 , 上游路由器到底收不收还要看脸.
比如你的路由里带了 community 属性导致上游不收 , 或者你这个 IP段不在上游的白名单内 .

关于 Filter 补充说明 :
Chain 这个东西你就当他"一带一路" . 用来设定 Filter 执行的先后顺序 .
In Filter : 收路由表的过滤器 . 本文中我们选择不收,收来你也玩不来,只能仍垃圾桶里.
Out Filter : 就是你把路由表发给上游的过滤器 , 我们要做到严防死守一点都不漏出去,只给需要广播的IP段放行.

HE.net 同样也是非常简单 , 多了一步在开始前先建个 6to4隧道.
在你的 Tunnel Details 页面 , 选 Example Configurations , 型号选 Mikrotik .
rw09qyhd7ug0.png

复制黏贴到你的终端里 . 6to4隧道就建好了.
BGP Details 里 , 直接用他给的 Ipv6 Peer Address 经过刚才你起的那个隧道来建立BGP 邻居关系.
那么一切都搞好之后 这个 IPv6的段依然在 VPS 上 .
有些缺乏关爱的同学表示 : 我至今没用到这个 IPv6 段 !


最后,终于轮到 Country Road Take Me Home 的操作了!

(把这个段同以前Regular Tunnel那样放到自己的路由器上面用.)
首先你可以用 114514种方式打通大陆和国外VPS的隧道 , 你们很擅长做这个我知道的...

Mikrotik MTCRE 路由工程师里面有个考试项目叫做 IPv6 over IPv4 GRE Tunnels .
非常好理解 , 就是用 IPV4 起好隧道 , 然后给这个隧道的 2头分配IPv6 段 .
无论你正在广播 /44 还是 /48 IP段 , 先从这个段里分配出一个 /64的IP段
(这里你可以用一个Private IP段,并不一定要从公网IP段里划分.不过这样能显得你IP很多...).
rgmdtkah569p.png

Examples :
Home : 2b0e:b100:4f2:2::2/64
VPS : 2b0e:b100:4f2:2::1/64
互Ping 一下 , 通了就行..

划分一个 /64 的IP段 用来映射(Bring your ip to home)
7ci7dov0jbij.png
海外VPS上 到 /ipv6 routes 添加一条 :

Dst.Address : 2b0e:b100:4f2:233::/64 (新划分的IPv6段)
Gateway : 2b0e:b100:4f2:2::2 隧道对端(Home)的IP
Distance: 1

Home的路由器上 到 /ipv6 routes 添加一条:
syvrrqmu5sud.png

Dst.Address : 2000::/3
Gateway : 2b0e:b100:4f2:2::1 隧道对端(VPS)的IP

意图是把Ipv6公网Dst地址都通过隧道对端发出去 ..

最后在自己路由LAN口或者LAN桥接上添加刚才那个 2b0e:b100:4f2:233::/64
55rsztbanhbh.png

你可以选择 Advertise , 这样就一把梭哈自动下发这个IP段到设备了.
记得把你Windows 网卡 IPV6 优先级调到高于IPV4 ...IPV6 DNS 用 ::1 , 也就是依然用 IPV4的DNS 来解析AAAA记录..
这里本菜鸡表示根本不懂IPv6 , 完全是用映射IPv4地址的方式Take IPv6 home的.

最后是你们要的效果图:
div0tfdh47yg.png

于是一篇完全不讲原理,只有操作的BGP Player 速成班教学就完成了~


你还需要恶补大量的基础知识 ~

Advanced BGP Filtering :
https://youtu.be/EWVIRE0lSew
https://mum.mikrotik.com/presentations/HR13/maia.pdf

Peering with RouterOS in the IX :
https://youtu.be/CoFcvqGI7Dw

前些日子提到的 Router BGP 实验教程:
https://youtu.be/sQTAteMLA9w
https://youtu.be/oHK4EJhLvME

第一个视频请配合如同圣经一般的PDF讲义 ...
这个巴西人的演讲绝对是Mikrotik MUM 有史以来最精彩的 (这是2013年的视频.看了Mikrotik MUM几乎所有的演讲,跟他比都太水了...) !
以上视频看完 , BGP Filtering 到底是怎么一回事情..就明白9成了.
只要搞清楚IN and OUT Filter 怎么玩 ,BGP基本就成功入门了.

余松大神的RouterOS入门到精通 + 这个讲义看完 .
比花个5K在外面上CCNA-CCNP速成班效果好不知道多少了...
看了上述视频明白了9成,还有10%没有理解.那说明是理论知识上有缺失.那么就有必要学习一下正统派教材 :
https://space.bilibili.com/301363652

使用 Bird & Mikrotik CHR 来宣告IP是每一个BGP PLAYER 的必修课. FRR 和 CISCO IOS选修...
Bird 的使用方法和配置参考官方手册即可:
https://gitlab.labs.nic.cz/labs/bird/wikis/home
认真学玩之后就不会为国争光 Leaking Route EveryWhere了 - -!! 所以ASN 赶快申请起来...Delay No More ~

2020/2/16
Ver 1.2

本文经作者 @Drcai 授权转载
转载自 https://www.91yunbbs.com/discussion/641

Archives QR Code
QR Code for this page
Tipping QR Code