作者 主題: 請教DNS外部無法連線  (閱讀 11896 次)

0 會員 與 1 訪客 正在閱讀本文。

hung

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
請教DNS外部無法連線
« 於: 2006-08-23 20:49 »
請教各位前輩,小弟最近用FC5架設一台NDS網域為sunx.idv.tw,使用中華電信固定IP,架設後是用DNS那台主機去解析外部網域都正常
[root@cap ~]# nslookup
> yahoo.com.tw
Server:         220.132.150.153
Address:        220.132.150.153#53

Non-authoritative answer:
Name:   yahoo.com.tw
Address: 202.43.195.13
> cap.sunx.idv.tw
Server:         220.132.150.153
Address:        220.132.150.153#53

Name:   cap.sunx.idv.tw
Address: 220.132.150.153

但是使用另一台XP去解析網域卻出現request time out的問題
使用DNS那台去連自己測試的www、ftp都正常,而外部顯然是失敗的
查看/var/log/messages訊息:
Aug 23 20:43:19 cap named[12973]: starting BIND 9.3.2
Aug 23 20:43:19 cap named[12973]: loading configuration from '/usr/local/bind/etc/named.conf'
Aug 23 20:43:19 cap named[12973]: listening on IPv4 interface lo, 127.0.0.1#53
Aug 23 20:43:19 cap named[12973]: listening on IPv4 interface eth1, 192.168.1.201#53
Aug 23 20:43:19 cap named[12973]: listening on IPv4 interface ppp0, 220.132.150.153#53
Aug 23 20:43:19 cap named[12973]: command channel listening on 127.0.0.1#953
Aug 23 20:43:19 cap named[12973]: zone 0.0.127.in-addr.arpa/IN: loaded serial 1
Aug 23 20:43:19 cap named[12973]: zone 150.132.220.in-addr.arpa/IN: loaded serial 1
Aug 23 20:43:19 cap named[12973]: zone localhost/IN: loaded serial 1
Aug 23 20:43:19 cap named[12973]: zone sunx.idv.tw/IN: loaded serial 1
Aug 23 20:43:19 cap named[12973]: running
也都正常,設定的IP也都是我的固定IP,目前防火牆也是關閉的,實在是想不透問題出在哪,能否請各位前輩給予指導!謝謝

allnewlinux

  • 俺是博士!
  • *****
  • 文章數: 1455
    • 檢視個人資料
請教DNS外部無法連線
« 回覆 #1 於: 2006-08-23 21:37 »
你沒設定Forward查詢吧~

hung

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
請教DNS外部無法連線
« 回覆 #2 於: 2006-08-23 21:58 »
引述: "allnewlinux"
你沒設定Forward查詢吧~


forwarder有設定呢!
options{
        directory "/usr/local/bind/etc";
        forwarders {
                168.95.1.1;
        };
        allow-query{ any; };
        allow-transfer { none; };
};

Anonymous

  • 訪客
Re: 請教DNS外部無法連線
« 回覆 #3 於: 2006-08-23 22:04 »
我用 dig -t ANY +trace 查詢
sunx.idv.tw 是由 dns.sunx.idv.tw 負責查詢,
但是 dns.sunx.idv.tw 並沒有對應到任何 IP ,
也就無法進行其他查詢.

hung

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
Re: 請教DNS外部無法連線
« 回覆 #4 於: 2006-08-23 22:21 »
引述: "Anonymous"
我用 dig -t ANY +trace 查詢
sunx.idv.tw 是由 dns.sunx.idv.tw 負責查詢,
但是 dns.sunx.idv.tw 並沒有對應到任何 IP ,
也就無法進行其他查詢.



能否請教無對應IP的可能性有哪些?
另dns.sunx.idv.tw我在hinet已經有設定DNS指定到220.132.150.153的IP了

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
Re: 請教DNS外部無法連線
« 回覆 #5 於: 2006-08-23 22:48 »
引述: "hung"
引述: "Anonymous"
我用 dig -t ANY +trace 查詢
sunx.idv.tw 是由 dns.sunx.idv.tw 負責查詢,
但是 dns.sunx.idv.tw 並沒有對應到任何 IP ,
也就無法進行其他查詢.


能否請教無對應IP的可能性有哪些?
另dns.sunx.idv.tw我在hinet已經有設定DNS指定到220.132.150.153的IP了


