当前位置: 首页 > news >正文

Openwrt配置ZeroTier,实现公网访问内网中服务器

ZeroTier注册&Openwrt初始配置 

首先来到Openwrt的VPN→ZeroTier页面,进行一个很简单的注册

 

注册后去zerotier的网页管理页面进行一个很简单的创建网络

复制网络ID备用

在openwrt填写网络ID并启用。如果你需要访问内网主机勾上 自动客户端NAT

在zerotier网络管理界面授权通过openwrt上的zerotier。

路由创建 

初始化启动后可以在openwrt看到zerotier给你分配的IP,记下(授权有延迟,因此接口信息可能滞后显示。可以等几分钟或者重启一下openwrt上的zerotier)

然后还是zerotier的网页管理界面,去设置路由

 防火墙设置

这些都在openwrt设置。首先老样子,防火墙基础设置。可以参考上一篇blog。IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)_openwrt ipv6设置-CSDN博客

接下来在网络→接口项添加新接口,配置如图,设备选zerotier给你自动创建的网络适配器

经过测试,只添加接口就可以进行外网访问内网主机了,无需设置通信规则放通9993,端口转发/NAT规则(别忘了开启openwrt里zerotier的自动客户端nat选项)

但是如果你确实是还不能外网通过zerotier访问内网,可以试试命令行添加如下的iptables条目,这些条目对的出入流量进行放行。(能正常访问就用不着做这个,一般情况下上方创建接口的动作已经涵盖这些命令

iptables -I FORWARD -i <zerotier给你自动创建的适配器> -j ACCEPT
iptables -I FORWARD -o <zerotier给你自动创建的适配器> -j ACCEPT
iptables -t nat -I POSTROUTING -o <zerotier给你自动创建的适配器> -j MASQUERADE
#允许zerotier给你自动创建的适配器 进行转发(出/入流量)、允许zerotier给你自动创建的适配器对内网设备进行NAT(即允许访问内网)
 

客户端连接

客户端使用手机(当然电脑也可以,配置都大同小异,没啥要讲)    Google市场直接下载 

添加网络,填写网络ID即可连接。下方路由流量和DNS根据自己需求设置。

连接后即可直接输入局域网主机IP访问。由于源地址是同网段内所以设置了内网免认证的服务也无需输入密码。而且自带加密安全性也相较域名有很大改善。下载文件速度大约5MB/s,外网访问已经绰绰有余,但相较于域名的全速访问还是差点意思(但不会有人流量闲得慌天天外面下大文件吧)明年的域名费可以不用续咯。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Windows下,C# 通过FastDDS高效通信
  • 碳化硅陶瓷膜过滤设备优异的过滤性能
  • 前端技术 -- 动画效果之GSAP作用与使用示例
  • Apex - Annotation#AuraEnabled
  • go的工厂模式
  • Oracle Flashback Recyclebin从回收站中恢复被删除的对象
  • 使用RabbitMQ死信交换机实现延迟消息
  • MySQL Galera Cluster 部署与介绍
  • 天津教育杂志天津教育杂志社天津教育编辑部2024年第24期目录
  • 【C++】函数的调用
  • 【RISC-V设计-05】- RISC-V处理器设计K0A之GPR
  • 【论文阅读】MobileNetV4 - Universal Models for the Mobile Ecosystem
  • 【原创】java+swing+mysql学生管理系统设计与实现
  • CentOS linux安装nginx
  • 【区块链+社会公益】长安大学城梦想小镇居民公益积分项目 | FISCO BCOS应用案例
  • php的引用
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 5、React组件事件详解
  • Akka系列(七):Actor持久化之Akka persistence
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • CentOS6 编译安装 redis-3.2.3
  • download使用浅析
  • Druid 在有赞的实践
  • javascript 哈希表
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • js对象的深浅拷贝
  • leetcode386. Lexicographical Numbers
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Selenium实战教程系列(二)---元素定位
  • spark本地环境的搭建到运行第一个spark程序
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Vue2.0 实现互斥
  • 初探 Vue 生命周期和钩子函数
  • 创建一个Struts2项目maven 方式
  • UI设计初学者应该如何入门?
  • 阿里云移动端播放器高级功能介绍
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #Spring-boot高级
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • (+4)2.2UML建模图
  • (1)svelte 教程:hello world
  • (13):Silverlight 2 数据与通信之WebRequest
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (苍穹外卖)day03菜品管理
  • (超详细)语音信号处理之特征提取
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (四)软件性能测试
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • ***原理与防范