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