DNS 是依照授權方式查詢; 依照順序, sunx.idv.tw 的設定, 是授權給 dns.sunx.idv.tw , 並非指向中華電信; 另外 HiNet 的" DNS 代管"只有提供主機代管時一並贈送, 其他服務不含 DNS 設定, 所以 HiNet 也沒有接受查詢這組對應的功能, 就變成了目前沒有一個正確指向的情況.

目前可以先找免費的 DNS 代管業者, 比如 xname.org , 然後在上面設定適當的對應, 至少讓 dns.sunx.idv.tw 可以正常運作, 然後到 HiNet 申請修改 Domain Name 用的 DNS , 讓查詢順序變成:

.tw -> .idv.tw -> sunx.idv.tw -> DNS 為 xname.org -> 查到 dns.sunx.idv.tw  對應的 IP -> 其他的再查 dns.sunx.idv.tw
冷笑話: 我的 IP 是 127.0.0.1

hung

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
請教DNS外部無法連線
« 回覆 #6 於: 2006-08-23 23:25 »
感謝大大回覆,關於.tw -> .idv.tw -> sunx.idv.tw -> DNS 為 xname.org -> 查到 dns.sunx.idv.tw 對應的 IP -> 其他的再查 dns.sunx.idv.tw此方式感覺上好像繞了一圈,且主要是因為要練習DNS的架設因此在申請網域時,已經設定自行架設DNS的型態,這次算是第二次架設DNS,第一次使用的是RedHat9 運作都正常,只是這次架設出來卻無法由外部連到我的www或是ftp,以下是我dns相關設定,不知是否有哪部份設定錯誤,還懇請指導,謝謝!

named.conf
----------------------------------------------------------------
options{
        directory "/usr/local/bind/etc";
        forwarders {
           168.95.1.1;
        };
        pid-file "/var/run/named.pid";
        allow-query{ any; };
        allow-transfer { none; };
};

controls {
       inet 127.0.0.1 port 953
       allow { 220.132.150.153; } keys { "rndckey"; };
};


zone "." in {
        type hint;
        file "db.cache";
};

zone "localhost"{
        type master;
        file "named.localhost";
};

zone "0.0.127.in-addr.arpa"{
        type master;
        file "named.127.0.0";
};

zone "sunx.idv.tw"{
        type master;
        file "named.sunx.idv.tw";
};

zone "150.132.220.in-addr.arpa"{
        type master;
        file "named.220.132.150";
};

---------named.127.0.0-----------
$TTL 600
@       IN      SOA     localhost.      root.localhost. (
                1;
                28800;
                14400;
                720000;
                86400;
);


@       IN      NS      localhost.
1       IN      PTR     localhost.

-----------named.localhost-----------------
$TTL 600
@       IN      SOA     localhost.      root.localhost. (
                1;
                28800;
                14400;
                720000;
                86400;
);


@       IN      NS      localhost.
localhost.      IN      A       127.0.0.1

------------named.sunx.idv.tw---------------------
$TTL 600
@       IN      SOA     cap.sunx.idv.tw.        root.cap.sunx.idv.tw.   (
                1;
                28800;
                14400;
                720000;
                86400;
);

@       IN      NS      cap.sunx.idv.tw.

cap     IN      A       220.132.150.153
cap     IN      TXT     "DNS server"
www     IN      CNAME   cap.sunx.idv.tw.
ftp     IN      CNAME   cap.sunx.idv.tw.

-----------named.220.132.150-------------------
$TTL 600
@       IN      SOA     cap.sunx.idv.tw.        root.cap.sunx.idv.tw.   (
                1;
                28800;
                14400;
                720000;
                86400;
);


@       IN      NS      cap.sunx.idv.tw.

153     IN      PTR     cap.sunx.idv.tw.

Anonymous

  • 訪客
請教DNS外部無法連線
« 回覆 #7 於: 2006-08-23 23:39 »
現在的問題是: 網路上其他人查詢時, 依照 HiNet 給的資料, 只知道要去查 dns.sunx.idv.tw , 但是目前 dns.sunx.idv.tw 在公開的網路上並沒有對應的 IP , 也就無法向 dns.sunx.idv.tw 要求查詢其他 Domain Name 的資料.

