前言:

虽然咱们国家已经有了 IPv6 普及的政策,按理来说普及后的 IPv6 的地址更多,电信运营商也更愿意为用户下放 IPv6 的公网浮动 IP。但奈何有些地方的运营商对 IPv6 的公网 IP 像抱着宝一样不肯撒手,逼着用户做内网穿透也是属实恶心人。对比市面上的内网穿透的服务价格来看,DDNSTO还是很有性价比的。(非广告,DDNSTO看到了请打钱)
正好我的我也得知 IKuai 也可以折腾 Docker 了,不免的手痒痒,想把自己的软路由做上一个DDNS,方便外网管理和后期的折腾。

那么将 DDNSTO 部署在 IKuai 上需要以下几步:

1. 升级 IKuai 版本至3.5及以上版本

2. 绑定 IKuai 云

3. 为 IKuai 安装 Docker

4. 在 Docker 中安装 DDnsto

5. 在 DDnsto 中添加域名映射

1.升级 IKuai 爱快

因为 IKuai 爱快系统只有在 3.5.0 及以上系统支持 Docker ,所以在安装 Docker 之前需要先升级系统,如果已是 3.5.0 及以上系统则可以直接进入下一步。
首先登录 IKuai 爱快系统 的管理页面,我这里设置的是 192.168.1.1 ,直接登录就可以。这个后台的管理页面就是你安装 IKuai 爱快系统 时候的网关地址。

升级可以直接在 IKuai 爱快系统中直接升级系统,如下图:

关于 IKuai 爱快系统的安装,有空我会再出一篇教程,先放个空白地址在这里:

2. 绑定 IKuai 云

升级完成后你的 IKuai 爱快 中仍然不会出现 Docker 的设置项,这是因为 IKuai 爱快默认不安装(开启) Docker 功能,想打开你还需要绑定爱快云后,在爱快云中打开此功能。

绑定爱快云也可以直接在 IKuai 爱快系统中操作,如下图:

3. 为 IKuai 安装 Docker

3.1 安装 Docker

绑定爱快云完成后我们需要来到 IKuai 云平台。 IKuai 云链接

在这里我们能看见我们绑定好的设备。看到后我们需要点击 插件中心 找到 Docker 点击安装,将我们的绑定好设备从 未开启栏 移动到 已开启栏。

因为我这里已经开启,所以绑定的设备已经出现在了已开启栏中。

这里可能会出现一个问题,就是这里找不到你刚绑定好的设备,一般情况下这是因为你刚刚绑定设备,IKuai 云平台没有刷新出来,等上5分钟后再刷新就可以刷出来了。

成功在 IKuai 云平台中开启 Docker 后,你就可以在软路由中上 IKuai 爱快系统中的 高级应用 - 插件管理 - Docker 中找到你的 Docker 了。

3.2 配置 Docker

点开 Docker,会发现目前 Docker 处于服务异常状态。所以在使用前我们要对 Docker 进行配置。

首先我们先来到 系统设置 - 磁盘管理 - 磁盘分区 ,我们需要为 IKuai 上的 Docker 设置一个磁盘空间,挂载路径就叫 Docker。磁盘大小任意,但是建议磁盘大小不低于 200MB。
如下图:

创建磁盘后我们再回到 高级应用 - 插件管理 - Docker 点击 服务设置

选中 Docker 分区为我们的 存储分区 ,镜像库URL 不填,点击确定。

点击打开 Docker服务

接下来我们来配置 Docker服务 中的网络服务,现在的 Docker服务虽然可以运行,但是无法连接网络。那么接下来需要通过配置来让 Docker服务能够联网,点击 接口管理 - 添加 来添加网络接口。这里的IPv4地址和IPv4网关可以随意设置,但是不能和上级网关(IKuai 爱快)设置成一样的IPv4地址和IPv4网关。

因为我的 IKuai 的网关是 192.168.1.1,所以我就另外设置一个网段。
接口名称: net_Docker
IPv4地址: 192.168.2.1/24
IPv4网关: 192.168.2.1
IPv6: 不开启

这里简单解释下添加网络接口是什么意思, Docker 本身就好像一个虚拟机一样,既然是虚拟机就不能和主机(IKuai 爱快)共用一套网关和网段,所以要另外设置一套新的网关和网段。

这样 Docker 中的所有配置就设置好了,可以安装容器了。

4. 在 Docker 中安装 DDnsto

安装好 Docker 后我们来安装 DDNSTo,官方文档的操作方式是直接使用 终端进行安装和控制。DDNSTO 官方文档
但 IKuai 爱快中稍微有些不一样,其实实际操作下来是比官方文档更简单一些。

首先拉镜像,在 镜像管理 页面中添加镜像,我们直接从镜像库下载一个叫 linkease/ddnsto 的镜像,拉取他的最新版本。

完成后回到 容器列表 页面,点击添加。运行我们刚刚添加的镜像。这里设置的东西比较多,注意不要设置错,否则容器将不会运行。

容器名称: ddnsto ,可以随意设置
内存占用(M):200 ,可以随意设置
选择镜像文件:linkease/ddnsto:last
选择网络接口:net_Docker
IPv4地址: 选填,建议不填
IPv6地址: 选填,建议不填
开机自启:开启
环境变量:| UID | 0 |
| PID | 0 |
| TOKEN | 你的DDNSTO Token |

DDNSTO 的文档中说明 UID及 PID可缺省不填,但是 TOKEN 必须要填否则容器将无法运行。这里的 TOKEN 就是你在DDNSTO官网得到的令牌。

更多关于 Docker 中 DDNSTO 的参数配置可以参照 Docker 官网的说明。

点击保存后,可以回到 容器列表 页面点击 ddnsto日志
如果你的容器有问题,将会在日志中显示。我这里显示是正常运行的。

5. 在 DDnsto 中添加域名映射

现在去 DDNSTO 的官网登录上你的账号。
你会在控制台看到这里出现了一个设备:

添加域名映射

这里我把我局域网的 IKuai 爱快管理页面映射到了 ikuaiContorl 这个域名底下。

当然,我得到了一个带 kooldns 的子域名 https://ikuaicontorl.kooldns.cn:443

现在我可以通过 https://ikuaicontorl.kooldns.cn:443 这个链接访问我内网中的 IKuai 爱快管理页面了。

内网设备映射

根据以上的实例你可以映射任何你想映射的页面和设备,但是这时你会发现,我想映射我局域网中的群晖设备(192.168.1.11:5000)却怎么也映射不出去。

这里要先说 Docker 的网络机制,懂了网络机制你就明白为什么访问不到了。
看图:

还记得前面的设置吗?你的 Docker 的网段和你内网设备的网段不是同一网段怎么可能能访问到呢?那怎么才能访问到呢?看到图中的红色线路了吗?你需要做一个内网映射,把你需要访问的端口映射出去就可以访问到了。

这项设置在 网络设置 - 端口映射

同时 DDNSTO 中的域名映射也要改:

以上就是 DDNSTO 的基础玩法,更多有意思的玩法可以看 DDNSTO 的官方文档

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