海纳思系统相关

ssh 登陆后显示画面脚本文件地址

  • /etc/profile.d/99-helloworld.sh

在海纳思(Hinas)这类基于 Debian/Ubuntu 的嵌入式 Linux 系统中,网线插拔(即网络接口状态变化)触发的脚本主要由 if-up.d / if-down.d 或 ifplugd 插件管理

  • /etc/network/if-up.d
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 转发相关

  1. 启用 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

  1. 配置防火墙规则(如果使用 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主专用,视频内嵌代码贴在这]