Linux не идет пинг

Сеть есть, пинги не идут.

В общем при запуске система нормально получает ip, gw, dns адреса. При попытке пинга адреса по dns-имени, нормально находится сервер (возвращается его ip адресс), а вот пинги не идут.

Куда копать? Интернет раздаётся обычным бытовым роутером, dhcp-сервер на нём же.

Для начала можно показать, что у вас показывают команды Вроде тут всё в порядке. Остаются настройки фаерволла у вас или на роутере.
Попробуйте пропинговать роутер по его айпи 10.0.0.1
Если и он не пингуется, под рутом посмотреть что показывает iptables-save Роутер нормально пингуется. iptables-save – команда не найдена.

Обмолвлюсь, что система устанавливалась через net-install и всё было нормально. Проблема всплыла при первом старте системы, больше никаких действий с ОС не производилось.

Если роутер пингуется, а сеть за роутером – нет, значит это роутер не маршрутизирует ваш пинг.
Кстати, если бы вы привели здесь вывод неработающего пинга, это стало бы ясно сразу же.
Команда ping всегда пишет, от какого узла сети получила “от ворот поворот”, то бишь ICMP-сообшение “host unreacable”, и в данном случае мы бы увидели, что пакеты заворачивает роутер, а не ваш комп.

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

что покажет, к примеру:
$ host ya.ru
? Halucard, когда я говорил о несовпадении диапазона, я имел в виду вот что: допустим, роутер выдаёт адреса по очереди, каждый следующий комп, который он считает незнакомым, получает следующий адрес. Когда вы устанавливали арч, вы получили действующий айпи, а когда его запустили, получили следующий, который этот роутер уже не пропускает в интернет.
Я не утверждаю, что это так, но пока это единственное, что приходит в голову. Для бОльшего нужно больше информации.

P.S.
Посмотрел ваш пинг. Если он правда больше ничего не показывает, имеет смысл посмотреть, что показывает tcpdump. Если у вас он не установлен, поставьте одноимённый пакет.
Надо запустить под рутом

Пытаюсь установить tcpdump. Сижу из под рута (согласно руководству по установке, я ещё не дошёл до создания пользователя) при попытке запуска configure, получаю в ответ Permission denied.

Что-то Arch совсем не хочет со мной дружить.

© 2006-2021, Русскоязычное сообщество Arch Linux.
Название и логотип Arch Linux ™ являются признанными торговыми марками.
Linux ® — зарегистрированная торговая марка Linus Torvalds и LMI.

Источник

Ubuntu не отвечает на ping только с одного компа. Счего начать? См. tcpdump

Есть сервер на Ubuntu, его все видят и с ним работают из разных сетей. Но есть машна, которую он «игнорирует». Точнее не машины, а ip т.к. если его поменять, то все будет нормально.

Подскажите, как начать расследование, что бы это лечить, а не переставлять ip на клиенте или сервер?

Вот, что видится на сервере от ping с «больной» машины:

Вот, что видится на сервере от ping с нормальной машины:

src host 192.168.8.110 or dst host 192.168.8.110 эквивалентно host 192.168.8.110

grep -r 192.168.8.39 /etc

Да, похоже на то, что айпишник числится в каком-то блеклисте — нужно смотреть конфиг iptables (iptables -vnL —line-numbers), а также всякие hosts.deny в /etc

из всего, что я нашел про 8.39 на сервер 3.54 есть только лог apach:

говорит, что с этой машиной работали на сервере далее он «завис» и после перезагрузки стал не доступен с этой машиной.

заработало

при очередной перезагрузки сервака, он стал виден с «больной» машины.

iptables вообще отключен, там ничего нет

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

Спасибо, что обратили внимание на мое сообщение.

Ну, в другой раз можно провести более детальную диагностику, начать с tcpdump или iptables -j LOG, там смотреть по обстоятельствам.

снова перестало пинговаться

в общем, картина такая же: несколько минут проработало и перестало.

про то, что выдает tcpdump я писал в исходном посте а с iptables я так понял вы предлагаете сделать цепочку и прогонять по ней общение с 8.39 так?

Читайте также:  Как сделать linux под себя

нет в сети такого же ипа? На сервере один интерфейс?

да не обязательно цепочку, просто поставить пару правил с таргетом LOG и смотреть, где теряется

Кстати, да интересная мысль.

добавил:

смотрю iptables -nvL

после очередной перезагрузки сервер работает:

жду пока снова перестанет

Попробуй посмотреть кэш таблицы маршрутизации в момент когда машина не пингуется

вроде нет, все раздается по DHCP.

да, на сервере один интерфейс

