請大家幫分析問題的原因
公司內部網路,情況大致如下:
整個公司使用192.168.10.10作為DNS,現在部門內部搭建了一個Linux下的DNS環境,IP地址為192.168.100.1,因為要解析一些部門內部使用的域名,所以部門內部的WINDOWS客戶端機器的DNS都統一設置為192.168.100.1,指向這個部門內部的DNS地址
在192.1681.100.1(RHEL 5 BIND)上,/etc/resolve.conf中的設置為:
nameserver 127.0.0.1
nameserver 192.168.10.01
nameserver 202.106.196.115
但現在發現一個問題,就是部門內部的機器訪問外網的時候,有些網站根本打不開,有些網站打開很慢,不知道問題出在哪,我在192.1681.100.1上用nslookup對打不開的網站做解析,也沒有問題
請大家幫忙分析一下,這種現象的原因會出在哪?
《解決方案》
192.168.100.1上:
nameserver 127.0.0.1
nameserver 192.168.10.01
nameserver 202.106.196.115
換成
nameserver 192.168.100.1
《解決方案》
之前就是192.168.100.1,也是不行
《解決方案》
iptables規則是什麼樣的?
《解決方案》
192.168.100.1上
nslookup www.msn.com
Server: 192.168.10.10
Address: 192.168.10.10#53
Non-authoritative answer:
www.msn.com canonical name = us.port.msn.com.nsatc.net.
Name: us.port.msn.com.nsatc.net
Address: 65.55.17.25
說明是去找的192.168.10.10這個公司統一的DNS
而如果在我本機WINDOWS下做這個解析,則情況就不對了,如下:
C:\Windows\system32>nslookup www.msn.com
伺服器: my.test.com
Address: 192.168.100.1
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** 請求 my.test.com 超時
《解決方案》
iptables規則如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
iptables關掉也試過的。。。。
《解決方案》
要解決這個問題,你要弄清楚你內部跟外部DNS的區別!
比如你現在的公司內部用LINUX搭建了DNS,而且你內部又需要對內部各個部門做域名解析,那麼你就把內部的PC機的DNS指向內部搭建的DNS伺服器的IP,如果你內部的PC還需要查詢外部域名,那麼你就把你內部的DNS伺服器的DNS指向外部的DNS解析的IP。實際上就是間接的通過內部DNS伺服器去迭代訪問外部域名
《解決方案》
對啊,是這個意思,現在也就是這麼做的,請看
192.168.100.1上:
nameserver 192.168.100.1 #部門內部DNS,用於內網域名解析
nameserver 192.168.10.10 #公司統一DNS,用於外部域名解析訪問
nameserver 202.106.196.115
這樣應該是沒有什麼問題的啊
《解決方案》
dig +trace 跟蹤一下
《解決方案》
另外去了nameserver 127.0.0.1
windows上用nslookup www.msn.com 192.168.100.1 和
nslookup www.msn.com 192.168.100.10
nslookup www.msn.com 202.106.196.115
這三個分別測試同時host.conf有沒有改過