我需要使用 IPv6 向我的一个客户端进行 DNS 查询,以解析该计算机的 IPv4 地址,我将如何执行此操作。我知道我可以使用主机名来解析机器的 IPv4 和 IPv6,但任务是使用 IPv6 地址来解析网络客户端之一的 IPv4 地址。
客户端是 Windows 7 机器,DNS 服务器是使用 Bind9 的 Debian。
我尝试将 IPv4 地址添加到 IPv6 地址的 PTR 记录中,但这导致在执行 nslookup 时只能获取 IPv4 地址或客户端的主机名(一半的时间显示主机名,一半的时间显示主机名)将显示 Ipv4 地址)。
我本质上想做的是,当我写入 (nslookup 2001:db8:acad:1::10) 时,DNS 服务器应该同时响应主机名和 Ipv4 地址。
答案1
IPv4 地址可以是映射的转换为 IPv6 地址,但由于后者的范围比前者大得多,因此不能保证存在关系。
有关映射的讨论,请参见IPv6/IPv4 地址嵌入。
有关关系的讨论,请参见互联网名称服务器 IPv4 和 IPv6 地址关系,伯杰等人。
答案2
这将是两次查找:首先是 IPv6 反向查找以获取主机名,然后是 IPv4 正向查找以获取相应的 IPv4 地址(如果存在)。
在 unix 风格的 shell 中使用“dig”命令,这可能会起作用:
dig +short $(dig +short -x <IPv6_address_here> ) A
nslookup
不幸的是,将 的输出反馈给自身要困难得多。