Jesse Ting <jesset@ms1.hinet.net>
wrote in message
news:39AB2E41.D7595ED5@ms1.hinet.net...
> 您的意思是說, 我要在211.21.247.110上架設DNS?
> 那這是否與之前小州與網中人說的,用ipmasqadm portfw -a -P tcp
重導的方式有
> 衝突呢?
> 抱歉, 我對NAT不是很懂, 若問得很笨還請見諒.
是否在 211.21.247.110 上面架設 DNS 不重要﹐關鍵是外面查到的
DNS 會指到這個
IP 去。準確來說﹐ DNS 查詢應該是一個 UDP 連線﹐ 預設是在 53
這個 port 接受這
樣的請求。
如果您不進行 portfw ﹐那麼﹐211.21.247.110
這台主機會接收這個請求﹐而交由本
機的 named 去處理﹐然後將結果回給查詢端(可能是一個客戶程式﹐也可能是其它的
DNS 伺服器)。
假如執行﹕
ipmasqadm portfw -a -P udp -L 211.21.247.110 53 -R 192.168.1.1 53
那麼傳給 211.21.247.110 port 53 的封包﹐就會經 NAT 轉遞給
192.168.1.1 port
53 去。
這時就是 192.168.1.1 的 named 來處理這個查詢(假設它不會再進行轉遞了)。然後
192.168.1.1 產生的結果會丟回給 211.21.247.110﹐再送回真正的查詢者。在這樣的
處理過程中﹐NAT 的 named 實際上並沒有參與任何 DNS
工作﹐它只是單純的將封包傳
來傳去而已。
所以﹐你前面說將 NAT 的 appache
打開了而影響測試﹐似乎是毫無道理的。不管
apache 有沒打開﹐當封包被接收之後﹐首先是要經過 ipchains 和
ipmasqadm 的檢
驗﹐如果這個請求並沒有被重導的話﹐則交給 localhost
處理﹐但如果有重導的設
定﹐則會將封包傳給設定所指的目的地去﹐封包是不會傳給
localhost 的﹐既然這
樣﹐ apache 有沒開並不重要啦。
很多謝 song
兄推薦弟的網頁﹐如果閣下讀不懂﹐那麼先不要管那兩個
script 寫什
麼。跳過它們﹐直接從第二個 script 後面讀至“測試”部份。
我的建議是﹐先測試 ipmasqadm 就好了﹐可以先用下面命令將
ipchains 開放﹕
ipchains -F
ipchains -X
ipchains -P input ACCEPT
ipchains -P forward MASQ
ipchains -P output ACCEPT
然後則專注於 ipmasadm
的設定﹐如果你不是很確定它已經設了什麼(這很重要哦﹗)﹐
那麼先用下面命令清一清再繼續﹕
ipmasqadm portfw -f
ipmasqadm autofw -F
不過﹐在測試之前﹐可以先在 NAT
那裡試試到內部主機的連線是否可行的﹐否則﹐白
費力氣而已。
另外﹐不是很清楚您本身的 DNS 是否註冊好(包括正解和反解)﹐也請先確定好。如果
已經註冊好﹐並指向您的 IP﹐那麼不要在 DNS 上面使用私有 IP
地址來解釋紀錄。您
可以設定兩個不同的 zone﹐一個對外﹐一個對內﹐對外的用註冊的
domain﹐而對內的
則使用不同的名字。而至於 DNS 的安全問題﹐先解決好 ipchains
再說吧﹐等連線通
了﹐再進行調整不遲。
不要一下子就想設定全部東西﹐所謂吃快弄破碗是也。請留意。
>
> > 您大概是用 http://www.xxx.com.tw
作測試的吧?
> > 您先試試用 http://211.21.247.110
測試看看 ... 可以通吧?
> >
> > 因為您在 TWNIC 上設定 DNS 在
211.21.247.110 這個位置上,但是
> > 您並未在此架設 DNS ,所以 ...
> >
> > 您也可以參考 Netman 兄的
> > http://ftp.nchu.edu.tw/study_area/linux/linux_nat.htm
> > 其中有關 「重導 DNS 請求」
的部分,加入您的設定中。將 DNS 請求
> > 也重導至 192.168.1.1 去。
> >