在 Linux 机器上通过“ip route add”添加通用/动态路由

在 Linux 机器上通过“ip route add”添加通用/动态路由

我正在配置 raspberry pi 以用作 wireguard VPN 路由器/防火墙。客户端将通过 WLAN(hostapd)连接到 raspi,raspi 本身通过 LAN 连接到 ISP 路由器,并应通过配置的 wireguard 服务器重新路由所有流量。由于它将在限制性国家/地区使用,因此使用 shadowsocks 来屏蔽 wireguard 流量,我按照本指南进行设置:https://www.oilandfish.com/posts/wireguard-shadowsocks.html

我被困在“2.7 添加静态路由”上。原因是我目前无法知道将要使用的网关的静态 IP。我更希望能够将 raspi “即插即用”到任何路由器上,并通过网关 IP 动态(“自动”)添加必要的路由(例如,无论它是 168.0.0.1、168.178.0.1 还是其他任何 IP - 或者是否存在我不知道的通用符号?)。

有没有办法使用“ip route add ...”添加规则来允许这种用例?

或者,我考虑一些配置 UI,您必须在其中输入网关 IP,然后触发脚本来更新此路由。这种方法看起来像是用火箭筒射击蚊子(请原谅这个不好的比喻) - 欢迎提出其他建议。

如果您对我试图完成的事情有任何疑问,请随时提出。提前感谢您的建议!

答案1

如果您想要“即插即用”,首先,您的 IP 地址和默认网关必须通过 DHCP 配置。

然后,您需要编写一个脚本,在 DHCP 完成后,从路由表中获取默认网关(例如使用ip route show default)并在 中使用它ip route add。 可能有一种方法可以以某种方式挂接到 DHCP 客户端以启动脚本 - 如果没有,您可以选择从 cron 启动脚本@rebootip addr show在网络接口上循环运行,直到脚本看到 IP 地址已配置)。

相关内容