Subject: Re: BIND option ???
摘要說明:
關於 BIND - 4.9 以後的 "fake-iquery" 的用法.
Path: netnews.NCTU.edu.tw!news2!not-for-mail
From: cschen@cc.nctu.edu.tw (C.S.Chen)
Newsgroups: tw.bbs.config,tw.bbs.comp.network,tw.bbs.comp.unix
Subject: Re: BIND option ???
Date: 10 Jul 1997 22:25:50 GMT
Organization: National Chiao Tung University, Hsinchu, Taiwan
Lines: 73
Message-ID: <5q3nhe$at5$1@news2.nctu.edu.tw>
References: <3JTN0S$LK_@bbs.mgt.ncu.edu.tw>
NNTP-Posting-Host: localhost
X-Trace: 868573550 11173 cschen@localhost 127.0.0.1
X-Newsreader: TIN [UNIX 1.3 950824BETA+ANSI+COLOR PL8]
Xref: netnews.NCTU.edu.tw tw.bbs.config:11997 tw.bbs.comp.network:62546 tw.bbs.comp.unix:59305
客非客是客 (ggg.bbs@bbs.mgt.ncu.edu.tw) 提到:
:
: BIND, options in named.boot:
: fake-iquery, which tells BIND to send back a
: useless and bogus reply to ``inverse queries'' rather than
: responding with an error -- this is helpful if you have a
: lot of microcomputers or SunOS hosts or both.
:
: 這一段似乎是講 fake-inquery 的 flag (在option 選項中)
: 會讓機器回一些 bogus 訊息, 但是這樣有什麼好處呢 ?
:
: 還有, Inverse Queries 是只 由 IP 反查 domain name 嗎 ?
不是, 這牽涉到, 當初 protocol 的制定與 implementation.
-- RFC 1034 有提這一部份, 但因可能不實際, 只少數的廠家有 implement,
但是像 Sun 之類, 像 Solaris 等後來的 OS, 就拿掉了.
其它的人, 不是從來沒 這麼做, 就是後來紛紛拿掉.
只有像 SunOS 4.1.x 的 nslookup (及某些其它 PC 用) client 在第 1 次, 啟動
時, 會有困擾. 其它時候, 程式用的 resolver library "gethosxxx, _res_xx, ..."
都正常, 但是很多 user 用 nslookup, 會很 confused. ( 一開始, 就出現奇怪
的錯誤訊息)
-- 不是不能用, 而是 nslookup 剛開始, 會 "認為" 對方 named 好像有問題.
但事實上, 一切正常.
也就是, 其它的 ftp, telnet, www, ... 幾乎都可以正常使用.
How to fix/masquerade:
兩種方式. ( 第 2 種為佳 )
1) enable "INVQ", 投這一些 old client 所好, 其它的 modern nslookup
跟本不會, 來這一套. ( 修改 compile option )
2) 如 default, disable "INVQ", 但是在 "/etc/named.boot" ( DNS server 上)
^^^^^^^^^^^^^^^
加 "fake-iquery". ( reload named 就會生效 )
也就是, named 的程式中, 有一小段, 拿來 "騙" 這一些 old client,
"我有 support inverse query 喔"
-- 當然, 事實是, 根本沒有 resolver library 會用這一些,
這樣 DNS/named, 不用將這一些東西, 放入 named 的 binary, 也就是
程式, 不用浪費 CPU cycle, 重覆跑這類相關的 check.
引一下, BIND-4.9.5-P1
-- OPTIONS, source directory 第 1 層, install option 說明.
INVQ (origin: U C Berkeley, with #ifdef's by Paul Vixie)
enables "inverse queries", which in all of the internet only one
client ever uses: ancient nslookup. if you build named with INVQ defined,
^^^^^^^^^^^^^^^^
you get the time-honored behaviour of supporting this whole class of queries
for no real purpose other than to waste a few hundred kilobytes of your
memory and about 3% of named's total CPU time. if you build with INVQ
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
undefined, old nslookups will not be able to reach your server in their
startup phase, and you will have to use the "server" command after it fails
^^^^^^^^^^^^^
over to some other server, or use "nslookup - 0" to get in from the shell.
if you need to support old nslookups try "options fake-iquery"
instead of enabling this option.
you probably do not want this.
--
Joe. C.S.Chen, cschen@ns.nctu.edu.tw