Ok Você pode editar o arquivo abaixo para evitar sobrescrever o resolv.conf
nome do arquivo é /etc/sysconfig/network-scripts/ifcfg-eth0
Valor a definir é
PEERDNS=no
Depois de reiniciar uma máquina sem o CentOS 6.3, ela perdeu a conectividade de saída da Internet, ou seja, ainda consigo me conectar ao servidor via SSH ( ssh root@**.126.18.56
), mas coisas como ping google.com
dão google.com: unknown host
e yum list some_package
muitos erros de rede.
Isto é o que ifconfig dá:
eth0 Link encap:Ethernet HWaddr 00:25:90:78:2D:5D
inet addr:**.126.18.56 Bcast:**.126.18.255 Mask:255.255.255.0
inet6 addr: fe80::225:90ff:fe78:2d5d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:75594 errors:0 dropped:0 overruns:0 frame:0
TX packets:787 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7074741 (6.7 MiB) TX bytes:144391 (141.0 KiB)
Interrupt:20 Memory:f7a00000-f7a20000
eth1 Link encap:Ethernet HWaddr 00:25:90:78:2D:5C
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:16 Memory:f7900000-f7920000
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:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:504 (504.0 b) TX bytes:504 (504.0 b)
Eu não tenho absolutamente nenhuma idéia de como depurar isso, e acho muito estranho, pois ainda posso me conectar via ssh.
EDIT: Estranhamente, /etc/resolv.conf
não contém nenhuma entrada, ou nenhuma que eu possa fazer sentido:
# Generated by NetworkManager
search sui-inter.net
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
Então é possível que a reinicialização do servidor tenha apagado esse arquivo? Funcionou antes pelo menos! E como resolvo isso?
A propósito, o ping de um endereço IP funciona.
Eu acho que seu arquivo /etc/resolv.conf não está presente ou não há entradas nele. Geralmente, ele contém o endereço do servidor de nomes, que nada mais é que o endereço do servidor DNS. Todos os nomes de domínio, como google.com etc, serão resolvidos usando esse servidor DNS.
Incase de ssh root@**.126.18.56, está funcionando porque aqui você está dando um endereço IP direto ao invés de um nome.
Parece que o CentOS recria o /etc/resolv.conf na inicialização, usando valores encontrados nos scripts em / etc / sysconfig / network-scripts. Aquelas estão provavelmente ausentes, simplesmente não definidas ou talvez corrompidas.
So is it possible that rebooting the server erased that file? It worked before at least!
Foi recriado com novos valores atualizados. Exceto que algo deu errado. (por exemplo, porque não tinha valores para definir)
And how do I solve this?
Solução rápida: echo "nameservers 8.8.8.8" > /etc/resolv.conf
Solução adequada: configure a rede corretamente. Comece olhando para o NetworkManager. (Eu não posso entrar em detalhes aqui, já que não tenho experiência com o CentOS.)
Não permita que o NetworkManager gerencie a NIC do seu servidor.
Edite /etc/sysconfig/network-scripts/ifcfg-eth0
. Encontre a linha:
NM_CONTROLLED=yes
Altere para ler:
NM_CONTROLLED=no
Se a linha não existir, basta adicioná-la.
Tags networking ifconfig centos6