我需要我的 AWS 系统通过我的本地 DNS 服务器解析 DNS。
我的本地网络 (172.19.0.0/24) 和 AWS 网络 (172.16.0.0/23) 上的实例之间有一个wireguard VPN。
我在 AWS 上设置 DHCP 选项以使用我的本地 DNS 服务器 - 172.19.0.15。
我将 VPC 设置为将所有流量路由到 172.19.0.0/24 到我的wireguard 服务器 (172.16.0.163)。
当wireguard 服务器续订租约时,它会拉动正确的 DNS 服务器,同时还会添加 172.19.0.15 的静态路由返回默认网关。
这会造成路由环路并且整个网络的 dns 失败(因为现在每个人都使用 172.19.0.15)。
ubuntu@ip-172-16-0-163:~$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 172.16.0.1 0.0.0.0 UG 0 0 0 eth0
100.10.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wg0
172.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.16.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
172.19.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wg0
172.19.0.15 172.16.0.1 255.255.255.255 UGH 0 0 0 eth0
这可以解决问题,但只是暂时的:
sudo route delete 172.19.0.15 gateway 172.16.0.1
我想有两种方法可以解决这个问题。 1 - 将网络配置为不依赖 DHCP。 2 - 在网络启动时或 DHCP 运行后的某个位置添加路由删除命令。 3 - 修复根本问题并首先阻止系统创建路由
所有这三个都超出了我的系统管理员的范围