我正在配置 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 启动脚本@reboot
并ip addr show
在网络接口上循环运行,直到脚本看到 IP 地址已配置)。