Docker部署ddns-go,动态域名解析公网IPv6地址

ddns-go,自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。

嫌IPv6地址太难记?ddns来解决,将家里的公网IPv6地址用起来吧!

前言

为什么需要DDNS

因为一般家庭或企业用户所获得的的广域网ip并非固定,而是会时常变化,一旦变化,我们的域名针对ip的A类解析记录就会失效,因此我们需要DDNS(动态域名解析服务),在ip变动时自动更改我们的域名解析记录值。

ddns-go项目地址:
GitHub地址:https://github.com/jeessy2/ddns-go
Gitee地址:https://gitee.com/OtherCopy/ddns-go

视频地址

本期教程辅以视频,链接:https://www.bilibili.com/video/BV1S24y1q79Z

前置准备

公网IP

首先,需要保证家里有公网IP地址,现在大多数家里是有动态公网IPv6地址的。

我们可以在控制台输入一下命令查看一下当前机子的IP

  • Windows:ipconfig
  • Linux:ip addr

找到对应的网络适配器查看IP,若是公网IPv6会有以下特征:

运营商 特征
电信 240e开头
移动 2409开头
联通 2408开头

接下来,让我们访问这个网站https://ipw.cn/ipv6ping/,这是一个测试IPv6地址能否被ping通的网站,如果你的IPv6已经能被ping通,那说明这已经能当一个公网IP使用了,可跳过检查防火墙这一步。

检查防火墙

若没有被ping通,也不用着急,这是因为家里复杂的网络环境,各个节点可能存在的防火墙,致使该ip可能在外面并不能被ping通,此时细心检查家里光猫、路由器、主机的防火墙设置,具体可以按光猫->路由器->主机的顺序逐一ping其ip地址,若有一ping不通则是上一级防火墙没关。

这里我举个以我这里关闭防火墙的例子:

  • 光猫:取消勾选使能IPv6防火墙控制转发报文
  • 路由器:关闭防火墙
  • 主机:关闭防火墙
    win:Windows安全中心->防火墙与安全保护->关闭公用网络防火墙
    linux:sudo ufw disable

安全性问题:有人会担心防火墙全关了是不是不安全了?对于大部分人而言,由于公网IPv6地址每隔个两三天就会变一次,所以不用太担心被暴力攻击,但如果对安全性十分敏感,可以自行控制开放部分内网IP或者端口,但本文章内容重点并不在于此,请自行研究,

环境配置

为了方便使用,采用docker compose部署,所以需要先安装docker

# 安装docker
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

tips:若没有curl命令,执行sudo apt install curl安装curl,再执行上面两条命令即可。

安装

可以选择docker composedocker二选一,我比较推荐docker compose安装,维护简单,且不用打一长串的参数命令行。

docker compose安装

选择一个放置目录,比如~/data/docker_data/,新建一个文件夹放置ddns-go

mkdir ddns-go
cd ddns-go

在ddns-go文件夹中创建docker-compose.yml文件,内容如下:

version: "3.9"
services:ddns-go:image: jeessy/ddns-gorestart: alwaysnetwork_mode: "host"volumes:- ./ddns-go_data:/root

ps:以下有关docker的命令最好都在root用户下执行,由于涉及一些文件操作,不提供root权限可能存在文件权限问题。

docker compose up -d

在浏览器中打开http://主机IP:9876,修改你的配置,成功

Note
建议在启用公网访问时,使用 Nginx 等反向代理软件启用 HTTPS 访问,以保证安全性。

docker安装

挂载主机目录, 使用docker host模式。可把 /opt/ddns-go 替换为你主机任意目录, 配置文件为隐藏文件

docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go

在浏览器中打开http://主机IP:9876,修改你的配置,成功

使用

配置

安装完成后,我们可以访问http://主机IP:9876进入ddns-go管理页面。

这里我以腾讯DNSPod管理的域名为例,进入腾讯DNSPod账号中心->API密钥->DNSPod Token->创建密钥

保存下来IDToken,这将是ddns-go修改dns解析的凭证,回到ddns-go的管理面板,DNS服务商选择Dnspod(腾讯云),输入对应的IDToken

根据自身需求配置ipv6,在Domains中配置域名。

其他配置:根据自己的需要配置下禁止公网访问和登录用户名密码,防止被攻击篡改。

点击Save保存。

成功后,应该能在自己的DNS解析处看到该域名当前的解析记录,并再次访问https://ipw.cn/ipv6ping/网站,ping一下这个域名,大功告成!

更新

docker compose pull
docker compose up -d

卸载

docker compose down

停止

docker compose stop

重启

docker compose restart

