Centos 7 не пингуется

Обновлено: 21.11.2024

Если кажется, что ваш сервер Linux отключен или недоступен по какой-либо иной причине, вы всегда сможете войти в систему с помощью веб-консоли на панели управления UpCloud или через соединение VNC. После входа в систему проверьте интернет-соединение вашего сервера с помощью ping и общедоступного IP-адреса, такого как общедоступный DNS-сервер Google, который, скорее всего, ответит, если ваше интернет-соединение работает.

Вывод должен выглядеть примерно так:

Если сервер не может связаться с пунктом назначения, возможно, проблема связана с вашей конфигурацией. Выполните шаги, описанные здесь, чтобы устранить наиболее распространенные сетевые проблемы с облачным сервером Linux.

Проверьте конфигурацию вашей сети

Убедитесь, что сетевые интерфейсы, такие как eth0, включены. Чтобы просмотреть все настроенные интерфейсы, используйте эту команду.

Вывод команды покажет состояние каждого сетевого интерфейса на сервере с «состоянием UP» или «состоянием DOWN», например, как показано ниже.

Включите все отключенные интерфейсы с помощью следующей команды.

Здесь имя интерфейса является одним из имен, перечисленных в выводе команды ip addr, например eth0, eth1 или eth2< /tt>.

Когда все сетевые интерфейсы будут включены, попробуйте снова использовать команду ping. Если проблема не устранена, убедитесь, что сетевым интерфейсам назначены IP-адреса, и они совпадают с информацией в разделе «Сеть» панели управления UpCloud.

Попробуйте перезапустить любой проблемный интерфейс с помощью следующих команд.

Если какая-либо из этих команд не удалась, возможно, интерфейс находится в состоянии, неизвестном командному сценарию. Попробуйте те же команды еще раз с параметром --force, чтобы устранить подобные проблемы.

Если перезапуск сетевого интерфейса устранил проблему, отлично! Если нет, продолжайте устранение неполадок.

Проверьте файл конфигурации сети

Linux обычно хранит сетевые настройки в определенных файлах и считывает их, например, при загрузке или при использовании команды ifup. Чтобы внести изменения в конфигурацию сети, вам нужно открыть нужный файл в текстовом редакторе. В дистрибутивах на основе Debian и Ubuntu это можно сделать с помощью

В большинстве случаев файл interfaces должен содержать как минимум следующие интерфейсы.

В CentOS и других вариантах Red Hat эти конфигурации разделены на отдельные файлы для каждого сетевого интерфейса и хранятся в /etc/sysconfig/network-scripts/. Интерфейс по умолчанию для подключения к Интернету обычно называется eth0, откройте соответствующий файл конфигурации.

Файл конфигурации для eth0 должен выглядеть так.

Если файлы конфигурации интерфейсов не соответствуют приведенному здесь примеру, отредактируйте файл, относящийся к вашей системе, чтобы восстановить исходную функциональность. Чтобы любые изменения, внесенные в эти файлы, вступили в силу, необходимо перезапустить интерфейсы, к которым применяются изменения, как описано ранее с помощью команд ifdown и ifup.

Проверьте DNS-записи серверов

Если ping с IP-адресом работает, но обычное соединение по-прежнему не работает, попробуйте вместо этого проверить связь с доменным именем. Например, вы можете пропинговать домен UpCloud таким образом.

Если домен не отвечает, проблема, скорее всего, связана с тем, как ваш сервер преобразует доменные имена в IP-адреса. Проверьте записи DNS вашего сервера.

Список должен содержать как минимум 1 сервер имен. Все резолверы DNS по умолчанию в UpCloud имеют одинаковые IP-адреса независимо от зоны доступности. DNS-серверы предоставляются автоматически по протоколу DHCP, поэтому в операционной системе не требуется ручная настройка.

Если ваш сервер имеет общедоступный IPv6-адрес, вы также можете использовать IPv6 со следующими серверами:

Если список пуст, не редактируйте его вручную, потому что, если у вас установлен диспетчер серверов имен, все внесенные вами изменения будут просто отменены. Вместо этого в Ubuntu и некоторых системах Debian вы можете попробовать обновить его с помощью этой команды.

На серверах Debian, на которых не установлен resolvconf, вы можете напрямую редактировать файл resolv.conf.

Добавьте строки, показанные ниже, в файл, сохраните и выйдите.

Те, у кого установлен resolvconf, в случае, если resolv.conf все еще пуст после команды обновления, вы можете добавить серверы имен в свой файл интерфейсов. Откройте его для редактирования.

Добавьте сервер имен в конец раздела eth0.

После этого сохраните файл и выйдите. Вам также потребуется перезапустить сетевую службу с помощью следующей команды.

