我有一个 Web 服务器(具有静态 IP 192.168.1.5
),我希望我的本地网络上的计算机能够访问它而无需修改/etc/hosts
(或 Windows/OSX 的等效方法)。我的路由器有
Primary DNS server 192.168.1.5
Secondary DNS server 8.8.8.8 (Google's public DNS).
Nginx 被设置为对外提供网站服务
*.example.com
从内心来说,我想要
*.example.local
指向服务器。
我的 Web 服务器已安装 BIND9,但我不确定设置。我看过各种相互矛盾的教程,因此我的大部分设置都被破坏了。我删除了让我感到困惑的行。
我看过的教程是http://tech.surveypoint.com/blog/installing-a-local-dns-server-behind-a-hardware-router/和http://ubuntuforums.org/showthread.php?t=236093。它们主要在应该在/etc/bind/zones/db.example.local
和 中输入什么方面存在差异/etc/bind/zones/db.192
,因此我省略了下面有冲突的行。有人可以建议哪些行是正确的,才能实现上述行为(即*.example.local
指向192.168.1.5
)吗?
/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.254
/etc/hostname
avalon
/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
/etc/bind/named.conf.options
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8;
8.8.4.4;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
/etc/bind/named.conf.local
zone "example.local" {
type master;
file "/etc/bind/zones/db.example.local";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.192";
};
/etc/bind/zones/db.example.local
$TTL 604800
@ IN SOA avalon.example.local. webadmin.example.local. (
5 ; Serial, increment each edit
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
/etc/bind/zones/db.192
$TTL 604800
@ IN SOA avalon.example.local. webadmin.example.local. (
4 ; Serial, increment each edit
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
我需要向上述文件添加什么内容,以便在内部网络上的笔记本电脑上输入,webapp.example.local
并由我的网络服务器提供服务?
编辑
我对网络服务器上的上述文件做了一些更改。
/etc/network/interfaces
(文件结束)
dns-nameservers 127.0.0.1
dns-search example.local
/etc/bind/zones/db.example.local
(文件结束)
@ IN NS avalon.example.local.
@ IN A 192.168.1.5
avalon IN A 192.168.1.5
webapp IN A 192.168.1.5
www IN CNAME 192.168.1.5
/etc/bind/zones/db.192
(文件结束)
IN NS avalon.example.local.
73 IN PTR avalon.example.local.
附注一下,我的备用 Win7 机器能够直接连接到webapp.example.local
,但对于 Ubuntu 13.10 机器,我还必须进行以下更改(不是在网络服务器上,而是在另一台机器上):
/etc/nsswitch.conf
前
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
后
hosts: files dns
/etc/NetworkManager/NetworkManager.conf
前
dns=dnsmasq
后
#dns=dnsmasq
问题仍然是它不是通配符 DNS,因此我必须向/etc/bind/zones/db.example.local
for webapp1
、、添加条目webapp2
...