我的 Windows 7 开发机器上运行着一个 BIND DNS 服务器,并且使用 WAMPSERVER 提供页面服务。
我的想法是为工作中的内联网开发一些工具(使用 PHP),并且我希望它们能够以以下格式通过 LAN 访问:
http://tools.mycompany.com
我已经放置了 BIND,并且可以http://tools.mycompany.com
在装有 BIND 服务器的机器上进行访问,但是我无法从其他 LAN 计算机访问它。
我在路由器上完成了以下操作:
- 为所有 LAN 计算机定义静态 IP
- 将端口转发设置为我的服务器(记住:它提供 DNS 和网页)
- 设置 DNS 服务器配置以指向我的 LAN 服务器
在 LAN 计算机上,我进入局域网属性并更改了 DNS 服务器 IP 以指向我的本地 DNS 服务器。
如果有帮助的话,这是我的named.conf
文件:
options {
directory "c:\windows\SysWOW64\dns\etc";
forwarders {127.0.0.1; 8.8.8.8; 8.8.4.4;};
pid-file "run\named.pid";
allow-transfer { none; };
recursion no;
};
logging{
channel my_log{
file "log\named.log" versions 3 size 2m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category default{
my_log;
};
};
zone "mycompany.com" IN {
type master;
file "zones\db.mycompany.com.txt";
allow-transfer { none; };
};
key "rndc-key" {
algorithm hmac-md5;
secret "qfApxn0NxXiaacFHpI86Rg==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
...以及我定义的单个区域 - 文件db.mycompany.com.txt
:
$TTL 6h
@ IN SOA tools.mycompany.com. hostmaster.mycompany.com. (
2014042601
10800
3600
604800
86400 )
@ NS tools.mycompany.com.
tools IN A 192.168.1.4
www IN A 192.168.1.4
上面的文件192.168.1.4
是我的局域网内本地机器的IP。
有人能帮我吗?我需要我的网页能够通过我的自定义域名从局域网内的其他计算机访问。
我已经在其他计算机上尝试过,他们可以通过访问我的服务器http://192.168.1.4/
,但使用时却无法访问http://tools.mycompany.com
。
请考虑以下几点:
非常感谢你的帮助。
答案1
您必须将此行添加到文件中的选项中named.conf
:
allow-query { localhost; any; };
因此选项将会像这样:
options {
directory "c:\windows\SysWOW64\dns\etc";
forwarders {127.0.0.1; 8.8.8.8; 8.8.4.4;};
pid-file "run\named.pid";
allow-transfer { none; };
recursion no;
allow-query { localhost; any; };
};
答案2
我遇到了同样的问题。就我而言,这是由于 Windows 防火墙阻止了端口。DNS 服务器在端口 53 上运行,该端口在 Windows 7 中默认被阻止。
我在安装了 BIND 的计算机上添加了允许端口 53 的规则。为此,
- 以管理模式打开命令提示符。
- 执行 >netsh 防火墙添加端口打开全部 53 DNS 服务器
就这样,现在你的域名就可以震撼啦!