Почему пакеты от клиента knock приходят в рандомном порядке?
Использую knock под винду и под линукс
запускаю стандартно
knock -v myip 6000 7000 8000 9000
Смотрю снифером или tcpdump пакеты отправляются в нужном порядке
Ответы приходят уже рандомно
Смотрю на сервере tcpdump, что с винды, что с линукса пакеты от knock приходят в несколько рандомном поряжке, в нужном порядке могут прийти раз из 10 или 20 попыток.
То есть отправляю
knock -v myip 6000 7000 8000 9000
А приходит последовательность 8000 9000 7000 6000
Такое ощущение что в ядре выключен какой то порядок пакетов для пущего ускорения
Сервер с knockd крутится на ubuntu 14.04 проверил на двух разных серверах в разных датацентрах.
Клиенты тестил с разных точек с винды и с линукса.
В sysctl не тюнил сетевой стек, только выключил ipv6, но вроде это не должно было повлиять.
он по умолчанию отправляет по tcp , как показала практика не гарантирует
к тому же там на разные порты шлется, а не на один, так что tcp тут вроде как не должно ничего гарантировать
Пума Тайланд: там же не просто "шлётся". Там коннект создаётся. И, видимо, knock создаёт коннекты параллельно, вот пакеты и приходят вперемешку. Попробуйте так "knock -v myip 6000 && knock -v myip 7000 && knock -v myip 8000 && knock -v myip 9000"
это задержки сети и маршрутизации. Я наблюдал такой эффект при посылке через мобильную сеть. Причем иногда приходят правильно, иногда нет. Выход - порты TCP + подбор таймаутов на сервере и на клиенте.