OpenWRT 配置 Zerotier 实现内网访问

OpenWRT 配置 Zerotier 实现内网访问

概述:

OpenWRT 通过 docker 安装在192.168.1.10上,OpenWRT 中启用 Zerotier,并配置 Zerotier 网络中可以访问内网192.168.1.x的路由

步骤:

  1. 宿主机192.168.1.10上安装docker(略)

  2. 宿主机192.168.1.10上查看ip地址对应的网卡为enp1s0,执行下面命令对网卡设置混杂模式

ip link set enp1s0 promisc on
  1. 创建虚拟网络macvlan
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=enp1s0 macnet
  1. 拉取openwrt镜像并启动

    docker run --restart always --name openwrt -d --network macnet --privileged --ip 192.168.1.249 registry.cn-shanghai.aliyuncs.com/suling/openwrt:x86_64 /sbin/init

  2. 查看openwrt的容器id
    在这里插入图片描述

  3. 执行以下命令进入openwrt容器

 docker exec -it 49e5290e0450 bash
  1. 编辑/etc/config/network文件做如下修改:

在这里插入图片描述

这里设置了容器ip为192.168.1.249,与宿主机192.168.1.10在同一网段

  1. 重启网络
    /etc/init.d/network restart
  1. 此时openwrt容器中可以ping通其它 192.168.1.x段的地址,但ping不通宿主机192.168.1.10的地址。执行exit退出容器

  2. 在宿主机192.168.1.10上做如下设置:

    ip link add macvlan-proxy link enp1s0 type macvlan mode bridge
    ip addr add 192.168.1.251 dev macvlan-proxy
    ip link set macvlan-proxy up
    ip route add 192.168.1.249 dev macvlan-proxy
**之后宿主机和容器之间可以互相ping通**
  1. 打开浏览器进入http://192.168.1.249 输入账号密码,进入openwrt设置界面,点 VPN -> ZeroTier
    在这里插入图片描述

选中“启用”、“自动允许客户端NAT”,在 ZeroTier Network ID框中输入要加入的zerotier网络id,然后点 “保存&应用”

  1. 登录zerotier,对刚才接入的openwrt中的zerotier客户端添加许可。之后设置所有到192.168.1.x的访问路由到openwrt的zerotier客户端ip。此时可以尝试在另外的zerotier客户端上访问192.168.1.x地址。

  2. 如果不通,还需要做如下设置:点 网络->防火墙
    在这里插入图片描述

将 “转发”设为 “接受”
在这里插入图片描述

区域中做如上图的设置,IP动态伪装和MSS钳制保持不选。之后点 “保存&应用”。

再去防火墙->自定义规则页面,输入下面三条,然后点“重启防火墙”

iptables -I FORWARD -i ztc3qwyx5l -j ACCEPT
iptables -I FORWARD -o ztc3qwyx5l -j ACCEPT
iptables -t nat -I POSTROUTING -o ztc3qwyx5l -j MASQUERADE

其中ztc3qwyx5l是zerotier虚拟接口的名字,在容器的命令行下用ifconfig命令可以看到

### 使用 ZeroTier 实现内网穿透配置教程 #### 创建账户并初始化网络环境 为了使用ZeroTier进行内网穿透,需先在官方网站上注册账号,并登录后创建一个新的私有网络。这一步骤会提供一个唯一的Network ID用于后续节点加入操作[^3]。 #### 客户端安装与设置 对于Linux系统而言,可以通过命令行工具轻松完成软件包的获取及服务启动;而在Windows环境下,则推荐下载官方提供的图形界面版本来进行更直观的操作指引[^2]。 ```bash # Linux下通过wget快速部署ZeroTier One wget -O - https://install.zerotier.com/ | sudo bash sudo zerotier-cli join YOUR_NETWORK_ID_HERE ``` 上述脚本实现了自动化安装过程以及指定网络ID下的成员身份申请动作。其中`YOUR_NETWORK_ID_HERE`应替换为实际获得的具体数值字符串表示形式。 针对Windows平台: 1. 访问[ZeroTier官网](https://www.zerotier.com/)下载适用于Windows系统的最新版应用程序; 2. 执行安装程序按照提示逐步完成整个流程直至结束; 3. 启动应用并通过界面上方菜单栏选择“Join Network”,输入之前记录下来的Network ID来发起请求接入指令。 #### 路由器侧配置调整(可选) 如果是在OpenWRT这样的路由器固件环境中集成ZeroTier功能模块的话,还需要额外执行一些特定于该场景的任务,比如在网络接口处新增一条通往外部世界的路径以便内部资源能够被外界所触及[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iHero

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值