单个主机的“伪” DNS


11

我在家庭网络中运行bind9 dns服务器,为我的本地域/ 192.168.xx中的所有内部服务器提供服务-其中之一extweb.local 192.168.1.33在互联网上也可以作为home.sickel.net(好吧,不完全是,但是你明白了

是否可以设置我的内部DNS,使其将home.sickel.net解析为192.168.1.33?镰刀网络上的所有其他主机都在外部运行,我的内部dns不应该解析。

(所有这些主要是为了使家庭其他成员更轻松,因此无论他们在家还是通过www进行访问,他们始终可以将服务器称为home.sickel.net)

我的家庭网络上的所有服务器都运行debian。它们都在同一子网中,并通过单个网关连接到Internet。


1
如果需要有效的响应,则需要更详细地描述设置。布局是什么?例如,DSL路由器,home.sickel.example和其他在家的机器都挂了吗?家庭运行什么操作系统?设置绑定将很容易,这样家庭可以处理所有DNS查询,并将除家庭 IP 之外的任何其他内容传递给ISP DNS服务器(从属设置)。
2013年

2
您需要使用bind中的home.sickel.net区域覆盖查找。详细信息在这里:serverfault.com/a/223958
Matt

Answers:


11

当然可以。在这里看看:https : //help.ubuntu.com/community/BIND9ServerHowto#Primary_Master_Server_configuration

red@ubuntu:/etc/bind$ cat named.conf.local
zone "home.sickel.net." {
             type master;
             file "/etc/bind/db.sickel.net";
        };

red@ubuntu:/etc/bind$ cat db.sickel.net
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.
home.sickel.net. IN     A       192.168.1.33
red@ubuntu:/etc/bind$ sudo service bind9 restart
 * Stopping domain name service... bind9 [ OK ]
 * Starting domain name service... bind9 [ OK ]
red@ubuntu:/etc/bind$ dig +short home.sickel.net @localhost
192.168.1.33
red@ubuntu:/etc/bind$ dig +short sickel.net @localhost
85.19.71.164

现在,只需将/etc/resolv.conf更改为使用127.0.0.1作为主要名称服务器即可。


1
您的方法有缺陷,因为它将阻止名称为foobar.home.sickel.net的任何主机的解析。
PéturIngi Egilsson
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.