Ansible高级应用--创建DDNS (动态域名解析)

本文介绍如何使用Ansible高级应用实现DDNS自动更新,包括在运行环境为bind-dnsdocker的情况下,通过脚本控制Docker容器的启停、端口映射及防火墙规则配置,最终实现动态主机配置协议的域名解析自动更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ansible高级应用–创建DDNS

运行环境bind-dns docker
[root@localhost bind]# more start-docker.sh
#!/bin/bash
sudo ls
current_file_path= ( c d " (cd " (cd"(dirname “$0”)"; pwd)
cd ${current_file_path}

docker stop bind
docker rm bind
sudo firewall-cmd --permanent --zone=public --add-port=53/tcp
sudo firewall-cmd --permanent --zone=public --add-port=53/udp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=1000/tcp
sudo firewall-cmd --reload

docker run --name bind -d --restart=always
–publish 53:53/tcp
–publish 53:53/udp
–publish 1000:10000/tcp
–dns 114.114.114.114
-h dnsserver
-v /etc/localtime:/etc/localtime
-v pwd/tsig:/var/tsig
-v pwd/data:/data
sameersbn/bind:9.11.3-20180713

#注意 启动后需要手动生成对应域名的update key,具体请见bind相关文档。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
## - name: “#动态创建/修改DNS 记录 (DDNS) 当域名没有解析或解析不正确时才添加解析. the current host is {{ansible_hostname}}. create A record {{ item.name }}–>ip:{{ item.ip }}”
## nsupdate:
## key_name: “{{dnsconfig[‘key_name’]}}”
## key_secret: “{{dnsconfig[‘dns_update_key’]}}”
## server: “{{commonsetting[‘citybox_work_network’][‘dnsserver1’]}}”
## zone: “{{dnsconfig[‘zone’]}}”
## record: “{{item.name.split(’.’)[0]}}”
## value: “{{ item.ip }}”
## with_items: “{{ hostdict[‘hadoop-namenode-hosts’] }} + {{ hostdict[‘hadoop-datanode-hosts’] }} + {{ hostdict[‘zookeeper-hosts’] }}”
## when: lookup(‘dig’, item.name) != item.ip

或者更精简方式: 请参考上一篇 Ansible高级应用–使用动态hosts, 关于如何根据input.yml 动态创建动态hosts

- name: "动态修改DNS记录(DDNS)当域名没有解析或解析不正确时才添加解析 the current host is {{ansible_hostname}}. create A record {{ item.name }}-->ip:{{ item.ip }}"
  nsupdate:
    key_name: "{{dnsconfig['key_name']}}"
    key_secret: "{{dnsconfig['dns_update_key']}}"
    server: "{{commonsetting['citybox_work_network']['dnsserver1']}}"
    zone: "{{dnsconfig['zone']}}"
    record: "{{item.split(':')[1].split('.')[0]}}"
    value: "{{item.split(':')[2]}}"
  with_items: "{{group_domain_ip_user_password_list}}"
  when:  lookup('dig', item.split(':')[1]) != item.split(':')[2]
  #当域名没有解析或解析不正确时才添加解析
注册表修改大全 作者:Sunny 编辑:Sunny 编辑日期:2002年12月17日 23:11分 :http://www.sunny.com/WinME : sunny@elong.com ★ 更改关闭应用程序时出现“等待”对话框的时间 有时应用程序因某种原因,会没有响应,当我们按下CTRL+ALT+DEL来结束应用程序时,系统要等一段时间才能结束任务,我们可以修改注册表来减少这段时间。 打开注册表,找到主键:“HKEY_CURRENT_USER\Control Panel\desktop”,在右侧窗口新建一“字符串值”,将其命名为“WaitToKillAppTimeOut”。双击“WaitToKillAppTimeOut,然后在“编辑字符串”对话框的“键值”框中输入5000(单位为ms,缺省值为20000ms,即20秒),为了缩短系统关闭应用的等待时间,您可以将此等待时间降低为20000ms以下,如10000ms、15000ms等。 ★ 启动时给自己个欢迎窗口 打开注册表,找到主键: “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Winlogon”,在右边窗口新建两个字符串,“LegalNoticeCaption”和“LegalNoticeText”。 “LegalNoticeCaption”是指弹出窗口的标题,修改它的值。在这里自己可以随便起个名字如“我的计算机”。 "LegalNoticeText",是指你想在登录对话框中显示的文字,如改为“祝你今天工作愉快!”这样,以后启动电脑时会自动弹出这个欢迎框。 ★ 设定口令的最小长度 通常登陆口令可以设置为空。为了安全起见,可以设定口令的最小长度,以防止口令被破解。 打开注册表编辑器,找到主键: “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Polices\ Network”键下。 在右侧窗口中新建二进制键值“MinPwdLen”,值为设定的口令的最小长度,默认值为0,表示口令可以为空。如设为“3”,则口令最小长度为3。 ★使Windows口令必须为数字和字母 设定口令为字母和数字,可以增加别人破你的口令的难度,如果口令长度足够长,则很难破解。打开注册表,找到: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Network分支,在右窗格内新建一个DWORD值为“AlphanumPwds”,修改“AlphanumPwds”键值,在出现的对话框中的“键值”框内输入1。 ★ 防止匿名用户登录 WINDOWS的本身的登陆窗口安全性很差,在不知道口令的情况下可以轻易点“取消”或按“ESC”键轻松进入。修改注册表可以防止匿名用户登陆。 打开注册表,找到主键: “HKEY_LOCAL_MACHINE\Network\Logon”,新建DWORD值,名为“MustBeValidated”,键值为“1”;再重新启动机器后,你会发现通过点击Cancel按钮进Windows的办法已经不灵了。(如果自己都进不去了,可以以安全模式进入,然后将其值改为0。) ★禁用注册表编辑器Regedit 通过修改注册表,可以控制整个机器,可以禁止修改注册表,防止别人破坏HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System,如果你发现“Policies”下面没有“System”,则在它下面新建一个主键,名字就是“"System”,然后在右侧窗口中新建一个DWORD,名字取为“DisableRegistryTools”,修改它的值为“1”,以后,别人、甚至是你都无法再用regedit.exe 啦,如果要恢复的话,用记事本建立一个REG.REG文件,保存后双击即可导入注册表 REGEDIT 4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] "DisableRegistryTools"=dword:00000000 。 ★禁用口令缓存 打开注册表,找到主键: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Ne
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心自由天使

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值