a236752252 发表于 2023-12-9 11:34

没有entware给380梅林装zerotier

本帖最后由 a236752252 于 2023-12-9 11:41 编辑

没有包管理工具,就只能手动操作了。

记录一下操作。

r7000,koolshare固件380-7.9.1

先去http://bin.entware.net/armv7sf-k2.6/ 下载了zerotier
解压后看到依赖Depends: libc, libssp, librt, libpthread, libpthread, libstdcpp, ip, libminiupnpc, libnatpmp

然后再下载这些依赖,也解包查看各自依赖。我挨个查了下,只需要再多一个libgcc
将所有的需要的包全部解压出来,将data下的opt文件夹里内容放在一起。可能有些包系统里已经有了,其实不需要所有的。比如ip这个包。

1. 将opt文件夹扔进路由器/koolshare文件夹里去,运行下面命令加运行权限
chmod +x /koolshare/opt/*

2.先手动运行一下

mkdir /tmp/opt
ln -s /koolshare/opt/bin /tmp/opt/bin
ln -s /koolshare/opt/lib /tmp/opt/lib
ln -s /koolshare/opt/etc /tmp/opt/etc
modprobe tun
zerotier-one -d
3.加到自己网络里
zerotier-cli join XXX************在zerotier后台放行后,复制生成的/opt/var文件夹到/koolshare/opt/var。保留这个文件夹是为了固定zt的虚拟ip。
cp /opt/var /koolshare/opt/var


4.再写个启动脚本扔进/koolshare/init.d里

#!/bin/sh

mkdir /tmp/opt
ln -s /koolshare/opt/bin /tmp/opt/bin
ln -s /koolshare/opt/lib /tmp/opt/lib
ln -s /koolshare/opt/etc /tmp/opt/etc
ln -s /koolshare/opt/var /tmp/opt/var
modprobe tun
zerotier-one -d &


5.再写个防火墙脚本加到/jffs/scripts/firewall-start中,比如
sh/koolshare/zt_firewall.sh防火墙我不太明白,脚本按需填写。
我抄坛里或者网上的脚本改了改。
但好像还应该加上wan到zt和zt到one的转发。
我测试当下这个已经能从安装zt客户端的电脑用原物理内网ip地址访问内网设备了。

#!/bin/sh

zt0=$(ifconfig | grep zt | awk '{print $1}')


iptables -D FORWARD -i $zt0 -j ACCEPT 2>/dev/null
iptables -D FORWARD -o $zt0 -j ACCEPT 2>/dev/null
iptables -D FORWARD -i $zt0 -o $zt0 -j ACCEPT 2>/dev/null
iptables -D INPUT -i $zt0 -j ACCEPT 2>/dev/null
iptables -t nat -D POSTROUTING -o $zt0 -j MASQUERADE 2>/dev/null

ip_segments="$(ip route | grep "dev $zt0proto" | awk '{print $1}')"
echo 'find' $ip_segments
for segment in $ip_segments; do
    echo 'del' $segment
    iptables -t nat -D POSTROUTING -s $segment -j MASQUERADE 2>/dev/null
done

iptables -I INPUT -i $zt0 -j ACCEPT
iptables -I FORWARD -i $zt0 -o $zt0 -j ACCEPT
iptables -I FORWARD -i $zt0 -j ACCEPT
iptables -I FORWARD -o $zt0 -j ACCEPT
iptables -t nat -I POSTROUTING -o $zt0 -j MASQUERADE

for segment in $ip_segments; do
    echo 'add' $segment
    iptables -t nat -A POSTROUTING -s $segment -j MASQUERADE
done


附上我解压的文件,原版文件,只改了文件后缀











8267 发表于 2023-12-9 15:04

arm7的架构,可以试试我那个koolshare包里的二进制文件能不能用,如果可以的话 不用依赖这些库 ,生成的配置文件也默认在jffs里   

a236752252 发表于 2023-12-9 23:20

8267 发表于 2023-12-9 15:04
arm7的架构,可以试试我那个koolshare包里的二进制文件能不能用,如果可以的话 不用依赖这些库 ,生成的配 ...

谢谢。朋友,我请教一下,我在两个地方的路由上分别装了zerotier,一个是openwrt,一个是梅林380。在zerotier后台设置了路由。
我在外面电脑用客户端。我电脑能用物理LAN地址访问到两个地方的LAN下的设备。但是我两个LAN下的设备不能相互访问。
这个地方的转发是怎么设置的,一定要桥接吗?我搜的帖子好像意思是不用桥接就可以设置好?

8267 发表于 2023-12-9 23:29

a236752252 发表于 2023-12-9 23:20
谢谢。朋友,我请教一下,我在两个地方的路由上分别装了zerotier,一个是openwrt,一个是梅林380。在zero ...

按你的设置应该是可以互相访问了啊?官网添加好路由你的那么设置是可以互相访问了啊, 不能访问试试sysctl -w net.ipv4.ip_forward=1
iptables -t nat -I POSTROUTING -j MASQUERADE这俩命令吧

superzjg 发表于 2023-12-10 09:30

/jffs/scripts/firewall-start
中 在最开始加个 sleep 5 之类的延迟会更稳妥一些。

a236752252 发表于 2023-12-16 18:36

superzjg 发表于 2023-12-10 09:30
/jffs/scripts/firewall-start
中 在最开始加个 sleep 5 之类的延迟会更稳妥一些。

谢谢建议,你说的更靠谱。
页: [1]
查看完整版本: 没有entware给380梅林装zerotier