Debian

拔下 DNS 電纜後,Debian wifi 上沒有 DNS

  • March 10, 2013

我現在已經在我的舊筆記型電腦 (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 伺服器,例如OpenDNSGoogle。Google 的服務有一個令人難忘的地址 8.8.8.8,如果您由於某種原因無法使用 DNS,這很有用。請注意,使用備用 DNS 服務有一些缺點,因此只有在您的 ISP 的 DNS 不好時才這樣做,而不是“僅僅因為”。

引用自:https://unix.stackexchange.com/questions/67295