В CentOS и других вариантах Red Hat файл resolv.conf заполняется немного по-другому. Если файл пуст, вы можете добавить до двух записей DNS в файл конфигурации сети для сети. интерфейс, отвечающий за публичный IP. Например, откройте ifcfg-eth0 с помощью следующей команды.

Отредактируйте файл, чтобы он выглядел следующим образом.

Выйдите из редактора и перезапустите интерфейс, файл конфигурации которого вы только что редактировали, с помощью команд ifdown и ifup.

Проверьте соединение в обоих направлениях

Попробуйте пропинговать свой сервер через Интернет. Откройте терминал или командную строку на своем компьютере и попробуйте пропинговать общедоступный IP-адрес вашего сервера, который вы можете найти в панели управления UpCloud в разделе «Сеть».

Проверьте подключение к Интернету, отправив эхо-запрос на другой сайт с вашего сервера. Например, используйте следующую команду, чтобы пропинговать общедоступный DNS Google.

Если у вас есть второй сервер, развернутый в вашей учетной записи, и проблема связана с интерфейсом, назначенным с частным IP-адресом, попробуйте выполнить эхо-запрос с другим сервером, используя частные IP-адреса, указанные в панели управления UpCloud.

Если проверка связи не дает ответа, попробуйте перезапустить все сетевые службы вашего сервера. В Debian и Ubuntu 12.04 или более ранней версии используйте приведенную ниже команду.

В CentOS и других системах на базе Red Hat вместо этого перезапустите сеть с помощью приведенной ниже команды.

В Ubuntu 14.04 и новее вам нужно будет запустить команду для каждого сетевого интерфейса отдельно, например, вы можете перезапустить eth0 просто следующим образом.

После перезапуска сетевых служб попробуйте снова запустить ping в обоих направлениях. Если ping работает в одном направлении, но не работает в другом, проверьте настройки брандмауэра.

Узнайте, где происходит сбой соединения

Ваше основное подключение к Интернету сводится к знанию маршрута до пункта назначения. Иногда маршрутизация соединения может зайти в тупик, что приведет к сбою соединения. Запустите трассировку маршрута со своего сервера, чтобы увидеть, на каком сетевом узле теряется соединение.

Для этой цели на серверах Ubuntu есть сетевой инструмент mtr. Запустите его с помощью следующей команды.

Чтобы выйти, просто нажмите q на клавиатуре.

Чтобы сделать это в системах Debian, где mtr обычно не устанавливается по умолчанию, вместо этого можно использовать traceroute.

На серверах CentOS используйте команду tracepath.

В разных дистрибутивах работают разные инструменты, и выходные данные этих инструментов также немного различаются. mtr выполняется на переднем плане до отмены, обновляя таблицу ответов при каждом проходе, пример вывода показан ниже.

Traceroute и tracepath очень похожи друг на друга, они выполняют передачу по сети к заданному месту назначения и показывают задержку для каждого ответившего узла. Пример traceroute, показанный ниже, содержит большую часть той же информации, что и mtr.

Попробуйте сделать то же самое со своего компьютера на сервер с помощью одного из инструментов, упомянутых выше, например с помощью приведенной ниже команды.

Если исходящая трассировка не достигает даже первого узла, проверьте настройки сети и брандмауэр. Брандмауэр также может нести ответственность за отказы в подключении, если трассировка через Интернет до вашего сервера не выполняется непосредственно перед достижением сервера.

Настройки брандмауэра

Убедитесь, что ваше соединение не блокируется брандмауэром. CentOS и некоторые другие дистрибутивы на основе Red Hat по умолчанию имеют строгие правила брандмауэра. Следующая команда выведет список всех правил брандмауэра на стороне сервера в вашей системе.

Iptables — это встроенный в Linux программный брандмауэр, и приведенная выше команда выводит следующее.

Ваша панель управления UpCloud также предоставляет легко настраиваемый брандмауэр в настройках сервера на вкладке Брандмауэр.

В приведенном выше примере изображения есть несколько принятых входящих правил, но правило по умолчанию настроено на отклонение. Убедитесь, что нет правил, блокирующих желаемое соединение.

Информация о статусе хоста

Если кажется, что все в порядке, но сетевое подключение по-прежнему не работает или вы не можете устранить проблемы с подключением по другим причинам, не стесняйтесь обращаться за помощью.

Главный редактор и технический писатель в UpCloud с 2015 года. Энтузиаст облачных вычислений, пишущий о серверных технологиях и программном обеспечении.

Я пытаюсь устранить некоторые проблемы с подключением между серверами CentOS в разных подсетях.

