The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Дублирование пакетов;, !*! cement, 23-Июл-20, 15:04  [смотреть все]
Всем привет!

Необходимо организовать дублирование пакетов.
Суть в чем.
Ранее было собрано решение (на nc) для приема трафика (хост: 10.10.10.2); (все норм)
Решил обновиться, и в сети появился новый хост: 10.10.10.3, который принимает трафик, который ранее принимался 10.10.10.2 (отредактировано правило переадресации на маршрутизаторе).

На пожарный случай, хочу продолжать получать тот же трафик по старой схеме. (т.е. чтобы трафик отправленный на 10.10.10.3 дублировался и на 10.10.10.2);


на новом хосте (10.10.10.3) создал правило:


iptables -A PREROUTING -d 10.10.10.3/32 -p tcp --dport 9999 -j TEE --gateway 10.10.10.2

По факту, на старый хост трафик дублируется, но в пакете не меняется dst_host.
На 10.10.10.2 tcpdump-ом вижу что влетает трафик для 10.10.10.3, и логично, он не обрабатывается тем механизмом, которым мне надо.

Подскажите пожалуйста, чего не хватает чтобы продублированный трафик влетел на старый хост с его значением dst_host?

  • Дублирование пакетов;, !*! ACCA, 22:44 , 23-Июл-20 (1) +1
    • Дублирование пакетов;, !*! cement, 10:33 , 24-Июл-20 (2)
      > Осталось догадаться, каким механизмом тебе надо.

      самым бюджетным :)
      в идеале iptables

      > И ещё что про тебя и твой механизм думает TCP. То есть
      > на .3 приходит "SYN", а после этого .3 и .2 два
      > раза ответят вызывающему "SYN_ACK"?

      для понимания ситуации, речь идет про GPS-трекеры, которые "плюют" свои координаты;
      По факту TCP может ограничиться рамками UDP, и этого будет достаточно.

      т.е. было:
      на .2  nc открывал порт, трекеры пушили координаты, которые складывались в базу.

      решил для себя открыть traccar, который я развернул на  .3; и который вроде как нормально работает. И всё-таки хочется перебдеть (получать координаты на .2);

      Для более ясной картины:  .2   .3   - это малинки (raspberrypi), при чем .2 не обновлялась хрен знает сколько, и для её дебиана уже нет поддержки(пакетов);

      в реальности, контроль передачи в данной ситуации, для .2 не нужен (это по поводу ответа вызывающему) .2 успешно отработает то, что влетит;...

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

      • Дублирование пакетов;, !*! ACCA, 23:02 , 24-Июл-20 (4)
        • Дублирование пакетов;, !*! cement, 00:49 , 25-Июл-20 (5)
          >> По факту TCP может ограничиться рамками UDP, и этого будет достаточно.
          > Даже не смешно. Прочитай весь RFC-1180, потом мы сможем разговаривать.
          >> Если подытожить, правильно ли я понял, что в моей ситуации проблема заключается
          >> в открытии сокета на .2, перед тем как принять следующий (важный
          > В твоей ситуации проблема заключается в том, что ты не отличаешь TCP
          > от UDP.

          =))
          UDP-а TCP-ой никогда не станет, а вот TCP UDP имитировать может...

          Спасибо за критику, и советы.
          Ваше мнение о моих проблемах ошибочно, и это подтверждает то, что Вы невнимательно читаете мои ответы, жаль. Искренне надеюсь что у Вас всё гораздо лучше, чем у меня. :) Мне просто показалось, Вы на меня накинулись не по теме вопроса :)

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

          Ниже приведен простой пример telnet-сессии. Надеюсь Вы согласитесь что это будет TCP (по крайней мере мой tcpdump показывает так, и судя по Вашим ответам, Вы уж точно разбираетесь где TCP, а где UDP, у меня ведь с этим трудности, не так ли?).
          Так вот, в моём случае (об этом я ранее уже писал, Вы просто это проигнорировали), рассматривая приведенный пример, после отправки "HELLO WORLD" ожидать от удалённой стороны успешное подтверждение приема пакета (рамки TCP) - не принципиально, т.к. по факту "HELLO WORLD" уже обработается и сохранится тем, чем мне надо;
          В своей терминологии я это (отсутствие подтверждения приёма пакета c "HELLO WORLD") назвал "рамки UDP", жаль что сразу это было не так доходчиво, как я ожидал.(


          ~$ telnet 10.10.10.2 9999
          Trying 10.10.10.2...
          Connected to 10.10.10.2.
          Escape character is '^]'.
          HELLO WORLD
          ^]
          telnet> quit
          Connection closed.

          В любом случае, огромное спасибо за советы. Ведь куда проще раскритиковать, нежели помочь :)
          Горжусь своим собеседником :)

          • Дублирование пакетов;, !*! ACCA, 03:01 , 25-Июл-20 (6)
          • Дублирование пакетов;, !*! ss, 09:12 , 28-Июл-20 (7)
            • Дублирование пакетов;, !*! cement, 22:46 , 28-Июл-20 (10)
              > Вы не понимаете предмет разговора от слова "совсем".
              > Что же до Вашей проблемы - воспользуйтесь поисковиком на предмет "зеркалировать трафик"

              Правильно ли я Вас понимаю, что советуя "зеркалировать трафик", Вы в корне понимаете предмет разговора (не то что я, совсем:) ), и считаете что это поможет в решении изначально поднятого вопроса? И знаете как реализовать задачу, но не расскажите? :) Верно?

              Как предложите зеркалировать трафик, через port-mirror на коммутаторе; или тот вариант, который я уже указал в своем первом сообщении?

              Готов поспорить что Вы невнимательно его почитали, раз затронули тему зеркалирования, и вместо совета по сути (указать чего в моём примере "зеркалирования" не хватает) :) начинаете упорно советовать воспользоваться поисковиком. Спасибо, улыбнуло :)

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


              Это примерно как:
              -Пишу код на [python|js|c], не получается реализовать [фича], код ниже, прошу помощи;
              -Воспользуйся поиском по [python|js|c];

              Вам самим не смешно от своих ответов, или вы действительно загнаны в такие рамки?
              Или, поделитесь, Вашим представлением для чего создан этот форум? (может я не по адресу обратился?)
              Мой ответ по сути - Вы мне не помогли.

  • Дублирование пакетов;, !*! Licha Morada, 21:23 , 24-Июл-20 (3)
    • Дублирование пакетов;, !*! ss, 09:14 , 28-Июл-20 (8)
      • Дублирование пакетов;, !*! Licha Morada, 22:09 , 28-Июл-20 (9)
        • Дублирование пакетов;, !*! cement, 23:24 , 28-Июл-20 (11)
          > Да ну, чего сложного?
          > Увидит в сниффере пакеты с тем dst_host который хотелось, мусор от неудавшихся
          > хэндшейков и что всё равно приложение не работает. И начнёт что-то
          > подозревать. Собственно, "учитывая", в таком случае можно считать что ответ свою
          > задачу выполнил. А если не начнёт, то, может быть, в другой
          > раз.

          Полностью с Вами согласен, (рассматривая конкретно заданный мною вопрос).
          Получив на сетевой интерфейс важный для меня пакет со всеми нужными мне заголовками (вопрос как раз был про них), он действительно не обработается тем механизмом, который у меня уже имеется (nc, который слушает tcp-порт);




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру