Pat*_*ick 4 domain-name-system bind internal-dns
抱歉,如果之前有人问过这个问题,但我似乎找不到任何特定于我的案例的信息。
我运行一个服务器,如果用户将 DS 的主 DNS 服务器更改为我的盒子,则用户可以在其中连接 Nintendo DS 游戏。我目前正在使用一个简单的 python 脚本,它基本上将所有请求转发到它们的实际地址,除了一个: gamestats2.gs.nintendowifi.net
,它转发到我的 IP。问题是这个脚本往往在一两天后停止工作,需要我重新启动它。
在将所有其他地址转发到正确的 IP 时,我是否能够覆盖 BIND9 中的单个主机?或者有其他更好的服务器吗?
lar*_*sks 17
为了记录:您也可以使用 BIND 执行此操作,但涉及的内容要稍微多一些。您需要将 bind 配置为要覆盖的特定资源记录的权威名称服务器。例如,如果你想将 gamestats2.gs.nintendowifi.net 重定向到你自己的主机,你需要在你的named.conf
:
zone "gamestats2.gs.nintendowifi.net" {
type master;
file "override.zone";
};
Run Code Online (Sandbox Code Playgroud)
在里面override.zone
,一个像这样的区域定义:
$TTL 3600
$ORIGIN gamestats2.gs.nintendowifi.net.
@ IN SOA localhost. lars.localhost. (
2010011800 ; sn = serial number
172800 ; ref = refresh = 2d
900 ; ret = update retry = 15m
1209600 ; ex = expiry = 2w
3600 ; min = minimum = 1h
)
; we need one nameserver
IN NS ns0
; and we're overriding the public ip address with
; this address.
IN A 10.0.0.1
ns0 IN A 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
也就是说,您的区域文件必须SOA
至少提供一条记录,至少一条
NS
记录,并且必须存在A
列出的名称服务器的有效记录……而且您可能需要一条A
记录来提供您选择的地址。
有了这一切:
$ host gamestats2.gs.nintendowifi.net localhost
Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases:
gamestats2.gs.nintendowifi.net has address 10.0.0.1
Run Code Online (Sandbox Code Playgroud)
它当然不如使用dnsmasq方便,但值得了解。
我会使用 dnsmasq 并在配置中设置特定的覆盖
address=/gamestats2.gs.nintendowifi.net/Yo.Ur.Ip.Ad
Run Code Online (Sandbox Code Playgroud)
指示...
归档时间: |
|
查看次数: |
8622 次 |
最近记录: |