DN11 配置文件汇总 2024

此文为 DN11 撰写,对整理合并的 dn-11/scripts 配置文件以及可以自定义的部分进行说明。

写在前面

如仓库内容有变更,请自行查看仓库提交记录,以仓库为准。

调整配置文件的时候请带上脑子,网卡名啥的根据自己实际情况来。

内网 IP 请根据实际需要做好规划,不要一下子用完了 /24 的网段,然后又尝试双节点复用一个网段。

可以根据实际情况规划自己的网段,这里给下我的方案,可以做个参考:

  • 寝室全部人共用一个网段:有内部规划需要 /25,全部 DHCP 的话 /26 足够
  • 家里根据设备数量自己规划,我家起的 /26
  • 回家回寝室的 VPN :/28
  • 云服务器:两个 /32

如有需要请自己修改,别有个模板就不知道自己写东西了。对于一些配置文件的写法,请参考 Bird 配置文件说明DN11 的前序文档

Wireguard

主要变更:只允许通过 RFC1918RFC6589 的网段(下称私网段),且限制最大长度。

文件见仓库。

Bird

主要变更

  1. 抹去默认参数,把需要修改的内容设置为 <>
  2. 使用 define 减少修改点
  3. 严格 ROA 检查
  4. 只向系统导出私网段的路由,并限制最大长度(有需要的自己改下)
  5. 多文件模板完全上重分发,但限制重分发的网段,避免漏油

文件说明

  • bird_single.conf:整理后的单文件配置。
  • bird.conf:多文件配置主文件,引用了 bfd.confebgp.confospf.confibgp.conf。可以根据实际需要剪裁协议。
  • bfd.conf:BFD 参数配置,配置后请在对应协议中启用 BFD。
  • ebgp.conf:EBGP 配置,包括 ROA。原有的静态宣告已经被移除,换成了重分发。
  • ospf.conf:OSPF 配置,附加路由宣告也在这个文件。
  • ibgp.conf:IBGP 配置。

调试说明

请确保自己的内网在 OSPF 中完成,即注释掉 bird.conf 中的 ebgp.confibgp.conf,只保留 ospf.conf,也可以正常互联。

ROA 下载脚本

旧:others\update_roa.sh
新:bird\dn11\*

新的脚本添加了版本检测,优先尝试 Github 下载,失败后使用 CDN

同时,新的脚本实现了根据下载到的 cidrikuai 添加静态路由的功能,在 HDU 内使用 ikuai+op 方案的同志可能会用到。

注意,新旧脚本的 roa 文件保存路径不同,需要注意调整 ebgp.conf

其他修改参考

有些不适合放到基本配置文件里,但是可以建议上一下的特性。

MED (Multi-Exit Discriminator)

用于解决 A1 同时 peer B1B2 的路由选择问题。B1B2 配置后,A1 会优先选择直连的路由。

修改方式:在 ebgp.conf 中修改 BGP_peersexport filter

1
2
3
4
5
6
7
8
9
10
11
12
export filter {
if source ~ [ RTS_OSPF, RTS_STATIC, RTS_OSPF_EXT2 ] then {
if net = LOCAL_CIDR || source = RTS_STATIC then {
bgp_med = 0;
} else {
bgp_med = ospf_metric1;
}
accept;
}
if source = RTS_BGP then accept;
reject;
};

可能存在的问题:

对于以下的情况,修改后对角线访问的路由会违反 hot-potato 原则。不影响访问。

1
2
3
4
A1 --- B1
| |
| |
A2 --- B2

碎碎念一下:好像修改前后都是非对称路由
真的强迫症的话可以在 ibgp.conf 中加上 unset(bgp_med);