拔下 DNS 電纜後,Debian wifi 上沒有 DNS
我現在已經在我的舊筆記型電腦 (Benq Joybook A52) 上安裝了 wheezy Release Candidate 1,但我的無線網卡 (Atheros 5006) 出現了一些問題。它實際上可以看到無線網路,我什至可以連接到我的家庭網路,但是如果我拔下乙太網電纜,網際網路就無法正常工作,瀏覽器中不會載入任何頁面。我沒有使用任何代理,除了密碼之外,我的路由器上沒有任何特殊的安全設置,昨天它在 Windows 上工作。有任何想法嗎?
我是linux新手,所以請耐心等待,並給出詳細的答案。謝謝。
編輯:我執行了/sbin/ifconfig,結果如下:
eth0 Link encap:Ethernet HWaddr 00:1b:24:2c:d1:9e inet addr:192.168.0.106 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::21b:24ff:fe2c:d19e/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:428 errors:0 dropped:0 overruns:0 frame:0 TX packets:416 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:70208 (68.5 KiB) TX bytes:37104 (36.2 KiB) Interrupt:20 Base address:0xa000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:45 errors:0 dropped:0 overruns:0 frame:0 TX packets:45 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:6099 (5.9 KiB) TX bytes:6099 (5.9 KiB) wlan0 Link encap:Ethernet HWaddr 00:17:c4:04:28:a5 inet addr:192.168.0.105 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::217:c4ff:fe04:28a5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10072 errors:0 dropped:0 overruns:0 frame:0 TX packets:7874 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:11775024 (11.2 MiB) TX bytes:1303131 (1.2 MiB)
我還跑了路線-n:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
ping -n 8.8.8.8 的結果是這樣的:
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_req=1 ttl=49 time=18.7 ms 64 bytes from 8.8.8.8: icmp_req=2 ttl=49 time=20.5 ms 64 bytes from 8.8.8.8: icmp_req=3 ttl=49 time=18.3 ms 64 bytes from 8.8.8.8: icmp_req=4 ttl=49 time=18.6 ms 64 bytes from 8.8.8.8: icmp_req=5 ttl=49 time=17.6 ms 64 bytes from 8.8.8.8: icmp_req=6 ttl=49 time=18.3 ms 64 bytes from 8.8.8.8: icmp_req=7 ttl=49 time=19.0 ms 64 bytes from 8.8.8.8: icmp_req=8 ttl=49 time=18.8 ms 64 bytes from 8.8.8.8: icmp_req=9 ttl=49 time=18.7 ms 64 bytes from 8.8.8.8: icmp_req=10 ttl=49 time=18.6 ms 64 bytes from 8.8.8.8: icmp_req=11 ttl=49 time=18.6 ms 64 bytes from 8.8.8.8: icmp_req=12 ttl=49 time=18.5 ms 64 bytes from 8.8.8.8: icmp_req=13 ttl=49 time=18.9 ms 64 bytes from 8.8.8.8: icmp_req=14 ttl=49 time=18.8 ms 64 bytes from 8.8.8.8: icmp_req=15 ttl=49 time=18.7 ms 64 bytes from 8.8.8.8: icmp_req=16 ttl=49 time=18.5 ms
我不假裝確切知道是什麼導致了您的問題,但從症狀來看,這是一個DNS問題:
ping -n 8.8.8.8
有效,但實際上使用網際網路服務(如網頁瀏覽)卻沒有。(順便說一句,8.8.8.8 是一個令人難忘的 IP 地址,您可以確定它會響應您的 ping(它執行 Google 的公共 DNS 服務)。)通常,您的機器配置為從您上游查詢某些 DNS 伺服器,通常是您的 ISP 的 DNS 伺服器。我認為這裡發生的情況是,當您關閉有線連接時,它會從 中刪除關聯的 DNS 伺服器
/etc/resolv.conf
,該文件列出了您的系統應使用的 DNS 伺服器。由於您的 wifi 連接具有與之關聯的相同伺服器,因此這些伺服器會失去。我通常建議在沒有固定 Internet 連接的電腦上安裝 Debian 和衍生版本的resolvconf軟體包(即主要在筆記型電腦上,儘管它不會對台式機和伺服器造成傷害)。這個包跟踪與每個連接關聯的 DNS 伺服器,並
/etc/resolv.conf
在 DNS 源啟動或關閉時重新生成。這應該可以解決您的問題(以及其他類似問題)。Resolvconf 與dnsmasq等 Debian 軟體包安裝的本地 DNS 記憶體兼容。有時,當您安裝 resolvconf 時,它會選擇您目前連接提供的源並將它們放在永久列表中。如果發生這種情況,請編輯
/etc/resolvconf/resolv.conf.d/base
、刪除任何不永久可用的 DNS 伺服器,然後關閉並重新打開網路(或只是執行resolvconf -u
)。解決 DNS 問題的另一種方法是使用 ISP 以外的 DNS 伺服器,例如OpenDNS或Google。Google 的服務有一個令人難忘的地址 8.8.8.8,如果您由於某種原因無法使用 DNS,這很有用。請注意,使用備用 DNS 服務有一些缺點,因此只有在您的 ISP 的 DNS 不好時才這樣做,而不是“僅僅因為”。