Краткий обзор:
Серверы используются для внутренней маршрутизации вызовов. Когда 2 ящика сменили офисы и их eth0 перенастроили для соответствующих местоположений, они перестали общаться со своими дочерними серверами во всех других офисах.

Тестирование:
я отключил Iptables и Ip6tables, и они в любом случае не нужны онлайн. Проблемные блоки будут отвечать на тесты PING с любого оборудования в любой подсети (кроме других блоков CentOS).
Я также могу отправить эхо-запрос с блоков CentOS на другие устройства в этих других подсетях и они получают ответы от любого другого оборудования, отличного от CentOS.

По сути, остановилась только связь между CentOS и CentOS. Я недостаточно много работаю с Linux, чтобы заниматься чем-то большим, чем просто устранением неполадок, поэтому я не знаю, что искать дальше.

Джим Шууз

Intel vPro®: что нового в 2022 году

2022-03-24 16:00:00 UTC Video Meetup Видеовстреча: Intel - Intel vPro®: что нового в 2022 г. Сведения о событии Просмотреть все события

ОП Джим Шууз

Спасибо Джеффу и Меганерду. Я обнаружил проблему - на одном из серверов был настроен статический маршрут, который указывал на несуществующий шлюз (выведенный из эксплуатации более 10 лет назад). Когда я это исправил, и голосовой трафик, и эхо-запросы начали проходить в обоих направлениях.

Честно говоря, я не знаю, как это работало раньше, если только на одном из других шлюзов не был настроен дополнительный IP-адрес, который совпадал с ошибочной записью. Не имеет смысла, что одна только эта запись позволила бы машине Windows успешно пропинговать сервер, а другой машине CentOS - нет. Странно, но факт.

Я действительно не привык ко всем различным местам, которые могут скрываться в разных дистрибутивах Linux. Говорите, что хотите, но они не согласованы между выпусками/версиями, и я предпочитаю, чтобы Windows хранила свои IP-адреса сетевых карт в том же месте, что и шлюзы, DNS-серверы и вторичные адреса. CentOS нет. (По крайней мере, 5.2 — нет.)

13 ответов

Как осуществляется маршрутизация? Я предполагаю, что имя сервера является частью уравнения, и поэтому маршрут уже не тот.

Посмотрите на DNS-сервере имя -> IP-адрес. Это может быть статическая запись, поэтому ее необходимо изменить

ОП Джим Шууз

Я проверил и DNS, и WINS, и эти серверы вообще не отображаются. Я знаю, что конфиги используют только IP-адреса для маршрутизации, а я использую IPv4-адреса только при эхо-запросе, так что это должно эффективно исключить DNS из списка.

ОП Джим Шууз

Мне очень трудно понять, что устройство Windows может успешно пропинговать сервер CentOS, но другой сервер CentOS рядом с ним не может. Я просто не понимаю, почему ICMP должен отличаться от одного устройства к другому.

Возможно, необходимо изменить корпоративный брандмауэр на одном или всех сайтах.

IP-адреса остались прежними, просто переместились в другие ящики, верно? А как насчет портов, они одинаковы для каждой установки?

ОП Джим Шууз

Порты согласованы, и все проходит через Metro-E, поэтому все они находятся за основным брандмауэром. По сути, единственное, что мы сделали, — это поменяли местами места, потому что в одном было больше места, чем в другом.

Когда я подключаю ноутбук к тому же коммутатору, к которому подключена одна коробка, а затем пингую удаленную коробку, она отвечает. Когда я пытаюсь пропинговать ту же коробку из коробки CentOS рядом со мной, это не так. Я даже дошел до того, что поменял местами кабели и порты переключения.

Если я подключаюсь по SSH к удаленному компьютеру с CentOS, я могу пропинговать свой ноутбук, но не другой компьютер с CentOS рядом со мной.

Я могу пропинговать все CentOS с моего ноутбука (Windows) на любом сайте.

Я могу пропинговать все на любом сайте с любого компьютера с CentOS, КРОМЕ других серверов с CentOS.

До того, как я отключил Iptables, я не мог пропинговать ни одно устройство с CentOS, поэтому я сомневаюсь, что существует другой брандмауэр, но я могу ошибаться. Я не знаю, как проверить.

Серверы работали заранее, не имея возможности пропинговать друг друга, потому что у каждого из них были работающие Iptables, поэтому я не думаю, что это окончательное решение. Однако я зациклен на том, что не могу выполнить ping с отключенным Iptables - предположительно из-за моего опыта устранения неполадок во всем, кроме дистрибутивов Linux.

Убедились ли вы, что нет активных правил IPTABLES с помощью «iptables -L» от имени пользователя root или с помощью sudo?

