Вопрос или проблема
У меня есть VPS сервер на CentOS 6.6. Когда я использую команду: yum update
, возникает ошибка:
Ошибка: Невозможно найти действительный базовый URL для репозитория: base
Когда я проверяю ping и использую команду: ping -c4 google.com
, возникает ошибка:
ping: неизвестный хост google.com
или использую команду ping -c4 62.212.252.84
, получаю:
4 пакета передано, 0 получено, потеря пакетов 100%, время 12999мс
и
/etc/sysconfig/network-scripts/ifcfg-eth0 выглядит так:
УСТРОЙСТВО=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=***.***.***.72
NETMASK=255.255.255.255
/etc/sysconfig/network выглядит так:
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=mohsenvps
GATEWAY=37.59.19.254
IPV6_AUTOCONF=no
также изменил NETWORKING_IPV6=yes на no, но результат тот же.
и /etc/resolv.conf
выглядит так:
nameserver 8.8.8.8
nameserver 8.8.4.4
**Редактировать: **
и iptables:
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/0 202.54.10.20 icmptype 0 state RELATED,ESTABLISHED
Цепочка FORWARD (политика ACCEPT)
target prot opt source destination
Цепочка OUTPUT (политика ACCEPT)
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmptype 0
ACCEPT icmp -- 202.54.10.20 0.0.0.0/0 icmptype 8 state NEW,RELATED,ESTABLISHED
Хорошо, давайте попробуем выяснить, что происходит:
- Вы можете пинговать внешний IP-адрес
- Вы не можете пинговать доменное имя
Мое предположение: проблема с DNS.
Может быть, вам стоит проверить, что внутри /etc/resolv.conf, чтобы проверить nameserver?
Еще одна техника может быть traceroute, чтобы выяснить, где теряется пакет?
Вам стоит использовать TCPdump, чтобы получить более глубокую информацию о запросе DNS и других вещах?
Ответ или решение
На вашем VPS-сервере на базе CentOS 6.6 возникает проблема с подключением к интернету. Давайте последовательно разберемся с этой ситуацией, основываясь на предоставленной информации.
Проблема с подключением
Вы упомянули, что при выполнении команды yum update
появляется ошибка:
Error: Cannot find a valid baseurl for repo: base
Кроме того, команды ping
показывают, что пакеты не принимаются:
ping: unknown host google.com
и
4 packets transmitted, 0 received, 100% packet loss
Эти симптомы указывают на отсутствие подключения к интернету. Однако вы можете пинговать внешний IP-адрес, что говорит о том, что базовое подключение к сети работает, но доступ к DNS и/или маршрутам к общедоступным хостам может быть нарушен.
Анализ конфигурации сети
Ваш файл конфигурации сетевого интерфейса (/etc/sysconfig/network-scripts/ifcfg-eth0
) выглядит следующим образом:
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=***.***.***.72
NETMASK=255.255.255.255
Здесь задан статический IP-адрес. Убедитесь, что также указан корректный шлюз (GATEWAY) в файле /etc/sysconfig/network
, который у вас указан как:
GATEWAY=37.59.19.254
Проверьте правильность данного шлюза и его доступность.
Проблема с DNS
Ваш файл /etc/resolv.conf
содержит:
nameserver 8.8.8.8
nameserver 8.8.4.4
Эти DNS-сервера от Google обычно надежны, однако, если они недоступны из-за ошибок сети, это может быть причиной. Чтобы убедиться, что ваш сервер может разрешать имена, протестируйте использование команд dig
или nslookup
(если установлены), чтобы проверить доступность DNS-серверов.
Постановка Тестов и Устранение Неполадок
1. Проверка доступности DNS-серверов:
Выполните команду:
dig @8.8.8.8 google.com
или
nslookup google.com
Если вы получаете ответ, значит, проблема не в DNS.
2. Трассировка маршрута:
Используйте:
traceroute google.com
или
traceroute 8.8.8.8
Это поможет вам увидеть, где теряются пакеты.
3. Использование TCPdump:
Для дополнительного анализа можете использовать:
tcpdump -i eth0 port 53
Это покажет, есть ли обращения к DNS-серверу и ответы на них.
Настройки iptables
Ваши правила iptables выглядят достаточно открытыми, но для уверенности проверьте, нет ли каких-либо других правил, блокирующих связь с DNS. Вы можете временно отключить iptables для тестирования:
service iptables stop
Рекомендации
- Проверьте и протестируйте все изменения в конфигурации.
- Убедитесь, что сетевые настройки корректны (IP-адрес и шлюз).
- Проводите диагностику и анализ с помощью упомянутых команд.
Если все перечисленные действия не помогут решить проблему, может быть полезно обратиться в поддержку вашего провайдера VPS для консультации и диагностики возможных проблем на их стороне.