- Сеть есть, пинги не идут.
- Ubuntu не отвечает на ping только с одного компа. Счего начать? См. tcpdump
- заработало
- снова перестало пинговаться
- добавил:
- уже сутки работает нормально.
- Команда ping в Linux
- Как работает ping?
- Команда Ping
- Как пользоваться Ping?
- Выводы
- Linux сервер не пингует кмпьютеры в сети
- Маршрутизация
- Маршрутизация
- Re: Маршрутизация
- Маршрутизация.
- Re: Маршрутизация.
- Маршрутизация
- Маршрутизация
- Маршрутизация
- Маршрутизация
- Маршрутизация
- Маршрутизация
- Re: Маршрутизация
Сеть есть, пинги не идут.
Куда копать? Интернет раздаётся обычным бытовым роутером, dhcp-сервер на нём же.
Попробуйте пропинговать роутер по его айпи 10.0.0.1
Если и он не пингуется, под рутом посмотреть что показывает iptables-save
Обмолвлюсь, что система устанавливалась через net-install и всё было нормально. Проблема всплыла при первом старте системы, больше никаких действий с ОС не производилось.
Кстати, если бы вы привели здесь вывод неработающего пинга, это стало бы ясно сразу же.
Команда ping всегда пишет, от какого узла сети получила “от ворот поворот”, то бишь ICMP-сообшение “host unreacable”, и в данном случае мы бы увидели, что пакеты заворачивает роутер, а не ваш комп.
Что касается причин, то возможно, у роутера диапазон выдаваемых по DHCP адресов почему-то не совпадает с настройками маршрутизации. Если, конечно, другие компьютеры через него у вас успешно выходят в сеть.
$ host ya.ru
?
Я не утверждаю, что это так, но пока это единственное, что приходит в голову. Для бОльшего нужно больше информации.
P.S.
Посмотрел ваш пинг. Если он правда больше ничего не показывает, имеет смысл посмотреть, что показывает tcpdump. Если у вас он не установлен, поставьте одноимённый пакет.
Надо запустить под рутом
Что-то 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 так?
нет в сети такого же ипа? На сервере один интерфейс?
да не обязательно цепочку, просто поставить пару правил с таргетом 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 — более подробный вывод.
Теперь, когда мы рассмотрели основные параметры команды 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 ) твоему модему.
Никогда не используй адреса НЕ из внетрених сетей( 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 машине много каких то не понятных мне сетей, выше я указал каких.
Источник