利用 DDNS、内网穿透远程访问局域网主机

作者 Marlous 日期 2018-11-11
利用 DDNS、内网穿透远程访问局域网主机

参考:
问题参考 DDNS 为什么不能映射内网地址呢
华硕路由器使用 DDNS
DDNS 简单教程
群晖的 DDNS 设置方法
几个内网穿透,内网网站穿透,内网端口映射到公网的服务推荐
四步实现内网穿透
一分钟实现内网穿透(ngrok 服务器搭建)
拓展:
利用Python+阿里云实现DDNS

一 概念原理

  1. 场景应用:
    远程访问自己家局域网的无线路由器,像在内网一样通过 Web 页面进行管理,以及访问内网服务器等。

  2. DDNS 与内网穿透:

  • DDNS 概念:
    “DDNS 将用户的动态 IP 地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态 IP 地址传送给位于服务商主机上的服务器程序,服务器程序负责提供 DNS 服务并实现动态域名解析。”

  • 内网穿透概念:
    通过在有公网 IP 的服务器上运行反向代理服务与局域网内某主机上运行的反向代理服务(Web 服务器)之间建立一个安全的通道。远程通过访问公有云主机反向代理服务,跳到局域网服务器,并可以通过它来间接访问局域网内其它主机。

  1. 注意:
  • 不是所有品牌的路由器都自动帮你解决了分配到私有 IP 地址做 DDNS 的问题。公网 IP 才能 DDNS;如果分配到的是 ISP 给的私有 IP,需要去找内网穿透方案(可以直接买 VPS 自制穿透)。

  • 查看家庭路由器 WAN 口分配到的是否是公网 IP:百度 IP 查看(或使用站长工具)IP,再登陆进家庭路由器查看 IP,相同即公网 IP,不同则分配到的是私有 IP,可打电话让 ISP 改为公网 IP。

  1. 原理:
  • 家庭局域网路由器 WAN 口分配到变动的公网 IP:使用 DDNS。
    每次将变动的地址映射到提供 DDNS 服务的域名,远程通过此域名来访问目标局域网路由器,通过局域网路由器端口转发(PAT)间接访问局域网内主机。

  • 家庭局域网路由器 WAN 口分配到变动的私有 IP:使用内网穿透。
    此时家庭路由器作为二级路由(ISP 的公网 IP <-> ISP 分配的私有 IP <-> 家庭局域网内 IP)。方法详见参考。如 ngrok 反向代理应用,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道,并且 ngrok 可捕获和分析所有通道上的流量,便于后期分析与响应。

二 DDNS 实践

分配到的是公网 IP,可以正常使用 DDNS。

  • 远程访问局域网路由器登陆界面:
    登陆进路由器,找到 DDNS 设置,华硕提供了 DDNS 服务,打开开关后,起个主机名称即注册成功。也可以使用如花生壳等其它服务将注册的域名填写好即可。在 系统管理 -> 系统设置 -> 设置端口,如图,即可通过访问 注册的 DDNS 服务域名:1234 形式在外网访问路由器 Web 登陆界面。
    远程访问局域网路由器登陆界面 设置端口

  • 远程访问局域网内其它主机:
    以访问 NAS 为例,在 NAS 上设置好被访问的端口号;然后在路由器中设置,外部网络 -> 端口转发。如图,填入 NAS 的局域网 IP 和端口号。即可通过访问 注册的 DDNS 服务域名:端口号 形式在外网访问 NAS。也可以直接在 NAS 中对端口转发设置,参考教程
    远程访问局域网内其它主机 设置端口