Вы можете отключить ответы ICMP с помощью sysctl. Конфигурации можно найти в /etc/sysctl.conf (это может быть файл в /etc/sysctl.d/). Текущие загруженные значения можно просмотреть с помощью:

sudo sysctl -a |grep icmp

снова как root или с помощью sudo. Конкретное значение, которое вас, вероятно, интересует, это net.ipv4.icmp_echo_ignore_all, которое должно быть установлено в «0» (ноль), чтобы машина отвечала на эхо-запросы. Некоторые другие значения также могут мешать.

Вы можете установить переменную с помощью -a, например,
sysctl -w net.ipv4.icmp_echo_ignore_all=0

Я также хотел бы посмотреть, что происходит, когда вы пытаетесь выполнить трассировку или mtr между двумя серверами CentOS. Он не знает, куда идти, или терпит неудачу в паре прыжков? «IP route list» отобразит вашу таблицу маршрутов. Если у вас есть tcpdump на любой машине, вы можете запустить его, чтобы увидеть, действительно ли он регистрирует какие-либо пакеты с другой машины Cent (или вы можете поместить компьютер с двумя устройствами Ethernet, соединенными мостом посередине, и сделать то же самое, хотя это начинается для более продвинутых сетей).

Я не думаю, что это проблема Linux, насколько я могу судить, это проблема сети. На самом деле единственное, что изменилось, это MAC-адрес, насколько я понимаю. Хорошо, физические коробки перемещены, но, насколько вы можете судить, сеть точно такая же.

Таблицы ARP на коммутаторах могут кэшировать неправильные маршруты. либо посмотрите сначала, либо просто удалите кеш. Возможно, вы захотите сделать это в непиковое время, это не должно сильно влиять на производительность, но это необходимо для повышения производительности.

ОП Джим Шууз

Meganerd написал:

Вы проверили, что нет активных правил IPTABLES с «iptables -L» от имени пользователя root или с помощью sudo?

Я запускаю все команды от имени пользователя root. Я использовал «lsmod | grep ip_tables» для каждого ресурса, который использовал. Если я использую «iptables -L», вывод будет следующим:
Chain INPUT (policy ACCEPT)
target prot opt ​​source target

Chain FORWARD (правило ACCEPT)
целевая защита, выбор источника назначения

Chain OUTPUT (policy ACCEPT)
target prot opt ​​source target
и я не знаю, как читать этот результат, он для меня новый.

Вы можете отключить ответы ICMP с помощью sysctl, загляните в /etc/sysctl.conf для получения конфигураций (может быть файл в /etc/sysctl.d/). Вы можете просмотреть текущие загруженные значения с помощью:

sudo sysctl -a |grep icmp

снова как root или с помощью sudo. Конкретное значение, которое вас, вероятно, интересует, это net.ipv4.icmp_echo_ignore_all, которое должно быть установлено в «0» (ноль), чтобы машина отвечала на эхо-запросы. Некоторые другие значения также могут мешать.

Вы можете установить переменную с помощью -a, например,
sysctl -w net.ipv4.icmp_echo_ignore_all=0

Думаю, sysctl уже выглядит хорошо:
net.ipv4.icmp_ratemask = 6168
net.ipv4.icmp_ratelimit = 1000
net.ipv4.icmp_errors_use_inbound_ifaddr = 0
net. ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_echo_ignore_all = 0

Я сравнил результаты проверки связи Windows и результаты проверки связи CentOS. Windows отправляет 32 байта, а CentOS по умолчанию отправляет 64 байта. Когда я снова изменяю размер пакета на 32 байта на CentOS, он все равно не работает.

Я также хотел бы посмотреть, что происходит, когда вы пытаетесь выполнить трассировку или mtr между двумя блоками CentOS. Он не знает, куда идти, или терпит неудачу в паре прыжков? «IP route list» отобразит вашу таблицу маршрутов. Если у вас есть tcpdump на любой машине, вы можете запустить его, чтобы увидеть, действительно ли он регистрирует какие-либо пакеты с другой машины Cent (или вы можете поместить компьютер с двумя устройствами Ethernet, соединенными мостом посередине, и сделать то же самое, хотя это начинается для более продвинутого общения).

«ip route list» содержит правильную подсеть, IP-адрес, область действия APIPA и адрес шлюза, указанные на правильном сетевом адаптере.
«traceroute» переходит к шлюзу, а затем завершается звездочкой. Это должно быть как-то связано с типом используемых межофисных каналов, потому что я нормализовал связь между сайтами, и трассировка к любому пункту назначения в любой подсети, которая отвечает на ping, дает тот же результат.

FWIW, каналы являются оптоволоконными, но с перекрестными операторами связи, поскольку они находятся в разных штатах и ​​​​на разных рынках, поэтому между ними есть несколько операторов связи.

