您的位置:首页 > 运维架构

OpenWrt中的Hotplug脚本

2016-01-19 17:48 555 查看
Hotplug,直译就是热插拔。在OpenWrt中,无论何时一个设备从系统中增删,都产生一个“热插拔事件”。

每次网络接口启动(up)或者关闭(down)的时候,所有在
/etc/hotplug.d/iface/
目录中的脚本都会以字母顺序执行。根据一个不成文的规则,会在每个脚本的前面加上一个数字前缀来设置正确的运行顺序。这就是为什么脚本名称都像:
/etc/hotplug.d/iface/<nn>-<scriptname>
的原因。

在iface hotplug脚本中有三个主要的环境变量:
变量名称描述
ACTION"ifup" 或者 "ifdown"
INTERFACE网络接口的名称,如"wan"
DEVICE物理设备的名称,如"br-lan"
利用hotplug脚本可以在网络接口启动或关闭时执行相应的动作,比如可以在wan口启动时获取外网IP:

#!/bin/sh
[ "$ACTION" = ifup ] || exit 0
[ "$INTERFACE" = wan ] || exit 0
ip=$(ifconfig pppoe-wan | grep inet | awk '{print $2}' | cut -c 6-)
logger $ip


保存为
/etc/hotplug.d/iface/99-getip
,配合DDNS就可以从外网访问路由器了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: