我在工作中使用 unblock-us.com dns 服务器访问 pandora.com。我们公司使用大量 *.mycompany.internal 域名来处理公司事务。当然,unblock-us 无法解析它们,我真的厌倦了将它们全部添加到 hosts 文件中。有没有办法将公司 dns 服务器用于 mycompany.internal 域名,将其他 dns 服务器用于其余域名?这是我的个人电脑,无法更改公司 dns 设置上的任何内容。
解决方案:
我最终使用了 Deadwood,这是 MaraDNS 的递归 DNS 服务器,感谢 Jens Ehrich。这是我的 Deadwood 配置文件 (dwood3rc.txt):
# Please note that each upstream_servers entry takes up space in Deadwood's
# cache and that maximum_cache_elements will need to be increased to store
# a large number of these entries.
upstream_servers = {}
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Google DNS as example
# To have Deadwood perform DNS queries for a small LAN and have the DNS server
# on 192.168.1.111 resolve queries ending in "internal":
root_servers = {}
root_servers["internal."]="<my.company.dns.ip1>, <my.company.dns.ip2>"
# The IP this program has
bind_address="127.0.0.1"
# The IPs allowed to connect and use the cache
recursive_acl = "127.0.0.1/16"
# The file containing a hard-to-guess secret
random_seed_file = "secret.txt" # created with mkSecretTxt.exe from MaraDNS
# By default, for security reasons, Deadwood does not allow IPs in the
# 192.168.x.x, 172.[16-31].x.x, 10.x.x.x, 127.x.x.x, 169.254.x.x,
# 224.x.x.x, or 0.0.x.x range. If using Deadwood to resolve names
# on an internal network, uncomment the following line:
filter_rfc1918 = 0
然后就install.bat
在 Deadwood 文件夹中使用。
答案1
你可以这样做DNS 区域委派。
首先,设置另一个 DNS 服务器(在您自己的机器上也可以),使用 unblock-us.com DNS 作为转发器。您可以使用 Simple DNS、MaraDNS 或运行 Linux 或 Windows Server 的本地虚拟机。
其次,为您公司的网络添加一个指向您公司 DNS 服务器的委托区域。
第三,配置您的网卡以使用新的 DNS 服务器作为主名称服务器。
答案2
您尝试过这个 PowerShell 命令吗?看起来简单多了。
Add-DnsClientNrptRule -Namespace "pqr.com" -NameServers "10.0.0.1"
参考:https://docs.microsoft.com/en-us/powershell/module/dnsclient/add-dnsclientnrptrule?view=win10-ps
答案3
回应@aoetalks 的回答,如果我把一个放在.
命名空间中,它就会像魔法一样起作用。
Add-DnsClientNrptRule -Namespace ".example.local" -NameServers "10.0.0.1"