ОП Джим Шууз

Я не думал о кеше ARP, но когда я смотрю на него в Linux-боксах, он имеет только локальную подсеть — ничего удаленного, как у устройств Windows. Я очистил его и кэш на промежуточных коммутаторах, но безрезультатно.

ОП Джим Шууз

Спасибо Джеффу и Меганерду. Я обнаружил проблему - на одном из серверов был настроен статический маршрут, который указывал на несуществующий шлюз (выведенный из эксплуатации более 10 лет назад). Когда я это исправил, и голосовой трафик, и эхо-запросы начали проходить в обоих направлениях.

Честно говоря, я не знаю, как это работало раньше, если только на одном из других шлюзов не был настроен дополнительный IP-адрес, который совпадал с ошибочной записью. Не имеет смысла, что одна только эта запись позволила бы машине Windows успешно пропинговать сервер, а другой машине CentOS - нет. Странно, но факт.

Я действительно не привык ко всем различным местам, которые могут скрываться в разных дистрибутивах Linux. Говорите, что хотите, но они не согласованы между выпусками/версиями, и я предпочитаю, чтобы Windows хранила свои IP-адреса сетевых карт в том же месте, что и шлюзы, DNS-серверы и вторичные адреса. CentOS нет. (По крайней мере, 5.2 — нет.)

Джим Шууз написал:

Спасибо Джеффу и Меганерду. Я обнаружил проблему - на одном из серверов был настроен статический маршрут, который указывал на несуществующий шлюз (выведенный из эксплуатации более 10 лет назад). Когда я это исправил, и голосовой трафик, и эхо-запросы начали проходить в обоих направлениях.

Честно говоря, я не знаю, как это работало раньше, если только на одном из других шлюзов не был настроен вторичный IP-адрес. то же, что ошибочная запись. Не имеет смысла, что одна только эта запись позволила бы машине Windows успешно пропинговать сервер, а другой машине CentOS - нет. Странно, но факт.

Я действительно не привык ко всем различным местам, которые конфигурации могут скрываться в различных дистрибутивах Linux. Говорите, что хотите, но они не согласованы между выпусками/версиями, и я предпочитаю, чтобы Windows хранила свои IP-адреса сетевых карт в том же месте, что и шлюзы, DNS-серверы и вторичные адреса. CentOS нет.(По крайней мере, 5.2 — нет.)

Я не слишком уверен в CentOS 5.2, я не прикасался к этой ОС много лет. Для моих хостов Debian и Ubuntu все находится в /etc/network/interfaces, а для компьютеров с CentOS 7.2 — в /etc/sysconfig/ifcfg- .

В любом случае, как и в любой другой ОС, схема конфигурации имеет смысл, если вы с ней знакомы. Например, уродливая похлебка, которая представляет собой реестр, gpedit/gpmc.msc, панель управления (было ли это, что административные инструменты -> Управление компьютером -> Управление дисками, чтобы просто посмотреть на диски, может быть настоящей головной болью для младших администраторов. Невозможность использовать утилиты такие как find и grep делают эти задачи еще более неприятными. Другие примеры: если вы создаете постоянный маршрут из командной строки, где это отображается в инструментах с графическим интерфейсом? Почему настройка шлюза (он же маршрутизатор) находится в расширенном разделе TCP4/ 6?

Я не хочу ругать Windows, хотя выше я был немного резок. Вместо этого я бы рекомендовал воздержаться от суждений, пока вы не познакомитесь с данной платформой. Когда вы действительно начнете подробно изучать различные операционные системы, вы, вероятно, удивитесь, как эта хрень вообще работает? :)

По моему опыту, у всех ОС есть свои недостатки, но настройка сети — это то, где я действительно предпочитаю варианты ОС FLOSS. На машине с ОС, с которой я, возможно, не знаком, я могу просмотреть существующие интерфейсы и IP-адреса («ip-адрес» на машинах с Linux, «ifconfig -a» на других *NIX), а затем рекурсивно выполнить grep через /etc/, просматривая для этого интерфейса. Если я не найду там то, что ищу, я могу использовать утилиту find, чтобы сделать то же самое с именами файлов. Поиск в /etc/ — довольно безопасная ставка.

В любом случае, мы рады, что смогли помочь.

ОП Джим Шууз

Нет, вы правы, в Windows есть много несовместимых вещей. Однако в CentOS 5.2 сеть находится более чем в одном месте: ifcfg-ethX имеет IP, сетевую маску и один GW, а в resolv.conf есть DNS и другой GW, который, по-видимому, имеет приоритет над GW в ifcfg-ethX. . Что еще хуже, resolv.conf и ifcfg-ethX даже не находятся в одном месте. Черт возьми, ethX не находится в одном и том же формате или даже в одном и том же месте в разных дистрибутивах. (/sysconfig/network-scripts/ & /network/interfaces/?)

