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命令可以看到

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

iHero

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

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

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

打赏作者

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

抵扣说明:

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

余额充值