Docker部署ddns-go,动态域名解析公网IPv6地址相关推荐

  1. 阿里云DDNS(动态域名解析)获取解析并对比

    一.问题由来 昨天家里停电了,来电后IP地址改变了.但是并没有更新到域名解析数据上.所以感觉之前写的代码有一丝丝的不稳定. 今天重新写一个直接点的.直接查询域名服务器的解析地址,与本地公网IP地址比对 ...

  2. DDNS(动态域名解析服务)——让动态的IP固定下来

    市场背景 随着宽带接入的普及,越来越多的小型企业用户希望拥有自己企业的网站.搭建 Web . FTP 等小型的服务器,从而能在因特网中与客户交流,更好地利用因特网展示企业,为客户提供服务.但是在因特网 ...

  3. 个人服务器实现阿里云DDNS(动态域名解析)

    一.问题由来 最开始只是通过邮件发送最新的公网IP地址,再手动通过阿里云修改解析记录,但是这样很麻烦,也不够帅气. 因此希望通过我的域名服务商阿里云,自带的api解决. 本机环境 Ubuntu 20. ...

  4. 阿里云服务器的公网ipv6地址申请与配置

    前提条件 ECS实例的网络类型必须是专有网络VPC.在分配IPv6地址前,请先了解IPv6地址.详情请参见IPv6地址. 使用导航 使用IPv6的流程图如下所示: 使用IPv6的步骤如下所示: 搭建I ...

  5. 如何让动态的公网ip地址一直不变

    1. 使用静态IP地址:可以通过向ISP申请静态IP地址来解决动态IP地址的变化问题,但是这种方法会比较贵. 2. 使用动态DNS:可以使用动态DNS服务,它可以将动态IP地址映射到一个固定的域名,从 ...

  6. DDNS动态域名解析IPv6地址

    通过公网IPv6地址实现远程访问专栏系列文章: <使用公网IPv6远程访问内网设备> <DDNS动态域名解析IPv6地址> 付费提示! 由于本文教程中需要使用域名和域名解析服务 ...

  7. 群晖设置公网ipv6方式域名解析访问

    1.环境说明 上网:电信光猫+tplink路由器(电信送的) 群晖:DSM 7.1.1-42962 Update 2 域名服务商:腾讯云 2.光猫设置 2.1 获取光猫超级用户密码 拨打电信10000 ...

  8. 指南:内网穿透与DDNS动态域名解析区别,一篇看懂

    外网访问的两种方式 目前局域网环境中主流的外网访问内网分DDNS和内网穿透两种方式,以下将分别介绍: 一.DDNS服务(动态域名解析) 外网访问内网设备的基础是通过IP来通讯,而且运营商提供的公网IP ...

  9. DDNS 动态域名解析

    文章目录 1.DDNS定义 2. DDNS的配置 (1) 配置准备 (2)配置 (3)测试 1.DDNS定义 动态域名解析服务,是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的 ...

最新文章

  1. AI框架精要:设计思想
  2. 往往存储与计算机硬盘或其他,硬盘是计算机系统中信息资源最重要的存储设备其所存放信息-Read.DOC...
  3. el-tree 权限 勾选_一周新债总结,最高涨30%,10月26日起可转债交易需要先开权限...
  4. 人工智能学习--文本检测和识别综述(2021)
  5. python参数化_Python 中如何实现参数化测试的方法示例
  6. excel合并两列内容_不要再粘粘粘,合并Excel表格数据,3秒完成
  7. 译 | 使用Roslyn分析器高效编写更好的代码
  8. java向后兼容吗_Java向后不兼容历史的观察
  9. 如何部署 OB 社区版
  10. python mysql res_python操作mysql(三)查询
  11. firmware linux 原理_Firmware加载原理分析 | 学步园
  12. html src data:image,Browser/HTML Force download of image from src=“data:image/jpeg;base64…”
  13. java 多线程 原子_Java多线程:原子量
  14. 百度地图点聚合开发-地图找房功能
  15. PCAN busoff问题解决方案
  16. 改变Android应用图标
  17. 【MCS-51系列单片机汇编语言】学习笔记(在更)
  18. ubuntu apt-get install更新域名解析失败问题的处理方法
  19. Microsoft Edge浏览器上不了网,其他浏览器可以
  20. 沙特阿美以246亿元收购荣盛石化10%股份,还将在中国东北建设大型炼化一体化项目...

热门文章

  1. Kibana的离线安装部署
  2. 64位计算机很慢,为什么我的电脑对安装程序的反应很慢每次点了
  3. linux设置tty终端字体,更改Ubuntu tty下字体方法
  4. 不想重复工作怎么办?教你一键批量操作,群发、采集不用愁!
  5. Linux入侵检测系统IDS的安装与配置
  6. FreeRTOS学习笔记(2)——任务管理
  7. 3.为Fedora14安装搜狗输入法
  8. Ubuntu Gnome屏幕旋转设置
  9. Android窗口化app位移
  10. 【LeetCode】35、69