Mac OS X中启用域名服务bind
Mac OS X中自带了域名服务bind,其启用命令是 /usr/sbin/named ,默认配置文件是/etc/named.conf。启用bind服务需要遵循以下步骤:
一、生成rndc配置文件和密匙
在终端键入如下命令:
>sudo -s
#rndc-confgen -b 256 > /etc/rndc.conf
#head -n5 /etc/rndc.conf | tail -n4 >/etc/rndc.key
rndc-confgen用来生成rndc配置文件非常有用,不过它可能会使用与named不同的端口。因此必须查看named.conf和rndc.conf中的端口号是否一致,如果不一致的话一定要改成一致。
>cat /etc/named.conf | grep 'inet'
>cat /etc/rndc.conf |grep 'default-port'
二、启用bind
1、开机自动启用
#launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist
#echo "launchctl start org.isc.named >> /etc/launchd.conf
2、一次性启用
#/usr/bin/named
或者
#launchctl start org.isc.named
三、配置named
1、建立zone文件
#vi /var/named/local.zone
$TTL 86400
$ORIGIN local.
@ IN SOA localhost. user.domain.com. (
42 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN A 127.0.0.1
* IN A 127.0.0.1
2、配置named.conf文件
#vi /etc/named.conf
zone "local" IN {
type master;
file "local.zone";
allow-update { none; };
};
四、重新载入配置文件
#rndc reload
也可以刷新dns缓存
#rndc flush
如遇到问题
#rndc stop
#rndc reload
=== rndc参数说明 ===
* -b source-address
使用指定的源地止连接到目标服务器上。
* -c config-file
使用指定的配置文件启动rndc。缺省的情况下,rndc使用的配置文件存在/etc/rndc.conf。
* -k key-file
使用指定的key文件。缺省的情况下,rndc使用的key文件存在/etc/rndc.key。
* -s server
连接到的目标服务器地址,也就是使用rndc控制的目标服务器地址。缺省的目标服务器可以通过rndc.conf指定,如果没有指定哪么就会是127.0.0.1。
* -p port
连接到目标机器的端口号。缺省是953。
* -V
打开详细的log信息。
-y keyid
使用key文件中指定的keyid。
=== 支持的命令 ===
* reload
重新加载配置文件和zone。
* reload zone [class [view]]
重新加载一个单独的zone。
* refresh zone [class [view]]
安排立即维护某个zone。
* retransfer zone [class [view]]
不检查序列号,重新传输一个zone。
* freeze zone [class [view]]
中止更新一个动态zone。
* thaw zone [class [view]]
打开一个冻结的动态zone,并且重新加载它的数据。
* reconfig
重新加载配置文件,同时只更新新的zone数据。
* stats
将服务器的统计信息写到统计文件中。注意,它会放到服务器的当前目录下的named.stats中。
* querylog
触发查询的记录日志。
* dumpdb [-all|-cache|-zones] [view ...]
把缓存导出到一个文件中。注意,它会导出到服务器的当前目录下的named_dump.db。
* stop
保存没完成的更新到master文件,并且停止服务器。
* stop -p
保存没完成的更新到master文件,并且停止服务器,并给出进程号。
* halt
停止域名服务器,不将没完成的更新保存完成。
* halt -p
停止域名服务器,不将没完成的更新保存完成,并给出进程号。
* trace
将调试信息附加到服务器的当前目录下的named.run后面。
* trace level
设置调试级别。
* notrace
关闭调试。
* flush
将cache都flush。
* flush [view]
将一个view的cache flush。
* flushname name [view]
将输入的名称的cache进行flush。
* status
显示服务器的状态信息。
* recursing
dump出当前所有的递归查询。