К счастью, у меня есть базовые знания о командах Unix и Xenix за последние 35-40 лет, и я могу запускать VI, но когда мне нужно искать все остальное, используя определенное имя и версию дистрибутива, я получаю общую информацию, которая может или может не быть правильным. Я очень ценю поддержку сообщества и благодарен, что вы, ребята, помогли мне выбрать правильное направление.

PING или Packet Internet Groper — любимая команда Linux! Его основная цель — управлять состоянием сетевого подключения между источником и устройством с помощью IP-сети. В этом руководстве вы узнаете, как это может помочь вашему проекту и как начать его использовать!

Что такое команда Ping в Linux?

С помощью команды ping в Linux мы также можем получить доступ к продолжительности отправки и получения ответов из сети. Он работает, отправляя серию сообщений протокола управляющих сообщений Интернета (ICMP) на целевой хост и ожидая эхо-сообщения ICMP от и к хосту и устройству. Это информирует нас о выполнении сети.

По сути, он отправляет сообщение ECHO_REQUEST и ожидает ECHO_RESPONSE. Если в сообщении отображается «быстрый пинг с низкой задержкой», это означает, что соединение быстрое. Измеряется в миллисекундах.

В настоящее время на каждом современном компьютере, VPS или устройстве предустановлен PING из-за множества применений. Это быстрый и простой способ проверить производительность между устройством и хостом.

Будь то локальная сеть (LAN) или глобальная сеть (WAN), ping предоставляет точную информацию о подключении. Вы также получаете статистические сводки теста, которые включают минимальное и максимальное количество раундов, количество переданных и полученных пакетов, процент потерянных пакетов и стандартное отклонение среднего значения. Это также позволяет пользователю проверить качество сетевого соединения между двумя устройствами. Довольно здорово, правда?

Проверка связи между вашим компьютером и целевым хостом позволит вам определить:

  • Статус целевого хоста: доступен ли он.
  • Измерение времени между циклами (хост-компьютер-хост)
  • Процент потерянных пакетов

Как установить команду Ping в Linux

Помните, сначала нам нужно получить доступ к нашему VPS с помощью SSH. Если у вас возникли проблемы, вы можете ознакомиться с нашим руководством по PuTTY!

В большинстве разновидностях Linux по умолчанию должен быть установлен ping. Вы можете проверить, выполняется ли он при этом:

Если пинга нет, быстрое обновление системы поможет:

Как использовать команду Ping в Linux?

В Linux есть различные параметры, которые позволяют пользователю проверить соединение между двумя сетями:

1. Проверка подключения

Вы можете запустить простую и быструю команду в своей системе, чтобы проверить состояние целевого хоста и сервера или компьютера.

Если вы не уверены, что такое домен, вы также можете использовать IP-адрес. В скобках должен отображаться IP-адрес Google вместе с полной статистической сводкой.

  • мин — минимальное время, необходимое для получения ответа.
  • avg – показывает среднее время получения ответов.
  • max — отражает максимальное время, необходимое для получения ответа.

Чтобы остановить команду ping в Linux, мы должны использовать Ctrl+C, чтобы остановить отправку пакетов на целевой хост. Команда остановит все процессы в терминале.

2. Указание номера ECHO_REQUEST

Опция команды -c используется для указания количества пакетов или запросов, которые пользователь хочет выполнить.

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

Здесь * — количество проверок связи, которые вы хотите выполнить.

3. Звуковой пинг

Опция команды -a ping Linux создает звуковой сигнал, чтобы проверить, активен ли хост, и информирует вас об этом.

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

Помните, чтобы завершить процесс проверки связи, нажмите Ctrl+C.

4. Установка интервалов

Опция –i в Linux позволяет пользователю устанавливать интервалы в секундах между каждым пакетом.

Эта команда имеет ту же структуру, что и предыдущие:

Здесь два числа можно изменить на то, что вам нужно.

5. Получение только сводки команд Linux Ping

Чтобы получить сводку только по сети, используйте параметр –q в командной строке терминала Linux:

Опять же, мы по-прежнему используем -c 7 для выполнения семи запросов, но получаем только сводку из-за добавления -q.

6. Заполнение сети с помощью команды Linux Ping

Команда ping позволяет пользователям отправлять 100 и более пакетов в секунду с помощью следующей команды:

Этот вариант удобен, если вы хотите проверить, как ваш веб-сайт или сервер справляются с сетевой нагрузкой — большим количеством запросов.