而透過其他 DNS 代管的用意, 就是因為其他 DNS 代管主機所對應的資料, 已經可以透過 DNS 授權查詢到, 所以先將 dns.sunx.idv.tw 註冊在代管主機上, 然後修改 HiNet 方面的設定, 這樣其他人查詢時, 才能先透過代管主機, 查到 dns.sunx.idv.tw , 再進一步向 dns.sunx.idv.tw 查詢其他 Domain Name 的對應資料.


打個比方來說, 如果是個公司, 內部有些電話, 比如:
會計部: 1234567 , 生產部: 1234568 , ....
結果在電話簿上, 並沒有登記總機的電話時, 外面的人是找不到這公司的.
所以目前要先登記一個總機的號碼, 外面的人才能打到總機, 查詢其他部門的電話.

hung

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
請教DNS外部無法連線
« 回覆 #8 於: 2006-08-24 00:04 »
引述: "Anonymous"
現在的問題是: 網路上其他人查詢時, 依照 HiNet 給的資料, 只知道要去查 dns.sunx.idv.tw , 但是目前 dns.sunx.idv.tw 在公開的網路上並沒有對應的 IP , 也就無法向 dns.sunx.idv.tw 要求查詢其他 Domain Name 的資料.

而透過其他 DNS 代管的用意, 就是因為其他 DNS 代管主機所對應的資料, 已經可以透過 DNS 授權查詢到, 所以先將 dns.sunx.idv.tw 註冊在代管主機上, 然後修改 HiNet 方面的設定, 這樣其他人查詢時, 才能先透過代管主機, 查到 dns.sunx.idv.tw , 再進一步向 dns.sunx.idv.tw 查詢其他 Domain Name 的對應資料.


打個比方來說, 如果是個公司, 內部有些電話, 比如:
會計部: 1234567 , 生產部: 1234568 , ....
結果在電話簿上, 並沒有登記總機的電話時, 外面的人是找不到這公司的.
所以目前要先登記一個總機的號碼, 外面的人才能打到總機, 查詢其他部門的電話.


所以說!!我應該像slime大大說的 先向xnamed.org註冊DNS代管,且修改hinet的設定是嗎?可否再請問在hinet方面我是否要修改將網域先行轉出?

之前架設時,還不曾碰過這種問題,感謝大大們的回覆!自己觀念有錯誤的地方還懇請大大指導

vantien

  • 憂鬱的高中生
  • ***
  • 文章數: 118
    • 檢視個人資料
請教DNS外部無法連線
« 回覆 #9 於: 2006-08-24 00:29 »
你在 hinet 填寫『DNS 指定/異動』的項目,你是勾選 "主機" 還是 "DNS"
呀?照你的情況看來. 你好像是勾選 "主機" 而非 "DNS"
所以才會只能查到你有在那邊填寫的 dns.sunx.idv.tw 這台主機.
如果是自己要架 DNS 伺服器,選項那要勾 DNS,
這樣有人要查詢 sunx.idv.tw 時才會向你的 dns 主機查詢

[root@fedora5 etc]# nslookup www.sunx.idv.tw
;; connection timed out; no servers could be reached

[root@fedora5 etc]# nslookup cap.sunx.idv.tw
;; connection timed out; no servers could be reached

[root@fedora5 etc]# nslookup sunx.idv.tw
;; connection timed out; no servers could be reached

[root@fedora5 etc]# nslookup dns.sunx.idv.tw
Server:         168.95.1.1
Address:        168.95.1.1#53

Non-authoritative answer:
Name:   dns.sunx.idv.tw
Address: 220.132.150.153

slime_offline

  • 訪客
請教DNS外部無法連線
« 回覆 #10 於: 2006-08-24 00:31 »
不用轉出, 而是您說向 HiNet 登記 DNS , 那應該有指定兩組 DNS , 目前查到的設定, 兩組都是指向 dns.sunx.idv.tw ;

所以先登記 DNS 代管, 然後 DNS 代管上面設定好相關對應:
1. 直接將您主機上的設定, 在代管主機上套用.
2. 或者將代管主機設定為 slave , 向您的 DNS (master)取得相關資料.
重要的是上面的設定完成後, 修改 HiNet 上登記的兩台 DNS 主機, 把其中一台改為代管主機.

