я ничё такого не настраивал, как собсно, не настраивал НИГДЕ. Но на одной машине работает перекидывание пакетов с интерфейса на интерфейс, а на другой нет, вот ведь где загвоздка-то. Я просто клонировал машину и всё. Я же не зря привёл пример удачного пингования. Зеркальный как бы пример. А настройки везде одинаковые. Ну кроме ip-адресов.Hephaestus писал: ↑01.09.2020 20:37Правильно. Но это не всё.
Представьте себе процесс.
Когда машина пытается отправить пакет в "чужую" сеть, она напрямую этого сделать не может.
Поэтому пакет пойдет в соответствии с таблицей маршрутизации.
А в таблице маршрутизации первым пунктом стоит адрес шлюза. Для этого достаточно в настройках сети заполнить gateway. И пакет пойдет через него (через шлюз).
Итак, на шлюз прилетает сетевой пакет. Перекидывание в ядре разрешено. Теоретически шлюз может перекинуть этот пакет (пропустить через себя и передать дальше).
Остается решить два вопроса:
1. Каждый ли пакет нужно передавать дальше или некоторые пакеты нужно отбросить, например.
2. Если пакет передавать дальше, то КУДА передавать? На какой адрес?
Сам факт наличия двух адресов на шлюзе не означает автоматическое перенаправление пакетов между ними. Адресов может быть и больше. Поэтому перенаправление должно быть настроено явно (откуда, куда, протокол и пр.).
Вот эти моменты настроены у Вас?
Почему не работает утилита traceroute? (Проверяем доступность узла в локальной сети.)
Модераторы: Warderer, Модераторы разделов
Re: Почему не работает утилита traceroute?
Я просто читаю маны.
Re: Почему не работает утилита traceroute?
если у вас больше одной сети, то про маршруты должны знать все: и отправитель, и получатель и все промежуточные узлы. Показывайте маршрутизацию (ip route) на всех них.
Спасибо сказали:
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Почему не работает утилита traceroute?
Удачное пингование у Вас между машинами 192.168.1.1 и 192.168.2.1,
потому что между ними есть машина 192.168.2.2, которая шлюз и на которой это самое перенаправление
между 192.168.1.1 и 192.168.2.1 настроено, пусть и неявно.
А вот машина 192.168.3.2 - она каким образом вписывается сюда? Правильно, никаким.
Адреса 192.168.1.1 и 192.168.2.1 в разных подсетях, но между ними есть шлюз - 192.168.2.2, который перенаправляет.
Но адреса 192.168.2.2 и 192.168.3.2 вообще-то тоже в разных подсетях, а между ними кто должен перенаправлять? Между ними-то шлюза нет.
Может быть, машина 192.168.2.2 должна это делать?
А она об этом знает? Она имеет адрес в подсети 192.168.3.0? Нет.
А машина 192.168.3.2 имеет адрес в подсети 192.168.2.0? Тоже нет.
Так кто должен перенаправлять между 192.168.2.2 и 192.168.3.2?
Неизвестно.
Спасибо сказали:
Re: Почему не работает утилита traceroute?
Куда идти пакету с интерефейса 192.168.2.2? Смотрится таблица маршрутизации или шлюз по умолчанию, или хрен знает, что у них там смотрится. но и в том и другом случае выбирается ip-адрес 192.168.2.1, разве нет? И идёт себе спокойно туда. А на той машине, куда пакет идёт, (debian2132) настроено перекидывание пакетов с интерфейса на интерфейс. Я настраивал, по крайней мере. Херово как-то настраивал.Hephaestus писал: ↑01.09.2020 21:05Удачное пингование у Вас между машинами 192.168.1.1 и 192.168.2.1,
потому что между ними есть машина 192.168.2.2, которая шлюз и на которой это самое перенаправление
между 192.168.1.1 и 192.168.2.1 настроено, пусть и неявно.
А вот машина 192.168.3.2 - она каким образом вписывается сюда? Правильно, никаким.
Адреса 192.168.1.1 и 192.168.2.1 в разных подсетях, но между ними есть шлюз - 192.168.2.2, который перенаправляет.
Но адреса 192.168.2.2 и 192.168.3.2 вообще-то тоже в разных подсетях, а между ними кто должен перенаправлять? Между ними-то шлюза нет.
Может быть, машина 192.168.2.2 должна это делать?
А она об этом знает? Она имеет адрес в подсети 192.168.3.0? Нет.
А машина 192.168.3.2 имеет адрес в подсети 192.168.2.0? Тоже нет.
Так кто должен перенаправлять между 192.168.2.2 и 192.168.3.2?
Неизвестно.
Я просто читаю маны.
Re: Почему не работает утилита traceroute?
только я уже забыл что с чем не связывается, а картинка (красивая, но не слишком информативная) осталась на первой странице. Как по-вашему должны ходить пакеты? И где они затыкаются?
Насчёт альтернативных маршрутов — это не мешает, у самого так. Работает, рулят метрики.
Насчёт альтернативных маршрутов — это не мешает, у самого так. Работает, рулят метрики.
Добавлено (21:21):
вы вообще чего хотите: научиться работать с кучей сетей или чтобы была связь? Как-то по два интерфейса на гостевых системах мне совсем непонятны- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Почему не работает утилита traceroute?
жучара
Я писал свой предыдущий пост до того, как Вы предъявили таблицы маршрутизации.
Уж, извините.
Итак,
У вас машина 2132 имеет адреса в двух подсетях:
192.168.2.0 и 192.168.3.0, значит, адрес 192.168.3.2 - шлюз между 192.168.2.2 и 192.168.3.2.
Ну, получается 192.168.3.2 - сама себе шлюз, да.
Но машина 192.168.2.2 про этот шлюз знать ничего не знает - у неё в таблице маршрутизации нет адреса 192.168.3.2. А собственного адреса в подсети 192.168.3.0 у неё тоже нет.
Следовательно, пинги не пойдут.
А вот tractroure от 192.168.3.2 к 192.168.2.2 может быть и долетит, поскольку у машины 192.168.3.2 есть собственный адрес в подсети 192.168.2.0.
Я писал свой предыдущий пост до того, как Вы предъявили таблицы маршрутизации.
Уж, извините.
Итак,
Судя по Вашей таблице маршрутизации пойдет на 192.168.1.2 - это первая строка default в таблице.
Дело не в этом.
У вас машина 2132 имеет адреса в двух подсетях:
192.168.2.0 и 192.168.3.0, значит, адрес 192.168.3.2 - шлюз между 192.168.2.2 и 192.168.3.2.
Ну, получается 192.168.3.2 - сама себе шлюз, да.
Но машина 192.168.2.2 про этот шлюз знать ничего не знает - у неё в таблице маршрутизации нет адреса 192.168.3.2. А собственного адреса в подсети 192.168.3.0 у неё тоже нет.
Следовательно, пинги не пойдут.
А вот tractroure от 192.168.3.2 к 192.168.2.2 может быть и долетит, поскольку у машины 192.168.3.2 есть собственный адрес в подсети 192.168.2.0.
Последний раз редактировалось Hephaestus 02.09.2020 07:28, всего редактировалось 1 раз.
Спасибо сказали:
Re: Почему не работает утилита traceroute?
Попробуйте на второй машине
Shell
ping -c2 -I 127.0.0.1 192.168.2.1
ping -c2 -I 127.0.0.1 192.168.3.2
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Почему не работает утилита traceroute?
Давайте без "как бы". Вы нигде не указали маску сети, поэтому ровным счётом ничего не понятно. Показывайте ip a и ip r с обеих машин.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Почему не работает утилита traceroute?
когда не знается, куда слать, куда шлётся? Правильно на шлюз по умолчанию. То есть на 192.168.2.1, то есть как раз на машину debian2132Hephaestus писал: ↑01.09.2020 21:23Но машина 192.168.2.2 про этот шлюз знать ничего не знает - у неё в таблице маршрутизации нет адреса 192.168.3.2. А собственного адреса в подсети 192.168.3.0 у неё тоже нет.
Единственное, что соединение mer- то или не то? А вот мы щас и посмотрим: Всё то.
Я просто читаю маны.
Re: Почему не работает утилита traceroute?
Bizdelnick
Да ладно: наверняка класическая "классовая" модель
Да ладно: наверняка класическая "классовая" модель
Re: Почему не работает утилита traceroute?
везде 24 и ip a и ip route показывал. А, впрочем:Bizdelnick писал: ↑01.09.2020 21:32Давайте без "как бы". Вы нигде не указали маску сети, поэтому ровным счётом ничего не понятно. Показывайте ip a и ip r с обеих машин.
На машине debian1122: На другой машине в следующем сообщении.
Я просто читаю маны.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Почему не работает утилита traceroute?
Согласно ip route, уйдет на 192.168.1.2 (метрика 100), а не на 192.168.2.1 (метрика 101).
А вот что приоритетнее: ip route или настройки nmcli, я судить не берусь.
Спасибо сказали:
Re: Почему не работает утилита traceroute?
То что вы пытаетесь создать подключение сразу через 2 интерфейса да еще посредством менеджера это нонсенс.
Это не упрощенная схема. Вдобавок вы так не масштабируете сеть ни когда. Выберите правильную топологию из условия задачи. Я побыстрому набросала возможные варианты которые могут масштабироваться сколько угодно. В первом варианте я поставила 2 шлюза на четыре сети, хотя по факту у вас 3 но это для примера и чтобы вас лишний раз не запутывать. Каждый квадратик это отдельная виртуальная машина
- Вложения
-
- net.png (52.59 КБ) 785 просмотров
Последний раз редактировалось olecya 01.09.2020 23:27, всего редактировалось 1 раз.
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Почему не работает утилита traceroute?
Нет никакого приоритета. NM что-то там пытается настроить, а ip показывает, что реально настроено и работает.Hephaestus писал: ↑01.09.2020 21:50А вот что приоритетнее: ip route или настройки nmcli, я судить не берусь.
Добавлено (23:33):
А точнее, не уйдёт, потому что указан интерфейс 192.168.2.2/24. А на этой машине форвардинг наверняка никто не включал.Hephaestus писал: ↑01.09.2020 21:50Согласно ip route, уйдет на 192.168.1.2 (метрика 100), а не на 192.168.2.1 (метрика 101).
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Почему не работает утилита traceroute?
Можно вывести статус какие интерфейсы управляются менеджером nmcli dev statusBizdelnick писал: ↑01.09.2020 23:15Нет никакого приоритета. NM что-то там пытается настроить, а ip показывает, что реально настроено и работает.
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Почему не работает утилита traceroute?
Да пофиг. Это лишняя информация, которая только будет отвлекать от сути.
Добавлено (23:48):
Впрочем, для верности хорошо бы глянуть ip r get 192.168.3.2 from 192.168.2.2
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Почему не работает утилита traceroute?
я два миллиарда раз написал, что включал.Bizdelnick писал: ↑01.09.2020 23:15А точнее, не уйдёт, потому что указан интерфейс 192.168.2.2/24. А на этой машине форвардинг наверняка никто не включал.
Я просто читаю маны.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Почему не работает утилита traceroute?
жучара
Еще раз для понимания:
Таблица маршутизации одна на все интерфейсы. Соответственно и шлюз один.
Я вообще не знаю, возможно ли такое, что в таблице маршрутизации несколько записей default и каждая срабатывает в зависимости от метрики.
Рабочие варианты такого вида мне не встречались.
В slackware, например, вообще нельзя указать в конфиге несколько gateway. Можно только один раз.
Соответственно, и запись default в таблице маршрутизации будет одна.
Можно, конечно, туда напихать разными способами и две, и три, но работать будет только одна - та, у которой метрика меньше.
Насколько я помню, в Debian точно так же.
Теперь по Вашей сети.
У Вас на машине 1122 получилось (силами разных способов настройки) несколько записей default в таблице маршрутизации.
Но сработает та, у которой метрика меньше (192.168.1.2).
Поэтому поэтому пакеты с 192.168.2.2 пойдут на 192.168.1.2, а не на 192.168.2.1, как Вы того ожидаете.
Следовательно, пинга между 192.168.2.2 и 192.168.3.2 не будет.
Уберите из таблицы марштуризации адрес 192.168.1.2,
останется адрес 192.168.2.1, пакеты пойдут через него, как следствие, начнет пинговаться 192.168.3.2.
Кстати, адрес шлюза 192.168.1.2 на машине 1122 вообще зачем?
Она и так находится в подсети 192.168.1.0, зачем ей ещё шлюз в эту же подсеть?
Или это софтина какая?
Еще раз для понимания:
Таблица маршутизации одна на все интерфейсы. Соответственно и шлюз один.
Я вообще не знаю, возможно ли такое, что в таблице маршрутизации несколько записей default и каждая срабатывает в зависимости от метрики.
Рабочие варианты такого вида мне не встречались.
В slackware, например, вообще нельзя указать в конфиге несколько gateway. Можно только один раз.
Соответственно, и запись default в таблице маршрутизации будет одна.
Можно, конечно, туда напихать разными способами и две, и три, но работать будет только одна - та, у которой метрика меньше.
Насколько я помню, в Debian точно так же.
Теперь по Вашей сети.
У Вас на машине 1122 получилось (силами разных способов настройки) несколько записей default в таблице маршрутизации.
Но сработает та, у которой метрика меньше (192.168.1.2).
Поэтому поэтому пакеты с 192.168.2.2 пойдут на 192.168.1.2, а не на 192.168.2.1, как Вы того ожидаете.
Следовательно, пинга между 192.168.2.2 и 192.168.3.2 не будет.
Уберите из таблицы марштуризации адрес 192.168.1.2,
останется адрес 192.168.2.1, пакеты пойдут через него, как следствие, начнет пинговаться 192.168.3.2.
Кстати, адрес шлюза 192.168.1.2 на машине 1122 вообще зачем?
Она и так находится в подсети 192.168.1.0, зачем ей ещё шлюз в эту же подсеть?
Добавлено (07:48):
Схему руками рисовали?
Или это софтина какая?
Re: Почему не работает утилита traceroute?
Да руками, при помощи плагина к vim. 7 лет уже не обновлялся но пока работает без проблем. Обычно скачиваю с зеркала drawIt. Проект на гитхабе DrawIt. Удобство желает лучшего но для мелких блок схем и не регулярного использования быстрее чем разбираться с графической мордой навороченного редактора.
Откройте любую сетевую спецификацию например RFC 793. Не знаю на чем там это выполнялось но все тоже самое можно сделать при некоторой практике и с этим плагином.
Главное понимать что рисунок блок схемы это лист из знаков и пробелов и когда нужно что то подписать или внести изменения необходимо использовать замену, а не вставку. Перемещаешь курсор hjkl, рисуешь - Space и потом <- ^-v-> стрелки, стираешь - Space и потом стрелки. Это главное, все остальное подтянется. Повторюсь, некоторая сноровка все же потребуется.
Re: Почему не работает утилита traceroute?
Я не понимаю честно что вы тут можете сделать. Ну не встречалась я с подобным диагнозом. Могу тоже только пофантазировать, это бывает приводит к неожиданным результатам. Если я не ошибаюсь то шлюзом у вас назначены собственные ip номера на машинах. Шлюзами надо назначать противоположные машины. Но в любом случае, что если вам на первой машине назначить шлюзом вторую машину с адресом 192.168.2.1 и с сетью 192.168.2.0, а на второй машине оставить по дефолту также один шлюз первой машины с адресом 192.168.2.2 и с той же сетью 192.168.2.0. Думаю это не плохая идея с учетом того что вы как специально назначили такие адреса машинам что не трудно перепутать адреса. Ну и в дополнение если что то заработает то шлюзом на первой машине для ip 192.168.1.1 назначить шлюз 192.168.2.2 на этой же машине. И соответственно на второй машине назначить шлюзом для адреса 192.168.3.2 интерфейс с адресом 192.168.2.1. Но для последнего скорее всего придется поднимать интерфейсы без нетворк менеджера. По крайней мере первую часть можно делать и так.
Последний раз редактировалось olecya 02.09.2020 12:10, всего редактировалось 1 раз.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Почему не работает утилита traceroute?
Вот здесь
Дальше перепечатываю текст с Вашей картинки (вот делать мне больше нечего, ну да ладно):
Shell
default via 192.168.1.2 dev enp0s3 proto static metric 100
И именно из-за этого не будет пингов между 192.168.2.2 и 192.168.3.2
Re: Почему не работает утилита traceroute?
Да не говорите:Hephaestus писал: ↑02.09.2020 07:46жучара
Еще раз для понимания:
Таблица маршутизации одна на все интерфейсы. Соответственно и шлюз один.
Я вообще не знаю, возможно ли такое, что в таблице маршрутизации несколько записей default и каждая срабатывает в зависимости от метрики.
Рабочие варианты такого вида мне не встречались.
Соединений нет, таблица маршрутизации пустая: Четыре соединения добавим: И таблицу маршрутизации смотрим. Получаем кошмар. Наверное, нужно для каждого соединения НЕ ДОБАВЛЯТЬ шлюз по умолчанию. Ну так я откуда знал-то? Я вижу- к каждому соединению все пихают шлюз по умолчанию. Ну и я давай пихать. Я так и считал, что для каждого соединения должен быть шлюз по умолчанию, и это правильно, а ни фига не правильно, оказывается (ну то есть это может быть правильным с учётом метрик и прочей мути). Шлюз по умолчанию для конкретного соединения вдруг становится ОБЩИМ и это нужно учитывать.
То есть всю теорию я читал у Олиферов. Но там никто не бил тапком по столу и внимания на этом не акцентировал, что вот, вы добавляете шлюз по умолчанию для соединения, а он- вуаля- становится общим для всей системы Да, может, это только особенности настроек данной системы.
Я просто читаю маны.
Re: Почему не работает утилита traceroute?
так я это видел. Просто вы спросили про адрес 192.168.1.2, на фига он в таблице маршрутизации, но там, вообще говоря, ещё один примыкающий адрес есть, это 192.168.2.1, я и удивился, про один вы спрашиваете, а про другой нет.
Ну а прописываются они автоматом. Это в посте выше я описан. nmcli неплохо их так туда прописывает.
Я просто читаю маны.