ndc 和 rndc 实用程序都使用控制通道来向名称服务器发送信息以及从该服务器中检索信息。但是,这两个实用程序之间存在差别。
在 BIND 8 中,ndc 可以使用 AF_UNIX 域套接字(UNIX 控制通道)或 TCP/IP 套接字(inet 控制通道)。缺省情况下,ndc 不需要 /etc/named.conf 中提供的任何支持,因为 BIND 8 服务器使用 UNIX 域套接字,且路径 (/var/run/ndc.d/ndc) 已编译到 in.named 中。
但对于 BIND 9,rndc 只使用经过验证的 TCP/IP inet 控制通道,因而不与 BIND 8 向后兼容。在 BIND 9 服务器中,不存在对控制通道的 UNIX 域套接字支持。
使用 rndc 时,需要指定用于与名称服务器通信的 'key' 子句。BIND 9 服务器和 rndc 客户机必须共享同一密钥(在 /etc/named.conf 和 /etc/rndc.conf 中定义)。 在 BIND 9 中使用 BIND 8 控制项将产生错误消息。
从 ndc 到 rndc 实现,一些命令选项已更改。其中包括 -c 选项,该选项在 BIND 9 中具有不同的语法。因此,要在 BIND 9 中指定控制通道,请使用 rndc -s <server> -p <port>。