庸通NAS折腾
1.ssh相关
庸通的nas购买后进入termux,默认的用户名是:u0_a81,并且默认ssh的22端口映射为了8022
- ssh登录设备
ssh -p 8022 u0_a81@ipv4
- 将电脑的文件导入到termux的家目录
scp -P 8022 localfile u0_a81@ipv4:/data/data/com.termux/files/home/
- 将termux家目录的文件test.txt导出到电脑当前目录
scp -P 8022 u0_a81@ipv4:/data/data/com.termux/files/home/test.txt ./localdir/
- 在termux里安装一个软件test.apk(需要root权限)
pm install ./test.apk
2.如何把nas存储卡的某个文件夹挂载到局域网
- samba配置文件的位置
/data/data/com.termux/files/usr/etc/samba/smb.conf
- 编辑上述的smb.conf,末尾添加如下内容:
[YongNas]
comment = Internal storage
path = /data/data/com.termux/files/home/P1
vfs objects = aio_pthread
aio_pthread:aio open = yes
read only = no
browseable = yes
writable = yes
valid users = smb
解读:
- path是需要共享的文件夹,这里随便设置家目录的P1文件夹(一定要检查是否存在)。
- valid users是samba登录的名字,默认是smb,用户如果更改过这里也要同步更改。
3.如何让自己本地的sh脚本在termux开机自启动
配置开机自启动脚本的文件位置
/data/data/com.termux/files/home/.termux/termux-services.sh
这个脚本部分内容如下:
start-stop-daemon -b --start --exec /data/data/com.termux/files/usr/bin/frpc -- -c /data/data/com.termux/files/home/frpc/frpc.toml
nohup sh /data/data/com.termux/files/usr/opt/killadb.sh > /data/data/com.termux/files/home/output.log 2>&1 &
分析:
代码第二行厂家自动开机了一个adb 杀死服务。可见可以通过nohup来设置开机自启动,假设用户的脚本叫mysafe.sh那么可以在termux-services.sh脚本里的nohup下一行加入如下这一行代码实现自己的脚本开机自启动,并且脚本运行的错误日志将保存在/data/data/com.termux/files/home/mysafe_output.log。设置好后重启即可。
nohup sh /data/data/com.termux/files/home/.termux/mysafe.sh > /data/data/com.termux/files/home/mysafe_output.log 2>&1 &
4.如何实现流量原封不动的转发
背景:软件广告满天飞,如果在平板,电脑,手机都一个个安装广告屏蔽插件很麻烦,有一种办法:路由器设置默认网关为nas,然后在nas里安装一个广告屏蔽插件,然后路由器下所有设备访问互联网必须经过nas的广告过滤规则筛选,然后再交给路由器通信,这样路由器下所有设备都能广告过滤,无需安装多个过滤插件了。
思路:假设nas有一个广告过滤软件虚拟出的网卡叫tun0,处于运行状态,现在写一个脚本将nas接收到的所有流量透传到虚拟网卡tun0,然后统一转发给路由器,并且30秒自动检查,防止异常,如果异常则重启服务。
#!/system/bin/sh
# 自动检测 tun0 并自动应用路由规则(每 30 秒检测一次)
tun="tun0"
dev="eth0"
pref=18000
log_prefix="[net-setup]"
apply_rules() {
echo "$log_prefix 检测到 $tun 存在, 应用路由规则..."
# 启用 IP 转发
sysctl -w net.ipv4.ip_forward=1 >/dev/null
# 清空旧的 FORWARD 规则(防止重复)
iptables -F FORWARD
# NAT 幂等
iptables -t nat -C POSTROUTING -o $tun -j MASQUERADE 2>/dev/null || \
iptables -t nat -A POSTROUTING -o $tun -j MASQUERADE
# 主路由策略 幂等
ip rule | grep -q "lookup main pref $pref" || \
ip rule add from all table main pref $pref
# eth0 -> tun 路由策略 幂等
ip rule | grep -q "iif $dev lookup $tun" || \
ip rule add from all iif $dev table $tun pref $(expr $pref - 1)
echo "$log_prefix 路由设置完成"
}
last_state="down"
echo "$log_prefix 启动 TUN 监控,每 30 秒检测一次..."
while true; do
if ip link show $tun >/dev/null 2>&1; then
if [ "$last_state" = "down" ]; then
apply_rules
last_state="up"
fi
else
if [ "$last_state" = "up" ]; then
echo "$log_prefix $tun 消失,等待重新出现..."
last_state="down"
fi
fi
# 每 30 秒检查一次
sleep 30
done
将以上脚本加入到/data/data/com.termux/files/home/.termux/termux-services.sh让他开机自启动即可。