如何在不通过/不指定下一跳IP的情况下添加路由?

如何在不通过/不指定下一跳IP的情况下添加路由?

我知道我可以使用添加路线

ip route add default via 5.5.5.5 dev eth1 table 200

但是,如果eth1无线接口通过 DHCP 获取其 IP,因为我事先不知道 AP 的 IP,该怎么办?我应该使用哪些命令选项?

答案1

几乎你不能。

您从 DHCP 请求的回复中获得的信息之一是网关的地址(通常是 1 个)。您可以使用此信息来填写显示为 的值5.5.5.5。因此,流程是您加入无线网络,以广播形式发出 DHCP 请求,然后获得用于配置网络接口(特别是 IP 地址)以及路由表的重播。

另一种方法是在 LAN 上使用路由协议。这些将广播或多播有关路由的信息。您将在系统上运行一个守护程序,该守护程序将侦听这些并更新内核路由表。

您的问题是,您的计算机需要有 2 个或更多路由,要么是以太网和 WiFi,要么是同一网络上的 2 个 WiFi 基站,才有意义。通常,您只有一个基站,并在该基站上添加路由命令,而不是在您的计算机上。

答案2

要恢复默认网关的值(如果它是通过 DHCP 提供的),您可以转到 DHCP 客户端保存其租约的地方,读取您的接口的租约,找到该选项routers并使用其值。

详细信息取决于您使用的 DHCP 客户端,租约可能位于.lease文本文件/var/lib/NetworkManager或二进制.lease文件中,/var/lib/dhcpcd5/您可以使用dhcpcd5 --dumplease your_interface或...转储,您必须为您的系统找到。

相关内容