這樣網路上的其他人, 依照 HiNet 指示, 可以查到代管主機, 接著查到 dns.sunx.idv.tw , 而且會依照 TTL 的設定, 將這資料保存一段時間; 而確定其他電腦都能查到 dns.sunx.idv.tw 對應的 IP 後, 就可以再修改 HiNet 上面的設定, 把兩台 DNS 主機都改成您的主機, 才取消代管主機的資料.

hung

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
請教DNS外部無法連線
« 回覆 #11 於: 2006-08-24 08:40 »
引述: "vantien"
你在 hinet 填寫『DNS 指定/異動』的項目,你是勾選 "主機" 還是 "DNS"
呀?照你的情況看來. 你好像是勾選 "主機" 而非 "DNS"
所以才會只能查到你有在那邊填寫的 dns.sunx.idv.tw 這台主機.
如果是自己要架 DNS 伺服器,選項那要勾 DNS,
這樣有人要查詢 sunx.idv.tw 時才會向你的 dns 主機查詢

[root@fedora5 etc]# nslookup www.sunx.idv.tw
;; connection timed out; no servers could be reached

[root@fedora5 etc]# nslookup cap.sunx.idv.tw
;; connection timed out; no servers could be reached

[root@fedora5 etc]# nslookup sunx.idv.tw
;; connection timed out; no servers could be reached

[root@fedora5 etc]# nslookup dns.sunx.idv.tw
Server:         168.95.1.1
Address:        168.95.1.1#53

Non-authoritative answer:
Name:   dns.sunx.idv.tw
Address: 220.132.150.153


Hinet DNS設定型態指定為"DNS",IP設定為220.132.150.153

hung

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
請教DNS外部無法連線
« 回覆 #12 於: 2006-08-24 09:46 »
所謂1.先登記代管的意思是說要我先在中華電信網域設定中將網域型態設定成"HOST",Server Name設定成我的架設的網頁:"www.sunx.idv.tw"及FTP:"ftp.sunx.idv.tw",並將IP設為220.132.150.153嗎?
對於中華電信的網域設定有一點疑問想請教,從註冊網域名稱後再Hinet那邊的設定我一直都是設定DNS型態,且Server name都是設定dns.sunx.idv.tw,且第一次架設時都沒問題外部都可以連,怎麼這次會有這種外部無法解析到的問題
會不會是因為我架設DNS後那台主機沒有24小時都在開機的狀態中,所以才造成外部無法連線的狀態

vantien

  • 憂鬱的高中生
  • ***
  • 文章數: 118
    • 檢視個人資料
請教DNS外部無法連線
« 回覆 #13 於: 2006-08-24 11:04 »
設定成 HOST 模式就是表示讓 ISP或服務商代管, 你就不用在做什麼處理了.
當有人查詢時就由上遊的ISP或服務商回應你所設定的資料.

設定成 DNS 模式的話, 就表示 ISP 或服務商把授權給你管理自己的網域,
當有人要查詢該網域時就會轉向你指定的那台 dns服務器查詢,
IPS或服務商就不在負責回應你的那個網域了...

因為你設定 DNS模式, 所以當有人要查詢 sunx.idv.tw 網域相關資料時,
上遊的ISP或服務商就會回應說 sunx.idv.tw 是 dns.sunx.idv.tw 在管的,
你要向 dns.sunx.idv.tw 查詢.

大概就是這樣子了...

Anonymous

  • 訪客
請教DNS外部無法連線
« 回覆 #14 於: 2006-08-25 21:59 »
感謝各位大大回覆!
問題已解決!
其問題出再被防火牆擋住了
把防火牆的規則全部清除後,就可以連到我的DNS了
抱歉!由於自己的粗心,麻煩了各位大大!

Anonymous

  • 訪客
請教DNS外部無法連線
« 回覆 #15 於: 2006-08-25 22:28 »
只是好奇測試一下, 從外部還是無法查到 dns.sunx.idv.tw 耶?

Anonymous

  • 訪客
請教DNS外部無法連線
« 回覆 #16 於: 2006-08-25 23:55 »
應該是他又關機了吧 ^^
不然就是重開機後, iptables 又擋掉了
又忘了開53出來了.

Anonymous

  • 訪客
請教DNS外部無法連線
« 回覆 #17 於: 2006-08-26 23:04 »
呵呵!抱歉 因為目前都只是架設練習用!所以沒用就不會開機!