Заключение

Ping — это распространенная утилита для устранения неполадок доступности узлов в сети. Это помогает нам понять причину, по которой веб-сайт может не загружаться.

Нам нужно знать основную причину проблемы. Это может быть что угодно, от подключения к Интернету, потери сети или отсутствия доступа к веб-сайту. Ping — это команда, которая помогает нам определить доступность сетевого устройства.

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

Освойте другие команды Linux

Эдвард – редактор контента с многолетним опытом работы в сфере ИТ в качестве писателя, маркетолога и энтузиаста Linux. Цель Эдварда — побудить читателей создать впечатляющее присутствие в Интернете. Еще он очень любит собак, гитары и все, что связано с космосом.

Вы когда-нибудь останавливались, чтобы посмотреть, насколько больше может помочь вам проверка связи, помимо быстрой проверки подключения к сети?

Опубликовано: 26 апреля 2021 г. | Дэймон Гарн (Red Hat)

Я уверен, что вы понимаете, что команда ping — это распространенная и относительно простая команда. И, как и во многих основных командах, есть несколько отличных опций и приемов, которые делают инструмент еще лучше. В этой статье рассматриваются различные приемы и советы, которые помогут повысить уровень ваших знаний о пинге.

Я начинаю с некоторых основных параметров проверки связи, а затем интерпретирую результаты проверки связи. После этого я изучаю некоторые расширенные варианты использования. Наконец, я расскажу о некоторых альтернативах проверки связи и дополнительных подходах.

Основы

Для быстрого обзора вы можете просто ввести следующие две команды, чтобы проверить базовое сетевое подключение к удаленному компьютеру с именем хоста server01 или IP-адресом 192.168.2.200:

Вы также можете протестировать локальный стек TCP/IP, используя либо имя хоста localhost, либо петлевой адрес:

Вы также можете использовать команду ping 0 для проверки связи с локальным хостом:

Контейнеры Linux

Менее известные варианты

По умолчанию Linux постоянно отправляет эхо-запросы. Windows по умолчанию отправляет только четыре. Одно из моих любимых применений ping — это информирование меня о перезапуске удаленного сервера или сетевого устройства. Например, представьте, что я удаленно подключен к серверу Windows с моего ноутбука Linux. Сервер необходимо перезагрузить, прежде чем я смогу продолжить его настройку. Я могу выполнить команду перезагрузки, а затем настроить непрерывный пинг с моего ноутбука на сервер. Когда результаты проверки связи показывают успех, я знаю, что процесс перезагрузки на удаленной машине завершен. А пока я могу работать над другими проектами.

Примечание. Параметры проверки связи в Linux и Windows несколько различаются. Запланируйте это, если вы работаете с обеими платформами.

Я даже могу использовать звуковой сигнал с ping , сообщающий мне, когда проверка прошла успешно.

Вы можете настроить количество проверок связи, используя параметр -c, за которым следует желаемое количество сообщений проверки связи. Например, чтобы отправить пять пингов, введите:

Вы можете использовать вариант этого, чтобы просто отобразить IP-адрес назначения, отправив одиночный ping на имя хоста. Это запрос быстрого разрешения имени:

Может быть, вы хотите изменить уровень детализации результатов проверки связи? Вы можете повысить уровень детализации, добавив параметр -v (подробный) или обобщить результаты, используя параметр -q (тихий).

Я уже нашел несколько хороших способов использования ping с указанными выше параметрами. Мне особенно нравится возможность быстрого запроса разрешения имени. Однако я использовал непрерывный пинг во время перезагрузки больше, чем любой другой трюк.

Вы также можете использовать команду ping для тестирования служб разрешения имен. Если вы пингуете пункт назначения по IP-адресу и пинг проходит успешно, вы знаете, что у вас есть базовое подключение. Если вы пингуете тот же пункт назначения по имени хоста, и это не удается, вы знаете, что разрешение имен не работает. Это связано с тем, что ping не смог преобразовать данное имя хоста в IP-адрес во втором тесте.

Результаты и методы

Чтобы углубиться в результаты, вывод ping отображает информацию об имени хоста и IP-адресе, потере пакетов, времени отклика и т. д.

Вывод ping

Двумя наиболее распространенными результатами, на которые следует обратить внимание, являются время ожидания и неизвестный хост. Оба они указывают на сбой, но знаете ли вы, что вы можете использовать эти два результата, чтобы предсказать, в чем заключается проблема с сетью?

