1. DDNS
2. 在 Linux 实例上设置动态 DNS
		2.1 Ubuntu
		2.2 Amazon Linux 2
		2.3 Arch Linux
		2.4 其他Linux系统
3. 更多相关

 

1. DDNS

https://en.wikipedia.org/wiki/Dynamic_DNS
https://zh.wikipedia.org/wiki/動態DNS
动态DNS(英语:Dynamic DNS,简称DDNS)是域名系统(DNS)中的一种自动更新名称服务器(Name server)内容的技术。
根据互联网的域名订立规则,域名必须跟从固定的IP地址。
但动态DNS系统为动态网域提供一个固定的名称服务器(Name server),透过即时更新,使外界用户能够连上动态用户的网址。
令互联网上的外界用户可以透过一个大家知道的域名,连接到一个可能经常动态改变IP地址的机器。
https://en.wikipedia.org/wiki/Category:Dynamic_DNS
https://en.wikipedia.org/wiki/Category:Network_software_comparisons

2. 在 Linux 实例上设置动态 DNS

https://en.wikipedia.org/wiki/No-IP
https://www.noip.com/support/knowledgebase/

2.1 Ubuntu

如何安装在Ubuntu Linux的动态更新客户端
https://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client-on-ubuntu/

a) 注册
https://www.noip.com/free
使用邮箱免费注册,登录邮箱激活帐号后,可以建立3个免费的二级动态域名,有效期1个月。

b) 安装(v2.1.9)

  • $ cd /usr/local/src/
  • $ sudo wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
  • $ sudo tar xf noip-duc-linux.tar.gz
  • $ cd noip-2.1.9-1/
  • $ sudo make install

安装会要求输入帐号及密码。

c) 配置

  • $ /usr/local/bin/noip2 -C

(创建默认配置文件, 输入您的No-IP的用户名和密码,以及要更新的主机名。)
注,其中一个问题是“你想更新的所有主机。” 如果答错了,这可能会影响您的帐户,主机名被其他位置的指向。
每次重新配置后,生成新的配置文件,都需要手动修改下所有者,以便普通用户也能读取。
-rw------- root root /usr/local/etc/no-ip2.conf

  • $ sudo chown ubuntu /usr/local/etc/no-ip2.conf
  • $ sudo chmod 644 /usr/local/etc/no-ip2.conf

-rw-r--r-- ubuntu root /usr/local/etc/no-ip2.conf

d) 启动

  • $ /usr/local/bin/noip2
  • $ /usr/local/bin/noip2 -S  //显示配置数据
  • $ /usr/local/bin/noip2 -K {PID}  //终止实例PID

e) 开机自启动
安装包: /usr/local/src/noip-2.1.9/README.FIRST 文件内有使用脚本的方式(古老的init模式),可供参考。
下面使用当前流行的systemd模式
$ sudo find / -name noip2
/usr/local/bin/noip2
$ sudo vi /lib/systemd/system/noip.service
==========================
[Unit]
Description=Noip DDNS
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/noip2
Restart=on-abort

[Install]
WantedBy=multi-user.target
==========================
$ sudo systemctl enable noip.service

远程编辑不方便,可以本地编辑好后,复制到服务器
$ scp -i awsub01.pem noip* ubuntu@awsec2ddns.ddns.net:/home/upload/
noip1.service                                 100%  160     0.2KB/s   00:00 
noip2.service                                 100%  371     0.4KB/s   00:00

2.2 Amazon Linux 2

https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/dynamic-dns.html

  • 注册: https://www.noip.com/
  • 安装: $ sudo yum install -y noip
  • 配置: $ sudo noip2 -C
  • 启用: $ sudo systemctl enable noip.service
  • 启动: $ sudo systemctl start noip.service

配置文件 (/etc/no-ip2.conf)

2.3 Arch Linux

https://wiki.archlinux.org/index.php/Dynamic_DNS#ddclient
ddclient: 为许多动态DNS服务上的帐户更新动态DNS条目。
https://github.com/ddclient/ddclient

2.4 其他Linux系统

https://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client/

  • $ cd /usr/local/src
  • $ wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
  • $ tar xzf noip-duc-linux.tar.gz
  • $ cd noip-2.1.9-1
  • $ sudo make
  • $ sudo make install

3. 更多相关

使用AWS构建无服务器动态DNS系统   2015年12月30日
https://amazonaws-china.com/cn/blogs/startups/building-a-serverless-dynamic-dns-system-with-aws/

https://amazonaws-china.com/cn/route53/faqs/

参考:
https://www.tfcis.org/~lantw44/download/slides/systemd%20常用功能簡介/slides.txt

自動啟動noip2
http://mahaljsp.asuscomm.com/index.php/2017/08/17/ubuntu-no-ip/
sudo vim /etc/systemd/system/noip2.service
[Unit]
Description = noip2 daemon
After = NetworkManager-wait-online.service network.target network-online.target dbus.service
Wants = NetworkManager-wait-online.service network-online.target
Requires = dbus.service

[Service]
ExecStart = /usr/local/bin/noip2
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy = multi-user.target