а как лучше проверить?

наблюдаю за таблицей, есть копии: — после 12 часов работы и когда не пингуется — сразу после перезагрузки — после того как с 8.39 немного поработали с сервером.

Вроде все логично, 8.39 присутствует только в последнем случае.

Я бы посмотрел ещё на ARP таблицы и может быть ARP запросы во время отказа.

Если сервер в одном ethenet сегменте с 192.168.8.110, то, как уже посоветовали, проверьте ARP, в том числе и командой arping. Может 192.168.8.39 не отвечает на ARP-запросы сервера.

Спасибо, к сожалению они не в одной сети.

уже сутки работает нормально.

Большое спасибо всем, вроде работает уже долго и надежно.

Не понятно, что помогло, но вот, что в итоге было сделано:

1. очистил место на диске, т.к. по ходу выявилась проблема: по данным df -h места дофига, а при upload файлов происходил сбой.

2. включил FireWall, из используемых портов оставил открытыми только те, что используются.

в результате этого, закрытыми оказались 5353, это mDNS и еще какой то «блуждающий» порт (судя по команде netstat -nvl) с номером > 10000, который к java программе вел.

Источник

Команда ping в Linux

Всем знакомы ситуации, когда интернет на компьютере неожиданно разрывается, такое поведение можно наблюдать при использовании ADSL модемов, Wifi на большом расстоянии, GSM и других подобных ненадежных технологий. Быстро выяснить есть ли на компьютере интернет можно с помощью утилиты ping.

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

Как работает ping?

Утилита ping — это очень простой инструмент для диагностики сети. Она позволяет проверить доступен удаленный хост или нет и все. Для этого утилита проверяет, может ли хост отвечать на сетевые запросы с помощью протокола ICMP.

Надеюсь, не нужно говорить, что все данные по сети передаются в виде небольших пакетов. Программа передает небольшой пакет с данными ICMP и ожидает получить обратно пакет ответа, если получает, то считается что удаленный узел доступен. ICMP или Internet Control Message Protocol — это надстройка над протоколом IP, которая используется для передачи служебных сообщений и сообщений и ошибках.

Протокол ICMP может передавать только два типа пакетов — это сообщения с отчетами про ошибки и сообщения запросов. В свою очередь, сообщения запросов делятся на:

  • Сообщение эхо-запрос;
  • Сообщение эхо-ответ.

Попытаемся разобраться что делает команда ping. Итак, когда вы отправляете запрос ping удаленному узлу, утилита устанавливает для каждого пакета уникальный идентификатор, а также TTL и время отправки пакета. Если хост доступен, он отправляет ответ, на основе времени отправки утилита может вычислить время прохождения пакета туда и обратно. Затем отправляется следующий пакет. В конце рассчитывается общее количество отправленных и принятых пакетов, процент потерь и другие данные.

Команда Ping

Теперь нам осталось немного попрактиковаться. Но перед тем, как мы перейдем к практике давайте рассмотрим синтаксис команды и ее опции. Синтаксис довольно прост:

$ ping опции адрес_узла

Формат команды ping очень прост. В качестве адреса узла можно передавать как ip адрес, так и доменное имя. Опции настраивают поведение утилиты. Рассмотрим основные из них:

  • -4 — использовать только ipv4 (по умолчанию);
  • -6 — использовать только ipv6;
  • -A — адаптивный режим, время между отправками пакета адаптируется к времени передачи и приема пакета, но не меньше чем 200мс;
  • -b — разрешить ping широковещательного адреса;
  • — количество пакетов, которые нужно отправить;
  • -D — выводить время в виде UNIX timestamp;
  • -f — режим флуда, в этом режиме пакеты передаются без задержек, может использоваться для совершения DoS атак на отдельные узлы. Количество точек, которые выводит утилита обозначает количество потерянных пакетов;
  • -i — интервал в секундах между отправкой пакетов;
  • -I — использовать этот сетевой интерфейс для отправки пакетов;
  • -l — режим перегрузки, отправляется очень много пакетов и система не следит за ответными пакетами;
  • -n — не получать домены для ip адресов;
  • -r — игнорировать таблицы маршрутизации и отправить пакет на указанный интерфейс;
  • -s — размер одного пакета;
  • -t — установить TTL вручную;
  • -v — более подробный вывод.
Читайте также:  Удалите все компоненты windows live через командную строку

Теперь, когда мы рассмотрели основные параметры команды ping и ее синтаксис, пришло время практики, дальше поговорим о том, как сделать ping определенного узла в Linux.

Как пользоваться Ping?

