我正在设置一个 FreeIPA 域。在我的实验室里有三个虚拟机:在域控制器ipadc1和两个客户端puppet和wordpress(创造性的,是的,我知道)。所有三个 VM 都运行新安装的 CentOS 6.4 (FreeIPA 3.0.0)。
我已经安装了 IPA 服务器,创建了一个我们将example.us在此处调用的域,并启用了 DNS 服务和自动 DNS 更新。
我已成功将两个 VM 加入域。但是动态 DNS 更新只是将 AAAA 记录放入 DNS。从来没有插入 A 记录。

我的动态更新 DNS 区域设置和 BIND 更新策略似乎也正确。

两个客户端虚拟机实际上都有IPv4 地址;puppet具有静态 IPv4 地址并wordpress从 DHCP 获取其 IPv4 地址。这似乎没什么区别。
# ip a s dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:3c:d5:f5 brd ff:ff:ff:ff:ff:ff
inet 172.25.50.227/24 brd 172.25.50.255 scope global …Run Code Online (Sandbox Code Playgroud) 我有一个运行虚拟机管理程序的物理机器的小型内部网络,它依次运行多个 KVM Ubuntu 虚拟机。我将如何设置内部动态 DNS 服务器,以便当我运行脚本来创建新虚拟机时,该 VM 可以自动在 DNS 服务器中注册自己?
Bind似乎是 Linux 的标准 DNS 服务器,但它似乎是为更“静态”的 DNS 模型而设计的。动态更新这将需要一个复杂的脚本,该脚本必须通过 SSH 连接到 DNS 服务器,编辑配置文件,然后重新启动服务器。这似乎不是一个非常优雅的解决方案。有更好的选择吗?
我看到了一个类似的问题,尽管他们要求为亚马逊上的公共设置提供解决方案。我的服务器是完全私有的,我不想依赖外部 VM 主机或动态 DNS 提供商。
我正在尝试使用 nsupdate 动态更新我的 DNS 服务器。
我在我的 DNS 服务器上使用 Debian 6,在我的客户端上使用 Debian 4。
我使用以下方法创建了一个公钥/私钥对:
dnssec-keygen -C -a HMAC-MD5 -b 512 -n USER sub.example.com.
Run Code Online (Sandbox Code Playgroud)
然后我编辑了我的named.conf.local以包含我的公钥和我希望更新的新区域。现在看起来像这样(注意:我也尝试过allow-update { any; };没有成功):
zone "example.com" {
type master;
file "/etc/bind/primary/example.com";
notify yes;
allow-update { none; };
allow-query { any; };
};
zone "sub.example.com" {
type master;
file "/etc/bind/primary/sub.example.com";
notify yes;
allow-update { key "sub.example.com."; };
allow-query { any; };
};
key sub.example.com. {
algorithm HMAC-MD5;
secret "xxxx xxxx";
};
Run Code Online (Sandbox Code Playgroud)
接下来,我将私钥文件 ( key.private …
这是快速而肮脏的:在具有在视图之间共享的动态区域的 BIND9 上,如果我从落入与 nsupdate 相同视图的客户端查询该记录,则执行 nsupdate、更新/创建/删除记录将正常工作从。
从一种观点认为,查询是不一样的使用的nsupdate将抛出NXDOMAIN(如果将一个新的记录),或将显示在改变/更新直到某个时间任意长度的情况下,旧的记录信息的一个我(说15分钟)过去了,或者我强行做$ rndc freeze && rndc thaw。 $ rndc sync似乎根本没有做任何事情来解决这个问题——我希望这只是一个日志文件的事情,因为日志刷新被记录为刷新大约 15 分钟。
如果这还不清楚,这里有一些伪代码让我们开始:
绑定视图
view "cdn-redir" {
match-clients { 10.1.1.0/24; 10.1.2.0/24; };
include "cdn-zone.db";
include "dynamic-zone.db";
};
view "default" {
match-clients { any; };
include "dynamic-zone.db";
};
Run Code Online (Sandbox Code Playgroud)
示例命令行
user@ns:~$ nsupdate -k rndc.key
> server localhost
> zone example.com.
> update add foohost.example.com. 600 A 10.5.6.7
> send
> quit
user@ns:~$ dig foohost.example.com (resolv.conf points to 127.0.0.1)
[ responds …Run Code Online (Sandbox Code Playgroud) 我无法让 Google 的动态 DNS API 用于通配符域。
我可以得到定义的子域来更新他们的 IP 就好了,但是nohost当我尝试更新通配符的 IP 时,我总是得到。
此页面https://support.google.com/domains/answer/6147083?hl=en未提及通配符域。
我在godaddy.com 上买了一个域名,我们称之为www.website.com,但我的服务器有一个动态IP,我该如何解决这个问题?
我试过的:
在 dyndns.com 上获得一个 dns 帐户让我们称之为dns.dyndns.com,所以我设置了 Godaddy 将域转发到dns.dyndns.com.
问题:当用户转到 时www.website.com,他们会dns.dyndns.com在 url 栏中看到。坏的
然后我在godaddy上设置了转发以使用域掩码转发,但问题是现在用户甚至看不到url路径/获取查询/或哈希标记!
`www.website.com/folder/search?id=4#ajax=4` becomes just
Run Code Online (Sandbox Code Playgroud)
网址栏中的 www.website.com。坏的!
我该怎么办?
编辑:
好吧,假设我的godaddy 域名是mysite.com,我有一个名为redirect.com 的dyndns 帐户。我在 www.mysite.com 上设置了 cname 记录以转到 blah.redirect.com。这是有效的,但是当我去 www.mysite.com 时,它向我显示了 www.redirect.com 的内容而不是 blah.redirect.com 上的内容,这是什么?
似乎某些家用路由器固件旨在与动态 DNS 服务(例如 noip 和 dyndns)一起使用,以从消费者 ISP 后面的服务器提供子域。同样,是否有任何动态 dns 服务可以与共享网络托管帐户一起使用?
例如,Dreamhost 有一个 API 可以检索域名的 IP 地址。理论上,动态 DNS 服务会定期向 Dreamhost API 请求网站的 IP 地址。如果 Dreamhost 上的 IP 地址发生变化,DNS 主机会在发现差异后立即自动对该网站的区域文件进行必要的更改。
过去,我为共享主机上的静态 IP 地址付费,我的域名在 GoDaddy 上注册,名称服务器设置为 EveryDNS。由于共享主机上的灾难性硬件故障,我的站点被移动并更改了 IP 地址。
在上面的示例设置中,DNS 记录会自动更新。相反,我不得不手动更新我的 A 记录。
是否有允许这样做的动态 DNS 托管服务和共享网络主机?
上面例子中提出的解决方案是否可行?
奖励(冒着暴露我对这个主题的无知的风险):除了 DNS 之外,还有其他方法可以检测网站的 IP 地址吗?也许共享主机目录中的脚本可以检测 IP 更改并通知 DNS 主机?
提前致谢!
我正在为 DHCP 和 DDNS 设置故障转移系统。使用的软件是 ISC BIND 和 ISC DHCP,在 Ubuntu 10.04 LTS 上运行。
serverA 运行 DNS01 和 DHCP01,serverB 运行 DNS02 和 DHCP02。DHCP 故障转移设置为 128 位拆分(每个服务器上的一半区域),工作正常。
serverA 设置为主 DNS,serverB 为辅助(从)。
DHCP02 应将其动态更新指向何处?是否可以使用 DDNS 条目更新从属区域,然后将 AXFR 返回到主区域,或者我是否需要将所有 DDNS 更新都指向 DNS01,在 DHCP01 和 DHCP02 上?
我刚刚切换到bind9.9.5动态 DNS功能,具有 DNSSEC 条目的半自动管理,整个过程进行得很顺利,我的区域文件更新得很好,但现在我无法通过nsupdate工具更新或添加条目。
的/etc/bind/named.conf.local:
// 1
view "localhost_view" {
allow-query-on { 127.0.0.1; };
allow-query { localhost_acl; };
match-clients { localhost_acl; };
zone "somehost.tld" {
type master;
file "/etc/bind/db.somehost.tld_10";
};
zone "168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192.168.10";
};
// formerly named.conf.default-zones
zone "." {
type hint;
file "/etc/bind/db.root";
};
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master; …Run Code Online (Sandbox Code Playgroud) 所以我们是一个大学校园,在 DNS 管理器中,所有学生的电话、桌子等都在 DNS 中注册了他们的 A 记录。我们不希望他们这样做。理想情况下,我们只需要加入域的设备注册/更新其 DNS 记录。
我们做了以下工作:
看起来它工作了一段时间,但每隔一小时,我开始看到旧记录重新填充 Windows DNS 管理器。
我们缺少什么?对此的主要推动是,我们遇到了 DNS 抢注问题,其中学生手机的主机名与我们的一台服务器相同,这阻止了最终用户通过 DNS 名称访问该服务器。临时缓解措施是为其创建 CNAME,因为动态更新似乎不会更新 CNAME,但理想情况下,我们希望阻止所有未加入域的设备在 DNS 中注册。
提前致谢。