Canalblog
Suivre ce blog Administration + Créer mon blog

老沈的博客

6 août 2012

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出当前所有的递归查询。

Publicité
Publicité
Publicité
Archives
Publicité