Docker环境下安装ZeroTier并实现转发访问所在全内网
docker run -d  --network host   --name zerotier   --restart always   --cap-add=NET_ADMIN   --cap-add=SYS_ADMIN   --device=/dev/net/tun   -v /data/zerotier:/var/lib/zerotier-one   zerotier/zerotier

依照上方指令在PVE的LXC容器中使用Docker安装ZeroTier。

在ZeroTier正常新建一个Network,并选择网段。

注意:若要手动输入网段,似乎ZeroTier并不会自动为你建好路由映射。我第一次就栽在这了,使用预设网段会自动建好映射。

(自动映射如图)

在Docker容器中的sh中输入:

zerotier-cli join [上方的NetworkID]

并在Web控制台中同意设备加入,至此手机应当直接可以联通这台机子。

接下来转发设备所在内网。

打开设备的转发功能

在Docker所在shell中(注 非容器sh 为宿主机shell):

vi /etc/sysctl.conf

去除net.ipv4.ip_forward=1net.ipv6.conf.all.forwarding=1的#注释。

sysctl -p

执行此句以生效。

在宿主机使用ifconfig 或 在Docker容器中sh使用zerotier-cli listnetworks 寻找虚拟网卡名称和实体网卡名称。

注:无ifconfig一般为缺少net-tools包。

开始配置iptables:

iptables -I FORWARD -i ztly55hjrh[虚拟网卡] -j ACCEPT
iptables -I FORWARD -o ztly55hjrh[虚拟网卡] -j ACCEPT
iptables -t nat -I POSTROUTING -o ztly55hjrh[虚拟网卡] -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0[实体网卡]  -j MASQUERADE
iptables-save

至此设备转发设置完毕。

在ZeroTier控制台设置路由表

如图,设置好目的网段和途径节点即可,建议手动固定途径节点IP方便记忆。

至此,可以使用安卓手机连接蜂窝网络尝试,应当可以直接通过192.168.*.*连接到内网所有设备。

网络上教程不完全,特此记录。

参考文献:

zerotier进行net流量转发(内网访问) – 哔哩哔哩

zerotier充当网关实现内网互联,访问其它节点内网 – jonnyan – 博客园

本文作者 : Sukanu Xian
本文采用 CC BY-NC-SA 4.0 许可协议。转载和引用时请注意遵守协议、注明出处!
本文链接 : https://blog.ssf.moe/798.html
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