海纳思系统相关
微言ssh 登陆后显示画面脚本文件地址
- /etc/profile.d/99-helloworld.sh
在海纳思(Hinas)这类基于 Debian/Ubuntu 的嵌入式 Linux 系统中,网线插拔(即网络接口状态变化)触发的脚本主要由 if-up.d / if-down.d 或 ifplugd 插件管理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| 在海纳思(Hinas)这类基于 Debian/Ubuntu 的嵌入式 Linux 系统中,网线插拔(即网络接口状态变化)触发的脚本主要由 if-up.d / if-down.d 或 ifplugd 插件管理。
根据海纳思的系统结构,你可以从以下几个地方找到对应的脚本:
1. 标准 Debian 网络钩子 (最常用) 这是系统最标准的路径。当网卡(如 eth0)状态改变时,系统会自动执行这些目录下的脚本:
网线插入/获取 IP 时执行: /etc/network/if-up.d/
网线拔出/断开网络时执行: /etc/network/if-down.d/
网络配置前/后执行: /etc/network/if-pre-up.d/ 和 /etc/network/if-post-down.d/
提示: 如果你想在插网线后执行自定义动作,只需在 /etc/network/if-up.d/ 下创建一个脚本并赋予可执行权限(chmod +x)。
2. 海纳思特有的初始化脚本 海纳思为了实现“自动获取 IP”和“显示 IP”的功能,通常在以下位置也有逻辑处理:
/etc/init.d/ 目录: 检查是否有网络管理相关的服务脚本。
/usr/bin/ 或 /usr/sbin/: 海纳思有时会内置一个名为 ip-check 或 network-monitor 的后台进程。
3. ifplugd 守护进程 由于海纳思通常运行在电视盒子上,为了实时监测物理网线的插拔,系统往往安装了 ifplugd 工具。它的配置文件通常在:
/etc/ifplugd/ifplugd.action
这个 .action 脚本是核心。当物理链路状态发生变化(Link up/down)时,ifplugd 会直接调用这个脚本。你可以编辑这个文件查看它最后执行了哪些操作。
4. 如何精准定位? 如果你不确定具体是哪个文件,可以用这个“笨办法”实时监控系统到底运行了什么:
在 SSH 中输入以下命令(监控 /etc 目录下文件的访问情况):
Bash
journalctl -f | grep network 手动拔掉并重新插上网线。
观察屏幕输出,它通常会提示哪个服务被启动了,或者哪个脚本输出了日志。
总结 如果你想实现**“插上网线就执行某个任务”**,最推荐的做法是:
在 /etc/network/if-up.d/ 目录下新建一个脚本(例如 99-my-task)。
脚本内容开头必须写 #!/bin/sh。
执行 sudo chmod +x /etc/network/if-up.d/99-my-task。
这样,每次网线插入并完成网络初始化后,你的脚本就会自动运行。
|
配置ip 转发相关
- 启用 IP 转发功能
临时启用(重启后失效)
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
永久启用
echo “net.ipv4.ip_forward=1” | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
- 配置防火墙规则(如果使用 iptables)
允许转发流量
sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
配置 NAT(如果需要)
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
[up主专用,视频内嵌代码贴在这]