Сообщение timeout указывает на то, что ваш компьютер считает, что успешно отправил запросы проверки связи к месту назначения. Однако он не получил ответов в течение указанного времени, поэтому время ожидания истекло. Неправильная конфигурация, вероятно, на стороне назначения или в сети между вашим компьютером и местом назначения. Ваш компьютер отправил запросы, но пункт назначения не ответил. Начните с проверки того, что целевое устройство включено, физически подключено к сети и имеет действительный IP-адрес. После этого проверьте настройки маршрутизатора и брандмауэра.

Противоположное верно для вывода неизвестный хост. Это указывает на вероятную проблему на вашем конце соединения. Ваш компьютер не смог отправить запрос в нужное место назначения. Это может означать неверную настройку IP-адреса с вашей стороны, проблему со значением шлюза по умолчанию или попытку подключения к несуществующему адресу назначения.

Работайте снаружи внутрь

Многие курсы по работе с сетью предлагают использовать ping для проверки наличия проблем с конфигурацией, сначала проверяя ближайшие конфигурации, а затем продвигаясь наружу. Я всегда с этим не соглашался.

Первый подход к ближайшим адресам выглядит следующим образом:

  1. Шлейф: проверка связи 127.0.0.1
  2. Локальный хост: ping 192.168.2.200
  3. Локальный маршрутизатор/шлюз по умолчанию: ping 192.168.2.1
  4. Удаленный пункт назначения по IP-адресу: ping 192.168.8.42
  5. Удаленный пункт назначения по имени хоста: ping server01

Я считаю, что подход "внешний" более эффективен, потому что если шаг 1 завершится успешно, я смогу перейти к другим тестам, не теряя времени. Вероятность сбоя тестов loopback и localhost очень мала по сравнению с другими проблемами конфигурации сети.

Вот внешний подход:

  1. Удаленный пункт назначения по имени хоста: ping server01 (Примечание. Если это удастся, перейдите к другим тестам сети)
  2. Удаленный пункт назначения по IP-адресу: ping 192.168.8.42
  3. Локальный маршрутизатор/шлюз по умолчанию: ping 192.168.2.1
  4. Локальный хост: ping 192.168.2.200
  5. Шлейф: проверка связи 127.0.0.1

В облаке

Расширенные варианты использования

Существует несколько разных команд проверки связи, которые можно использовать для различных тестов.

Например, что если у вас не установлен Nmap, но вам нужно посмотреть, какие хосты работают? Добавьте опцию -b, чтобы запустить широковещательную рассылку ping для всей подсети. Это отображает хосты, которые в настоящее время работают, хотя это не так эффективно, как простое сканирование Nmap.

Вы также можете изменить размер полезной нагрузки пакета ping. Заголовок всегда имеет размер 28 байт, поэтому добавьте желаемую сумму плюс 28 байт, чтобы получить общий размер. По умолчанию 64 байта. Чтобы отправить ping со 128 байтами, введите следующее:

Это основная техника, используемая в атаках Ping of Death.

Ограничьте количество прыжков (маршрутизаторов), через которые будет проходить пинг, настроив значение времени жизни (TTL). Например, чтобы ограничить запрос десятью прыжками, введите:

Кроме того, при выполнении непрерывной проверки связи попробуйте Ctrl + вертикальная черта, чтобы отобразить статистику.

Последние приемы

Я закончу одним последним инструментом и напоминанием о маршрутизаторах.

Существует графический интерфейс для ping — gping. Использование графического интерфейса может быть удобно для таких задач, как мониторинг перезагрузки серверов, как упоминалось выше. Из другого конца комнаты можно было наблюдать за состоянием результата непрерывного пинга. Иногда с графическим представлением проще работать или оно полезно для демонстраций. Вы можете найти gping на его официальной странице Git. Он доступен для различных дистрибутивов Linux, macOS и Windows. Для нескольких других установщиков доступно несколько различных типов пакетов.

Вот несколько примеров синтаксиса gping. Первый устанавливает графический пинг на server01, а второй отображает справку по gping:

На снимке экрана показано, как gping проверяет подключение к адресу 8.8.8.8.

Наконец, напоминание: многие маршрутизаторы настроены на отбрасывание пакетов на основе ICMP, таких как пакеты, используемые ping (и traceroute). ICMP, как правило, может использоваться для различных атак, поэтому маршрутизаторы могут быть настроены так, что они не пропускают и не отвечают на ping-запросы. Об этом следует помнить при устранении неполадок сетевого подключения.

Подведение итогов

Конечно, ping — это простой инструмент, с которым вы все много работали, но есть несколько отличных опций для изменения его поведения и несколько хороших методов, которые можно использовать при устранении неполадок. Обнаружили ли вы хотя бы одну полезную вещь, о которой не знали, из вышеприведенного списка? А как же гпинг? Можете ли вы придумать какое-либо хорошее применение графической версии ping?

Читайте также: