Mam 2 komputery z systemem Ubuntu 12.04 podłączone do routera w podsieci 192.168.3. Router jest podłączony do innego routera przez port modemu pierwszego routera, więc router 192.168.3 ma dostęp do podsieci 192.168.2. Router .2 jest podłączony do Internetu. Zadzwonię do 2 komputerów A i B. Komputer A może pingować się sam, komputer B, routery .3 i .2 oraz www.google.com. Komputer B może pingować sam, komputer A, routery .3 i .2, ale NIE MOŻE pingować www.google.com. Zasadniczo nie mam internetu na komputerze B.
~$ ping www.google.com
ping: unknown host www.google.com
Dane wyjściowe z ifconfig: Komputer A
eth0 Link encap:Ethernet HWaddr 00:05:b7:dd:87:63
inet addr:192.168.3.135 Bcast:192.168.3.255 Mask:255.255.255.0
inet6 addr: fe80::205:b7ff:fedd:8763/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3940 errors:0 dropped:0 overruns:0 frame:0
TX packets:2216 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3365434 (3.3 MB) TX bytes:262362 (262.3 KB)
Interrupt:20 Memory:f7c00000-f7c20000
eth1 Link encap:Ethernet HWaddr 00:05:b7:dd:87:64
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17 Memory:f7940000-f7960000
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:426 errors:0 dropped:0 overruns:0 frame:0
TX packets:426 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:35063 (35.0 KB) TX bytes:35063 (35.0 KB)
Dane wyjściowe z ifconfig: Komputer B
eth0 Link encap:Ethernet HWaddr 00:05:b7:dd:87:43
inet addr:192.168.3.136 Bcast:192.168.3.255 Mask:255.255.255.0
inet6 addr: fe80::205:b7ff:fedd:8743/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:737 errors:0 dropped:0 overruns:0 frame:0
TX packets:551 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:73299 (73.2 KB) TX bytes:97661 (97.6 KB)
Interrupt:20 Memory:f7e00000-f7e20000
eth1 Link encap:Ethernet HWaddr 00:05:b7:dd:87:44
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17 Memory:f7d40000-f7d60000
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:65536 Metric:1
RX packets:336 errors:0 dropped:0 overruns:0 frame:0
TX packets:336 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:20796 (20.7 KB) TX bytes:20796 (20.7 KB)
Wyjście z trasy: komputer A
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.3.0 * 255.255.255.0 U 1 0 0 eth0
Dane wyjściowe z trasy: komputer B
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.3.0 * 255.255.255.0 U 1 0 0 eth0
Jedyną różnicą, którą mogę znaleźć, jest plik resolv.conf
Resolv.conf dla komputera A
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search ampedwireless
ampedwireless to nazwa domeny dla serwera DHCP na routerze .2.
Resolv.conf dla komputera B
# Generated by NetworkManager
nameserver 127.0.0.1
Wydaje mi się, że resolv.conf komputera B używał b dokładnej kopii WYJĄTKU komputera A dla ostatniej linii (wyszukiwanie ampedwireless), ale próbowałem zastosować zalecaną przez kogoś poprawkę w następujący sposób:
sudo apt-get remove --purge resolvconf
sudo /etc/init.d/networking restart
i ta poprawka, jak sądzę, usunęła komentarz, ale nie mój problem. Kiedy próbuję ręcznie dodać „search ampedwireless” do resolv.conf komputera B, zostaje on nadpisany.
Próbowałem wyszukać w Google, ale niestety wszystko, co widziałem, ma nieco inny problem, a poprawka nie pomaga. Myślę, że próba podążania za wskazówkami jednej strony faktycznie mnie cofnęła, usuwając resolvconf, którego nie mogę już zainstalować, ponieważ nie mam dostępu do Internetu. Daj mi znać, jeśli pomogą Ci jakieś dodatkowe informacje. Z góry dziękuję.
Edytuj, aby dodać informacje wymagane przez Mark: nm-tool na komputerze A
~$ nm-tool
** (process:3218): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: Rejected send message, 2 matched rules; type="method_call", sender=":1.45" (uid=1000 pid=3218 comm="nm-tool ") interface="org.freedesktop.DBus.Properties" member="GetAll" error name="(unset)" requested_reply="0" destination="org.freedesktop.NetworkManager" (uid=0 pid=912 comm="NetworkManager ")
NetworkManager Tool
State: unknown
** (process:3218): WARNING **: error: could not connect to NetworkManager
nm-tool na komputerze B (dla mnie wyglądają tak samo):
~$ nm-tool
** (process:1965): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: Rejected send message, 2 matched rules; type="method_call", sender=":1.40" (uid=1000 pid=1965 comm="nm-tool ") interface="org.freedesktop.DBus.Properties" member="GetAll" error name="(unset)" requested_reply="0" destination="org.freedesktop.NetworkManager" (uid=0 pid=909 comm="NetworkManager ")
NetworkManager Tool
State: unknown
** (process:1965): WARNING **: error: could not connect to NetworkManager
kop na komputerze A:
~$ dig @8.8.8.8 google.com
; <<>> DiG 9.8.1-P1 <<>> @8.8.8.8 google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46307
;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 299 IN A 173.194.46.66
google.com. 299 IN A 173.194.46.69
google.com. 299 IN A 173.194.46.70
google.com. 299 IN A 173.194.46.68
google.com. 299 IN A 173.194.46.64
google.com. 299 IN A 173.194.46.65
google.com. 299 IN A 173.194.46.78
google.com. 299 IN A 173.194.46.73
google.com. 299 IN A 173.194.46.72
google.com. 299 IN A 173.194.46.71
google.com. 299 IN A 173.194.46.67
;; Query time: 40 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu May 22 12:00:58 2014
;; MSG SIZE rcvd: 204
kop na komputerze B:
~$ dig @8.8.8.8 google.com
; <<>> DiG 9.8.1-P1 <<>> @8.8.8.8 google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16939
;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 41 IN A 74.125.225.110
google.com. 41 IN A 74.125.225.102
google.com. 41 IN A 74.125.225.96
google.com. 41 IN A 74.125.225.99
google.com. 41 IN A 74.125.225.104
google.com. 41 IN A 74.125.225.98
google.com. 41 IN A 74.125.225.101
google.com. 41 IN A 74.125.225.105
google.com. 41 IN A 74.125.225.100
google.com. 41 IN A 74.125.225.103
google.com. 41 IN A 74.125.225.97
;; Query time: 39 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu May 22 12:00:37 2014
;; MSG SIZE rcvd: 204
Odpowiedzi:
Jaka jest wydajność serwerów DNS po uruchomieniu nm-tool z terminala? Spowoduje to wyświetlenie serwerów DNS skonfigurowanych przez NetworkManager dla komputera. Wygląda na to, że komputer A może być skonfigurowany z serwerami DNS twojego ISP, podczas gdy komputer B nie ma skonfigurowanych serwerów DNS. Możesz spróbować ustawić serwery DNS na komputerze B na coś takiego jak DNS Google (8.8.8.8, 8.8.4.4). Najprawdopodobniej dnsmasq (program rozpoznawania nazw DNS) działa lokalnie w celu obsługi systemu DNS w systemie, ale komputer B nie ma skonfigurowanego systemu DNS. Czy uruchomienie dig @ 8.8.8.8 google.com działa?
Szczerze mówiąc, zawsze używam NetworkManagera dla moich laptopów i po prostu konfiguruję interfejsy sieciowe w „sposób Debiana” za pomocą / etc / network / interfaces i edycji resolv.conf.
źródło
Okazało się, że jest to bardzo prosta poprawka. Grałem w te maszyny, więc postanowiłem podejść do rzeczywistej maszyny. Okazuje się, że z jakiegoś powodu postanowił połączyć się przy użyciu starego połączenia sieciowego, które zostało skonfigurowane ze statycznym adresem IP i bez DNS. Zdecydował się na użycie domyślnego połączenia przewodowego 1 przez co najmniej 6 miesięcy. Nie jestem pewien, co spowodowało zmianę zachowania, ale naprawa była tak prosta, jak zmiana połączenia sieciowego na domyślne połączenie przewodowe 1 i usunięcie połączenia skonfigurowanego ze statycznym adresem IP i bez DNS.
źródło