实现目的:外网访问内网
1) 从www.pubyun.com申请动态域名,
2) linux下连客户端都不用安装,也不用配置文件,不用知道IP,使用lynx(一般的Linux,BSD都自带),就可以了! 使用方法:
lynx -mime_header -auth=用户名:密码 "http://members.3322.net/dyndns/update?system=dyndns&hostname=域名"
因为ip会动态变化的,所以需要把上面lynx命令每隔一段时间运行一次, 可以考虑放到crond中或者一个自启的循环运行的脚本中。
比如设置成60s运行一次
详细描述可参照官网 http://www.pubyun.com/products/dyndns/help/dyn/
动态域名解析
以下是关于在Linux系统(特别是Ubuntu)上设置和管理 动态域名解析(Dynamic DNS, DDNS) 的详细指南:
1. DDNS简介
DDNS允许将变化的公网IP绑定到固定域名上(如home.example.com),适用于家庭宽带或小型服务器等场景:
- ISP通常分配动态IP(重启路由器后可能变化)。
- DDNS客户端定期向服务商更新当前IP。
2. Ubuntu上的实现方法
(1) DDNS客户端工具选择
| 工具 | 特点 |
|---|---|
ddclient | 轻量级,支持多种DDNS提供商 |
inadyn | 简单易用 |
no-ip | 专用客户端 |
(2) ddclient配置步骤
# Step1:安装
sudo apt install ddclient
# Step2:编辑配置文件
sudo nano /etc/ddclient.conf
配置文件示例(以DynDNS为例):
protocol=dyndns2
server=members.dyndns.org
login=您的用户名
password='您的密码'
use=web
your.dyndns.name
(3) no-ip客户端配置
sudo no-ip -C
#按提示输入账号密码
(4) API方式手动更新
适用于自定义脚本:
curl "https://api.dynu.com/nic/update?hostname=your.domain&password=your_password"
3. DDNS提供商推荐
(免费选项)
- Dynu
(付费选项)
1.DynDNS Pro
4.DNSmasq本地缓存加速
(1).安装与基础配置
Step1:安装软件包
apt-get install dnsmasq
Step2:修改主配置文件
nano /etc/dnsmasq.conf
Step3:添加参数示例
server=8.8.8.8 #上游DNS
cache-size=1000 #缓存条目数
address=/home.lan/192.168.1.x #本地记录
Step4:重启生效
systemctl restart dnsmasq
(2).测试效果
Step1:查询测试
dig home.lan @127.0.0.1
Step2:查看命中率统计
dnsmasq --test
5.DDNS常见问题排查
(1).日志检查
ddclient日志路径
tail -f /var/log/syslog | grep ddclient
inadyn日志开启方式
inadyn --foreground --verbose
(2).防火墙规则
Step1:放行HTTP请求
ufw allow out http
Step2:NAT设备注意事项
•需开启ALG支持
•建议绑定MAC地址
(3).定时任务验证
Step1:列出任务
crontab -l
Step2:测试执行
run-parts --test /etc/cron.hourly
6.DDNS高级应用
(1).多级子域配置
•通配符记录支持

•CNAME别名重定向
(2).安全加固
•TSIG密钥认证
•HTTPS传输加密
(3).容器化部署
Docker示例命令
docker run -d --name ddclient \
-v /path/to/ddclient.conf:/etc/ddclient.conf \
-e TZ=Asia/Shanghai \
--restart always \
ddclient/ddclient
如需特定场景的详细配置(如树莓派/RouterOS整合),可提供更多环境细节继续深入探讨
748






