Может пинговать, но не может wget с именем сервера

У меня проблема. с помощью людей на этом форуме мне удалось настроить мою сеть. Напомним, у меня есть два компьютера comp1 и comp2, соединенные следующим образом

comp2(eth0) -> comp1(eth1)    
comp1(eth0) -> network

мой интерфейс выглядит следующим образом:

comp1:

auto lo  
iface lo inet loopback  
auto eth0  
iface eth0 inet dhcp  
auto eth1  
iface eth1 inet static  
address 10.10.0.10  
netmask 255.255.255.0

comp2:

auto eth0  
iface eth0 inet static  
address 10.10.0.20  
netmask 255.255.255.0  
gateway 10.10.0.10  

comp2

$ route  
Kernel IP routing table  
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface  
default         10.10.0.10       0.0.0.0         UG    100    0        0 eth0  
10.10.0.0        *               255.255.255.0   U     0      0        0 eth0 

comp1:

$ route  
Kernel IP routing table  
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    
default         g128.mp.l       0.0.0.0         UG    100    0        0 eth0  
10.10.0.0       *               255.255.255.0   U     0      0        0 eth1   
10.128.0.0      *               255.224.0.0     U     0      0        0 eth0 

Теперь: я могу войти в ssh в свой comp2 и пинговать 8.8.8.8 и получить:

ping 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=43 time=42.6 ms  
64 bytes from 8.8.8.8: icmp_req=2 ttl=43 time=41.8 ms

Но если я попытаюсь wget:

wget -O - 173.194.70.113 | grep google  
function n(){if(google.timers.load.t){google.timers.load.t.ol=(new Date).getTime();google.timers.load.t.iml=e;google.kCSI.imc=c;google.kCSI.imn=b;
google.kCSI.imp=d;void 0!==google.stt&&(google.kCS...

, что нормально, но если я попробую это так:

wget -O - http://www.google.com |grep google  
--2013-11-21 15:07:35--  http://www.google.com/  
Resolving www.google.com (www.google.com)... failed: Temporary failure in name   resolution.  
wget: unable to resolve host address `www.google.com'  

, что подразумевает для меня, что это проблема DNS-сервера.

my less /etc/resolv.conf на comp1 выглядит так:

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 xxx.xxx.xxx 

xxx не важны, но на comp2 это выглядит так:

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  

как установить это вверх?

2
задан 21 November 2013 в 18:35

2 ответа

Когда вы устанавливаете статический IP-адрес в / etc / network / interfaces, вы несете ответственность за установку DNS-серверов имен. Я предлагаю вам изменить файл на comp2 следующим образом:

auto lo  
iface lo inet loopback  

auto eth0  
iface eth0 inet static  
address 10.10.0.20  
netmask 255.255.255.0  
gateway 10.10.0.10  
dns-nameservers 8.8.8.8 8.8.4.4

Затем попросите систему перечитать и использовать изменение:

sudo ifdown eth0 && sudo ifup -v eth0

И проверить:

ping -c3 8.8.8.8
ping -c3 www.google.com
0
ответ дан 21 November 2013 в 18:35

У меня была похожая проблема, в моем случае ping / dig / nslookup были в порядке, но wget / curl и Firefox не работали нормально. И я отредактировал /etc/resolv.conf, чтобы использовать другое пространство имен, такое как 114.114.115.115, все было в порядке. Я также пытался установить тот же DNS в Windows 7, все по-прежнему было в порядке, что меня смутило. Но я нашел статью, в которой люди обсуждали проблему, вызванную ipv6 . Наконец, я исправил проблему, отключив IPv6 в Ubuntu с помощью утилиты sysctl, выполнив следующие шаги:

# show whether ipv6 is disabled or not
sudo sysctl -a | grep disable_ipv6
# disable all the ipv6
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
# also you can check the settings
sudo sysctl -a | grep disable_ipv6

После этого я мог без проблем подключаться к интернету. Надеемся, что это может помочь вам!

Кстати, если вам нужно выполнить вышеуказанные настройки постоянно, вы должны отредактировать файл /etc/sysctl.conf и добавить следующие строки:

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
0
ответ дан 21 November 2013 в 18:35

Другие вопросы по тегам:

Похожие вопросы: