Hasty Briefsbeta

双语

Debian 13 as a dual WAN router

5 hours ago
  • 将双 WAN Cisco 路由器更换为运行 Debian 13 的 N100 迷你 PC,使用六个千兆端口和一块 NVMe 磁盘。
  • 通过 DHCP 在 enp1s0 上配置 Ziggo(有线),并通过 VLAN 6 和 PPPoE 在 enp2s0 上配置 KPN(光纤),并增加 MTU 以支持 baby jumbo frames。
  • 为局域网设置 dnsmasq 的 DHCP 和 DNS,并转发到 Cloudflare 和 Google,以避免依赖提供商的 DNS。
  • 为两个 WAN 接口实现了 nftables 防火墙和 NAT,并对 PPPoE 进行了 SSH 限速和 MSS 钳制。
  • 为每条线路(ziggo 和 kpn)创建了独立的路由表,并使用动态钩子(dhcpcd 退出钩子和 ppp ip-up/down 脚本)来维护基于源的路由。
  • 将 KPN 设为主线路,其路由度量(100)低于 Ziggo(1002);当 ppp0 消失时自动回退。
  • 开发了一个故障转移脚本(wan-failover),它从每个线路的地址 ping 三个目标,并在三次检查失败后切换默认路由,恢复条件是连续六次成功检查。
  • 通过将 /etc/resolv.conf 指向 127.0.0.1(dnsmasq)并禁用 dhcpcd 和 pppd 覆盖它,修复了路由器上的 DNS 解析。
  • 通过在 dhcpcd.conf 中添加 `noipv4ll`,阻止了 Ziggo 上的链路本地默认路由,并使用 TransIP API 的动态 DNS cron 作业,根据活动线路更新 A 记录。
  • 讨论了未来的工作:通过前缀委派实现 IPv6、拔线测试和负载均衡。