Для проверки работоспособности сети часто используется программа ping любого сайта, который всегда доступен, например, google.com или еще проще и короче ya.ru. Вам будет достаточно передать утилите в параметрах этот адрес, она сама найдет ip и сделает все нужное:

Как я и писал выше, для каждого пакета выводится уникальный идентификатор icmp_seq, количество узлов до целевого узла ttl и время, потраченное на доставку пакета time. Чтобы остановить ping нажмите сочетание клавиш Ctrl+C. В конце утилита вывела общую статистику:

  • packets transmitted — отправлено пакетов;
  • received — получено пакетов;
  • packet loss — процент потерянных пакетов;
  • time — обще время работы;
    rtt min/avg/max/mdev — минимальное время/среднее время/максимальное время/квадратичное отклонение.

Если выполнение команды ping не остановить, то пакеты могут отправляться очень долгое время, это создает дополнительную нагрузку на сервер и поэтому не желательно. Вы можете сразу в вызове команды ограничить количество отправляемых пакетов с помощью опции -c:

Точно так же как мы выполняем ping для домена, можно указать ip адрес напрямую. Это позволяет проверить есть ли сеть когда неверно настроены серверы DNS. Например:

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

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

ping -i 0.2 losst.ru

Здесь программа ping выполняет так званный, настраиваемый флуд, вы указываете с какой интенсивностью нужно отправлять пакеты. С помощью опции -D вы можете увидеть Unix Timestamp для каждого сообщения:

Выводы

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

Источник

Linux сервер не пингует кмпьютеры в сети

Есть Debian с eth0 и ppp0 интерфейсами.

Это внутреняя локальная сеть?

Это НЕ 3g модем, а просто интерфейс PPTP например, так? Я не пойму просто каким образом вообще подключается у тебя этот компьютер к PPTP серверу, если до сети 10.0.31.0/24 у тебя только какой то один маршрут. Ну допустим ты не написал «лишние строки» ip r s

PPTP сервер, НЕ видит твой комп 100.7.1.2, так? Т.е. с адреса PPP 172.17.4.111 не проходит пинг до твоего компа 100.7.1.2, так? Тогда лог подключения сюда(а лучше не сюда).

В конце концов я хочу из сети 10.0.31.0 увидеть компы сети 100.7.1.0

Я не пойму как у тебя вообще появилась сеть 10.0.31.0/24 на компьютере. Поэтому опиши точнее все, лучше схемку набросать, «с ардресами и интерфейсами»(с).

route add -net 10.0.31.0 netmask 255.255.255.0 gw 10.0.31.12

Это не считается(/не должно работать впринципе). Даже интерфейс не указан. Пиши полностю настройки сети свои.

Пробовал настроить NAT , но результата не получил. Обратил внимание на то , что сервак не «видит» раб.станции

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

Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all — localnet/24 anywhere ACCEPT all — anywhere localnet/24

Два разрешающих правила лишние, у тебя политика в цепочке все равно «policy ACCEPT»

Для разрешения роутинга в линуксе(передачи пакетов между интерфейсами): echo 1 > /proc/sys/net/ipv4/ip_forward или /etc/sysctl.conf # Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1

Маршрутизация

100.7.1.0 -внутренняя сеть. 10.0.31.12 — ip 3g модема (ppp0), подключенного к серваку

PPTP сервер, НЕ видит твой комп 100.7.1.2, так?

-именно Не понимаю что за адрес 172.17.4.111 , честно говоря.

Маршрутизация

Но странно что я с сервака не пингую другие машины . Я так понимаю, что если сеть настроена правильно, то я должен пинговать и наружу сервера, ато какой-то нипель получается.

Re: Маршрутизация

Эммм я не совсем понимаю, что ты вообще хочеш сделать? Объясни подробно, как ты хочеш чтобы из сети 3G кто и к кому подключался?

Это адрес выданый PPTP(или PPPoE как там у них?) сервером (провайдера 3G ) твоему модему.

Читайте также:  Download windows 10 tech

