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