为bgp路由服务器自动构建(和测试)配置的python工具。
arouteserver的Python项目详细描述
arouteserver
一个python工具,用于自动构建(和测试)bgp路由服务器的丰富配置。
工作原理
两个yaml文件提供 一般策略 和 客户端配置 选项:
cfg:rs_as:64496router_id:"192.0.2.2"add_path:Truefiltering:next_hop:policy:"same-as"blackhole_filtering:policy_ipv4:"rewrite-next-hop"...
clients:-asn:64511ip:-"192.0.2.11"-"2001:db8:1:1::11"irrdb:as_sets:-"RIPE::AS-FOO"...
arouteserver获取外部信息以丰富它们:即对于irr数据,对于peeringdb,对于最大前缀限制和设置,对于peeringdb。
jinja2 内置模板用于呈现最终路由服务器的配置文件。
目前,支持 bird (1.6.x从1.6.3开始)和 openbgpd (openbsd 6.1到6.5以及openbgpd portable 6.5p 1),它们之间几乎具有功能对等。
验证 和测试都是使用内置的实时测试框架来执行的: docker 实例用于模拟多个场景,可以根据用户的需要来构建更多的自定义场景。有关实时测试部分的详细信息。
功能
- 路径隐藏 缓解技术( rfc7947 section 2.3.1 )。
-
基本过滤器(通常默认启用):
- 下一跳 强制(严格/与- RFC7948 section 4.8 );
- IPv4/IPv6的最小和最大前缀长度
- 最大路径长度
- 拒绝 无效的as_路径 (包含 专用/无效ASN );
- 拒绝包含 无传输的ASN;
- 拒绝转向架
- 最大前缀限制 基于全局或特定于客户端的值,或基于 peeringdb 数据。
-
前缀和源ASN验证(也仅在
标记
模式下):
- 基于内部收益率的过滤器 ( rfc7948 section 4.6.2 );
- 作为手动配置或从peeringdb获取的集合;
- 支持 IRR源 (成熟::as-foo,radb::as-bar);
- 白名单 支持;
-
用于生成过滤器的扩展数据集:
- rpki 用作路由对象的roas ;
- 来源于 arin whois 数据库转储;
- nic.br谁是registro.br;
- 基于rpki的过滤(bgp前缀原点验证)。
-
黑洞过滤
支持:
- 可选的下一跳重写
- 通过bgp社区发送信号(黑洞和自定义社区);
- 客户端对传播的控制。
- 正常关机 支持:
-
控制和信息社区:
- 前缀/原点asn存在/不存在于irrdbs数据中
- 不要在rtt的基础上向任何同行宣布
- 在 RTT基础上,向任何/ 对等节点预先发送 ;
- 向任何对等节点添加 不导出 / 不播发 ;
- 自定义信息BGP社区。
-
基于客户端的可选会话功能:
- 预先发送路由服务器ASN( rfc7947 section 2.2.1 );
- 活动会话;
- gtsm (通用ttl安全机制- rfc5082 );
- 添加路径 功能( rfc7911 )。
- 自动生成客户端列表:
- ix-f成员导出 json文件">创建
-
相关工具:
- 无效路由报告器 ,记录或报告无效路由及其拒绝原因。
可以在github上的分布式配置文件的注释中找到功能的全面列表,也可以在 github 或 文档网页
已经计划了更多功能:有关更多详细信息,请参见 未来工作部分。
完整文档
完整的文档可以在readthedocs上找到:https://arouteserver.readthedocs.org/" rel="nofollow">https://arouteserver.readthedocs.org/
演示文稿
提及/背书:
- Job Snijders,Linx99,2017年11月20日: 幻灯片
- Anurag Bhatia,APnic46,2018年9月12日: 视频 , 幻灯片 (pdf)
- Claudio Jeker,《成熟实验室》,2018年11月28日: Openbgpd-adding-diversity-to-route-server-landscape
谁在使用arouteserver?
- bharatix ,鸟。
- catnix ,鸟。
- ix丹佛 ,伯德。
- mbix ,bird.
- pit-ix ,鸟。
- swissix ,openbgpd.
- 未计量。交换 ,bird。
- vanix
- yxeix ,鸟。
- yycix ,openbgpd.
你在用它吗?你想被列在这里吗? 给我留言 !
状态
测试版测试 ,寻找测试人员和评审人员。
任何人如果想分享自己的观点、查看输出配置或测试输出配置,都是非常受欢迎的!
作者
皮尔·卡洛·奇奥迪- https://pierky.com
博客:https://blog.pierky.com" rel="nofollow">https://blog.pierky.comtwitter: @pierky