OpenWRT配置Zerotier实现内网映射

本文详细介绍了如何在OpenWRT路由器上配置Zerotier,包括新建zerotier端口、设置DHCP、端口转发、ManagedRoutes配置以及OpenWRT的防火墙规则设置。同时提到了Windows客户端可能出现的问题及解决方法,以及开启UPnP模式对提升外网传输速度的影响。此外,还解释了POSTROUTING和MASQUERADE在防火墙规则中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenWRT加入zerotier:

zerotier使用教程_OPENWRT LEDE 配置ZeroTier网络教程_子绘绘的博客-CSDN博客

Openwrt路由通过Zerotier组网实现异地内网互访

Linux加入zerotier网络:

linux加入zerotier网络_正道的光_的博客-CSDN博客

OpenWRT配置zerotier大内网:

基于ZeroTier和Openwrt路由器的内网互访方案

简述:需要配置的内容有:

  • OpenWRT新建zerotier端口,设置成DHCP(不是DHCP v6),然后在防火墙中添加zerotier端口到wan端口对应的转发策略。

  • zerotier服务端Web管理界面配置Managed Routes,Destination配置内网OpenWRT路由器IP网络地址段(加上24网络地址转换),Via配置zerotier配置给OpenWRT路由器的IP地址。

  • OpenWRT Web管理界面配置防火墙规则:
    注意ztxxxx字符串需要跟OpenWRT网络端口对应上。

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

注:

  • 不要配置静态路由,静态路由的转发配置在zerotier管理控制台上面配置。
  • zerotier的Windows版本有一定机率更新后提示node is unknown,解决办法为:重启Windows服务中的Zerotier One服务,之后再打开zerotier即可恢复节点连接。
  • 内网外设备,连接其他网络后,需要重启zerotier客户端,否则可能zerotier one检测不到内网IP的变化,导致连接不上。
  • OpenWRT开启UPnP模式后,大概率会触发P2P模式,会一定程度上提高外网传输速度。
  • LEDE版本的OpenWRT有些会有一个选项,开启允许NAT转发模式,这个选项就相当于原版OpenWRT中的防火墙规则。

科普内容:

  • POSTROUTING代表什么:
    代表前向路由,表示经过ztmjfiq54p的所有数据都需要进行转发。

  • MASQUERADE代表什么:
    无管理员权限情况下的路由正确转发(不设置的话防火墙会阻断访问的)

    Routed Client

### 如何在OpenWRT中集成ZeroTier或解决相关问题 #### 集成ZeroTierOpenWRT 为了将ZeroTier集成到OpenWRT,可以按照以下方法操作: 1. **安装必要的软件包** 使用`opkg`命令安装ZeroTier的核心组件以及任何可能需要的支持工具。例如,在终端运行以下命令以安装ZeroTier One客户端: ```bash opkg update && opkg install zerotier-one ``` 2. **配置ZeroTier服务** 安装完成后,可以通过启动ZeroTier服务并加入网络来进行基本设置。以下是启动服务的命令: ```bash /etc/init.d/zerotier start zerotier-cli join <NETWORK_ID> ``` 这里的`<NETWORK_ID>`是指定要连接的虚拟网络ID。 3. **验证安装与状态** 可通过以下命令查看当前节点的状态及其分配的IP地址: ```bash zerotier-cli info zerotier-cli listnetworks ``` 4. **注意事项** 在修改基础文件时需格外小心,因为OpenWrt的安全模式依赖于SquashFS分区上的完全可用的基础文件[^1]。如果在此过程中发生错误配置,则可能导致设备无法正常进入安全模式,进而需要采取更复杂的方法恢复设备功能。 #### 解决常见问题 当尝试集成ZeroTier或其他第三方应用至OpenWrt环境时可能会遇到一些挑战。下面列举了一些常见的障碍及对应的解决方案: - 如果发现推送更改失败提示类似于“Can't push refs to remote”,这通常意味着本地分支未同步最新改动。此时应先执行拉取更新再提交新变更[^2]: ```bash git pull origin main git push origin main ``` - 对于编译阶段产生的错误,比如构建WebRTC SDK期间出现问题,确认已正确完成前置步骤如运行`gclient runhooks`和指定目标路径下的Ninja构建过程[^3]: ```bash gclient sync --force gn gen out/Default ninja -C out/Default ``` - 当涉及前端框架Angular项目对接后台数据库MySQL场景下碰到困难时,可参考StackOverflow上讨论过的类似主题寻求帮助[^4]。 ```python import mysql.connector def connect_to_db(): try: connection = mysql.connector.connect( host='localhost', user='root', password='password', database='testdb' ) if connection.is_connected(): db_Info = connection.get_server_info() print("Connected to MySQL Server version ", db_Info) except Exception as e: print(e) connect_to_db() ``` 上述脚本展示了一个简单的Python函数用于建立与MySql服务器之间的链接实例。 #### 总结 综上所述,成功地把ZeroTier引入OpenWrt不仅增强了路由器联网能力还扩展了其应用场景范围;然而在整个实施流程里务必要遵循官方文档指导谨慎行事以免造成不可逆损害。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值