一、OpenWrt静态路由需要设置网关地址
OpenWrt配置静态路由规则需要设置网关地址。如果OpenWRT 中的 WAN 接口(例如,WAN1 或 WAN2)是通过 DHCP 或者PPPoE动态获取网关地址。那怎么配置依赖于动态网关地址的路由规则呢?
方法一:使用 ip rule 动态更新网关
可以通过脚本自动更新路由规则,以处理动态网关的情况。你可以编写一个脚本,定期检查网关地址并更新静态路由规则。具体步骤如下:
- 获取网关地址: 使用 ip route 命令来获取动态获取的网关地址。例如,假设你的 WAN 接口为 eth1。
WAN_GATEWAY=$(ip route show dev eth1 | grep default | awk '{print $3}')
- 设置路由规则: 如果你有静态路由规则需要使用该网关,你可以在脚本中根据获取的网关地址来设置路由。
例如,如果你要将流量通过动态获取的 WAN 网关进行路由,可以使用以下命令:
ip route replace 192.168.10.0/24 via $WAN_GATEWAY dev eth1
- 定期更新路由规则: 为了确保每当网关发生变化时都能够更新静态路由,你可以将这个脚本定期执行,使用 cron 来实现。
编辑 crontab:
crontab -e
每分钟执行一次脚本(假设你的脚本路径为
/etc/scripts/update_route.sh):
* * * * * /etc/scripts/update_route.sh
方法二:使用 hotplug 自动更新网关
可以使用 OpenWRT 的 hotplug 系统来监听网络接口的状态变化,并在 WAN 接口的状态发生变化时自动更新路由。特别是当 DHCP 获取的网关变化时,hotplug 可以帮助你触发脚本来更新路由。
- 创建 hotplug 脚本: 在 /etc/hotplug.d/iface/ 下创建一个新的脚本(例如 99-update-route)来监听 wan 接口的 ifup 和 ifdown 事件。
#!/bin/sh
# 监听 WAN 接口上网状态变化
if [ "$ACTION" = "ifup" ] && [ "$INTERFACE" = "wan" ]; then
# 获取动态网关
WAN_GATEWAY=$(ip route show dev eth1 | grep default | awk '{print $3}')
if [ -n "$WAN_GATEWAY" ]; then
# 使用动态网关更新静态路由
ip route replace 192.168.10.0/24 via $WAN_GATEWAY dev eth1
fi
fi
- 确保脚本可执行: 给脚本设置可执行权限:
chmod +x /etc/hotplug.d/iface/99-update-route
方法三:使用 mwan3 插件自动管理路由
如果你有多个 WAN 接口并且希望自动管理流量的路由,mwan3 插件是一个非常适合的解决方案。mwan3 会自动检测每个 WAN 接口的网关,并根据路由规则动态更新路由表。
- 安装和配置 mwan3 插件: 如果你还没有安装 mwan3,可以通过以下命令安装:
opkg update
opkg install mwan3 luci-app-mwan3
- 配置多 WAN 接口: 在 Network → Load Balancing 页面,你可以设置多个 WAN 接口,并设置不同的流量分流策略。mwan3 会自动处理动态网关和路由更新。
- 配置监控和健康检查: 在 mwan3 中,你可以设置健康检查,使得当 WAN 接口不可用时,mwan3 会自动切换流量到其他可用的 WAN 接口。
总结
- 动态更新网关地址:可以通过脚本和 cron 定期更新网关,确保动态网关在静态路由规则中得到使用。
- 使用 hotplug 事件:监听网络接口状态变化,自动在 wan 接口启用时获取网关并更新静态路由。
- 使用 mwan3:如果有多个 WAN 接口,mwan3 插件提供了自动管理和流量分流的功能,能自动应对动态网关变化。
这些方法可以帮助你处理 OpenWRT 中的动态网关问题,并确保静态路由规则始终能够正确工作。
二、路由器上什么样的是动态IP
1.如果你有宽带帐号、宽带密码;就选择pppoe拨号(宽带拨号、ADSL拨号)。
2.如果宽带运营商给提供了IP地址、子网掩码、网关和DNS服务器地址;就应该选择静态IP(固定IP)。
3.如果没有宽带帐号、密码;也没有IP地址、子网掩码、网关和DNS。这种情况下就应该选择动态IP(DHCP、自动获取IP)。
所谓PPPoE拨号上网,在有的路由器上又叫做:ADSL拨号上网、宽带拨号上网。
PPPoE拨号这种上网方式,宽带运营商会分配一个宽带账号、宽带密码给用户,在未使用路由器的情况下,电脑上需要使用“宽带连接”拨号来实现上网。
目前国内绝大多数用户办理的宽带,都属于pppoe拨号这种类型。
而动态IP上网,又叫做:DHCP上网、自动获取IP上网。
动态IP这种上网方式,在未使用路由器的情况下,只需要把电脑IP地址设置为自动获得,然后把宽带网线,连接到电脑的网线接口,电脑就可以上网了。
如果是上面描述的情况,那么在设置路由器时,上网方式就应该选择:动态IP(自动获取IP地址、DHCP)。
最后静态IP上网,还可以叫做:固定IP上网。
这种上网方式,宽带运营商会提供一根一个IP地址、子网掩码、网关和DNS服务器地址给用户。在未使用路由器的情况下,需要在电脑本地连接中,手动填写宽带运营商(网络管理员)提供的IP地址、子网掩码、网关和DNS。
那么,在设置无线路由器的时候,上网方式就应该选择:固定IP(静态IP)。