После перезапуска безголового компьютера CentOS 6.3 он потерял исходящее интернет-соединение, т.е. я все еще могу подключиться к серверу через SSH (ssh root@**.126.18.56
), но такие вещи, как ping google.com
дает google.com: unknown host
, и yum list some_package
выдает много сетевых ошибок.
Вот что дает ifconfig:
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)
Я совершенно не понимаю, как это отладить, и мне это очень странно, так как я все еще могу подключиться через ssh.
РЕДАКТИРОВАТЬ: Как ни странно, /etc/resolv.conf
не содержит никаких записей или ничего, что я могу понять:
# 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
Возможно ли, что перезагрузка сервера удалила этот файл? По крайней мере, раньше это работало! И как мне это решить?
Кстати, пинг IP-адреса работает.
Я думаю, что ваш файл /etc/resolv.conf отсутствует или в нем нет записей. Обычно он содержит адрес сервера имен, который является не чем иным, как адресом DNS-сервера. Все доменные имена, такие как google.com и т. Д., Будут разрешены с использованием этого DNS-сервера.
В случае ssh root@**.126.18.56 он работает, потому что здесь вы указываете прямой IP-адрес вместо имени.
Хорошо, вы можете отредактировать файл ниже, чтобы предотвратить перезапись resolv.conf
имя файла является /etc/sysconfig/network-scripts/ifcfg-eth0
Стоимость установить это PEERDNS=no
Мне кажется, что CentOS перестраивает /etc/resolv.conf при загрузке, используя значения, найденные в сценариях в / etc / sysconfig / network-scripts. Вероятно, они отсутствуют, просто не установлены или могут быть повреждены.
Возможно ли, что перезагрузка сервера удалила этот файл? По крайней мере, раньше это работало!
Он воссоздал его с новыми актуальными значениями. За исключением того, что что-то пошло не так. (например, потому что у него не было значений для установки)
И как мне это решить?
Быстрое решение: echo "nameservers 8.8.8.8" > /etc/resolv.conf
Правильное решение: правильно настроить сеть. Начните с просмотра Networkmanager. (Я не могу здесь подробно останавливаться, поскольку у меня нет опыта работы с CentOS.)
Не позволяйте NetworkManager управлять сетевой картой вашего сервера.
редактировать /etc/sysconfig/network-scripts/ifcfg-eth0
. Найдите строку:
NM_CONTROLLED=yes
Измените его на следующее:
NM_CONTROLLED=no
Если строки не существует, просто добавьте ее.