Никогда не используй адреса НЕ из внетрених сетей( https://ru.wikipedia.org/wiki/Частный_IP-адрес ) для частных сетей.

Но странно что я с сервака не пингую другие машины

Какие именно машины ты пингуеш? Прочитай внимательно ссылку выше про частные адреса. Я подозреваю что ты просто пытаешься пинговать машины из интернета и у тебя получается(ибо провайдерский NAT), а обратно нет(из интернета к твоей сети) потому что так и должно быть!

Маршрутизация.

Нет не верно. У меня интранет — локальная сеть без выхода на ружу — 100.7.1.0/24, сервер ip-100.7.1.2 . Есть vpn-сеть от внешнего провайдера (не по DHCP) 10.0.31.0 , каждый 3g модем имеет свой адрес. На серваке модем 10.0.31.12. На данный момент пинг с рабочей станции 100.7.1.27 к серваку 100.7.1.2 проходит , в обратную же сторону нет. Точно так с рабочей станции с модемом 10.0.31.6 пинг к серваку 10.0.31.12 проходит , а в обратку нет.Я уверен , что так не должно быть. В конечном итоге я хочу видеть с 10.0.31.6 (раб.станция сети №2) машину 100.7.1.27 (сеть №1).

Re: Маршрутизация.

У меня интранет — локальная сеть без выхода на ружу — 100.7.1.0/24, сервер
интранет != 100.7.1.0/24

ну да ладно, просто в сеть интернета 100.7.1.0/24 ты не будеш иметь доступ. Но при этом учти, что если твоему провайдеру придут пакеты от тебя из сети 100.7.1.0/24 то он их просто дропнет(уничтожит).

На данный момент пинг с рабочей станции 100.7.1.27 к серваку 100.7.1.2 проходит , в обратную же сторону нет.

1) ip r s — на 2 копах сюда. 2) Версии дистрибутивов. 3) Можешь tcpdump посмотреть доходит ли пинг от рабочей станции 100.7.1.27 до сервера. Т.е. на сервере выполнить комманду tcpdump -i eth0 icmp (где eth0 интерфейс локальной сети, icmp — показывать только icmp пакеты). Если пинг доходит, то надо смотреть настройки сервера, если нет, то надо смотреть настройки сети на двух компах.

Начни с 3. затем 1 и 2 сюда с результатами 3.

с рабочей станции с модемом 10.0.31.6 пинг к серваку 10.0.31.12

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

Маршрутизация

C Windows машин: 1) Подключена только через 3g ip-10.0.31.6

Дистрибутив на серваке Jessie

Маршрутизация

tcpdump не установлени и теперь установить не могу (после того как наладил соединение через 3g), поскольку инет из серевера идет через proxy 100.7.1.18 , а он то его и не видит.

Если без него никак качну deb-пакет

Маршрутизация

[qoute]До сих пор не пойму, как у тебя настраиваются модемы. Да все реально так как описываю.

Маршрутизация

При пинге с 100.7.1.2 на 10.7.1.18 tcpdump дает :

Маршрутизация

При с 100.7.1.18 к 100.7.1.2 tcpdump :

Маршрутизация

Теперь с парой 10.0.31.12 и 10.0.31.6

Re: Маршрутизация

А что за адрес 100.7.1.4?

У тебя на Jessie 2 маршрута по умолчанию, ходить в интернет будет по маршруту с меньшей метрикой. Т.е. вот этот:

default via 172.17.4.111 dev ppp0 proto static metric 1024

Вообще вряд ли когда то будет использован(пока первый не удалишь)

Впринципе сеть(локальная) на дебиане настроена правильно:

100.7.1.0/24 dev eth0 proto kernel scope link src 100.7.1.2

НО откуда вот эта строчка у тебя появилась?

169.254.0.0/16 dev eth0 scope link metric 1000

C Windows машин: 1) Подключена только через 3g ip-10.0.31.6

Я подозревал что то неладное. Т.е. ты допустим воткнул ну например какой нибудь USB свисток от Желто-Черных, настроил на нем соединение, и провайдер тебе выдал адреса: 10.0.31.6 — винда 10.0.31.12 — дебиан Ты проверил, ходит ли пинг между этими машинами? Вот прямо между этими двумя IP адресами. Может совершенно легко и НЕ ходить.

Подключена по сети ip адрес 100.7.1.18

Вроде как ты этой машине, зачем то прописал шлюзом саму себя? Я просто не сильно разбираюсь в офтопиковском «route print». ОТкуда на этой машине сеть 100.30.2.0? А так же 101.7.1.0?

В общем мои заключения: — Если ты хочешь чтобы тебе здесь помогли постарайся изложить что ты хочешь сделать в принципе. И приложить к этому решению свою схему сети а-ля как нибудь вот так вот(вторая ссылка в гугле): http://download.upit-systems.com/docs/diagram/general_traffpro_network.jpg В текстовом формате, на листочке ручкой(потом сосканировать/сфотать на телефон), в какой нибудь схеморисовалке. Причем максимально подробно.

— Судя по тому что я увидел, win машина с адресом 100.7.1.18 должна хотя бы пинговать дебиан 100.7.1.2. Но почему то на win машине много каких то не понятных мне сетей, выше я указал каких.

Источник

Оцените статью