绿联DX4600内网穿透方法

绿联 DX4600 NAS 支持Docker服务,可惜只能在内网使用,必须掌握内网穿透技术,才能在外网访问Docker提供的服务。下面介绍如何在绿联 DX4600 NAS 配置内网穿透的方法。

基本原理

NAT

NAT 是网络地址转换的缩写。它是一种在网络中广泛使用的技术,主要作用是在数据包通过路由器或防火墙时,修改数据包中的源IP地址或目标IP地址。

NAT主要解决以下问题:

  • 解决 IPv4 地址短缺问题:NAT 允许一个家庭或公司里的所有设备(电脑、手机、平板等)共享同一个公网 IP 地址上网。
  • 安全与隐私(天然的防火墙):因为外界只能看到 NAT 路由器的公网 IP,无法直接访问到你内网的具体设备。
  • 网络灵活性:你可以在家里随意增加或更换设备,只要它们使用的是私有 IP 地址(如 192.168.0.10)

NAT常见类型主要有三种:

  • 静态 NAT : 一个私有 IP 地址固定映射到一个公网 IP 地址(一对一)
  • 动态 NAT :多个私有 IP 地址竞争使用一个公网 IP 地址池(多对多)
  • PAT / NAPT: 多对一。让家里所有设备共用路由器上的同一个公网 IP。路由器除了记录 IP 地址,还会记录端口号。当你手机和电脑同时上网时,路由器把它们的请求发出去,但给它们分配不同的源端口。
    • 例如:手机请求用的是 公网IP:10001,电脑请求用的是 公网IP:10002。当数据返回时,路由器根据端口号 10001 或 10002,就知道该把数据转发给手机还是电脑。

内网穿透

内网穿透的核心原理,可以通俗地理解为:让没有公网IP的设备,通过一个有公网IP的中转服务器,和外部设备建立数据通道。

其工作流程分为两步:

第一步:建立隧道(内网设备主动连接服务器)
第二步:数据转发(打给服务器,转给内网)
这个过程就是内网穿透的本质:数据全部经过服务器中转。

进阶版:P2P(点对点)打洞

为了提高速度,更高级的穿透(如P2P模式,即点对点模式)会尝试让两个内网设备直接连接。原理如下:

  1. 中介牵线: 服务器依然存在,但它只负责“牵线搭桥”,帮双方交换IP和端口信息。
  2. 打洞: 双方利用UDP协议的特性,互相往对方的公网IP和端口发送数据。虽然一开始会被路由器拒绝,但当双方都发送时,路由器会误以为是之前请求的回复,从而打开一个临时通道。
  3. 直连: 一旦通道打开,两台设备就可以直接通信了,数据不再经过服务器中转,速度取决于双方各自的宽带。

这就是P2P打洞技术,也是P2P(如BT下载)和视频通话流畅运行的基础。

P2P(点对点)打洞限制

NAT的不同“性格”(类型)直接决定了打洞的成败。主要有以下四种类型:

NAT类型 工作原理 打洞成功率
完全锥型 映射关系建立后,任何外部主机都可以通过这个公网端口访问内网主机。 ✅ 最容易
受限锥型 只有内网主机主动发送过数据的外部主机(不限端口),才能通过公网端口向内网发起通信。 ✅ 较容易
端口受限锥型 要求更严格,只有内网主机主动发送过数据的特定(IP+端口)组合,才能向内网通信。 ✅ 有条件
对称型 最严格。每次内网主机向不同目标主机发起连接,NAT都会重新分配一个新的公网端口,导致无法预测对方的“入口”。 ❌ 基本无效

实现方法

使用Docker服务

请参考:

目前绿联DX4600提供的Docker镜像仓库均无法下载Docker镜像,可修改使用轩辕镜像下载Docker镜像。

使用cpolar服务

使用cpolar提供的免费内网穿透服务,可实现远程登陆绿联 DX4600 进行操作。

DX4600操作系统是基于OpenWrt系统的,因此安装 cpolar 请参考:

具体步骤如下:

  • 开启绿联 DX4600 调试功能
  • 使用 MobaXterm 远程登陆绿联 DX4600系统
  • 使用如下命令安装 cpolar
1
2
3
4
5
6
7
8
9
10
# 下载公钥
wget -O cpolar-public.key http://openwrt.cpolar.com/releases/public.key
opkg-key add cpolar-public.key

# 更新包管理器
opkg update

# 安装cpolar插件

opkg install cpolar
  • 用浏览器访问 http://nas_ip:9200 ,创建访问绿联 DX4600的 SSH隧道。注意绿联 DX4600 ssh服务的端口为922。
  • 登录 cpolar官网,注册账号,可以看到创建的 ssh 隧道,后续可以在外网通过该 ssh 隧道远程登录内网的绿联 DX4600。

参考链接

  1. 外网SSH远程连接linux服务器「cpolar内网穿透」,by 不会kao代码的小王.
  2. 手把手教你:零基础实现绿联NAS外网访问,随时随地访问Docker服务,by 黑衣教主.
  3. NAS探索篇一:绿联DX4600利用DDNS-GO和阿里云免费部署动态解析,by 墨鱼的猪.
  4. 原来Docker这么好用,绿联DX4600,Docker上手实际操作体验,by 鼠鼠的鼠.
  5. NAS用户必备!170 多个好玩的,好用的docker容器,by 什么值得买​.