nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Дело не в output'e, он тут вообще ни при чем. Пакеты уходят без проблем, ответ от серверов на эти пакеты идет на инпут на рандомный порт и если инпут закрыть конекта не будет,Что это за пакеты такие которые ломятся туда где их не ждут?
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
white_ghost |
|
Темы:
13
Сообщения:
297
Участник с: 22 января 2013
|
nafanjaнежданчикиДело не в output'e, он тут вообще ни при чем. Пакеты уходят без проблем, ответ от серверов на эти пакеты идет на инпут на рандомный порт и если инпут закрыть конекта не будет,Что это за пакеты такие которые ломятся туда где их не ждут? |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
white_ghostПравильно, это обычная проблема любого фаерволла, и решается она как минимум двумя способами: 1) statefull-фаерволл. Современный способ. Состояния соединения отслеживаются (conntrack = "connection tracking"), ответные пакеты пропускаются по отдельному правилу для ответных. Именно statefull-фаерволлы используются для защиты от атак, а не защита для ограждения от атак фаерволла :) 2) stateless-фаерволл. Старорежимный способ. Берётся весь диапазон "рандомных" портов, которые обычно не прослушиваются демонами, но на которые может прийти ответ, и разрешается скопом. Посмотреть диапазон можно тут: cat /proc/sys/net/ipv4/ip_local_port_range правила антифлуда пишут впервую очередь под conntrack, при том даже не то что бы избавить машину от флуда, а для того чтобы этот флуд в обработку к conntrack не попалНезависимо от фаерволла, ядро всё равно будет принимать пакеты (кроме отброшенных фильтром), и всё равно будет собирать их в соединения. Отказавшись от использования conntrack, вы просто лишите фаерволл этой информации, но не отмените её сбор, без которого никакое соединение всё равно не установилось бы. чтобы этот флуд в обработку к conntrack не попал, видимо потому что эта штука грузит таки прилично проц. а торренты с онлайн игрушками в этом смысле легализованый софт для DDoSАгетнство ОБС? |
white_ghost |
|
Темы:
13
Сообщения:
297
Участник с: 22 января 2013
|
1) statefull-фаерволл. Современный способ. Состояния соединения отслеживаются (conntrack = "connection tracking"), ответные пакеты пропускаются по отдельному правилу для ответных. Именно statefull-фаерволлы используются для защиты от атак, а не защита для ограждения от атак фаерволла :)А что такое "состояние соединения"? чем отличается conntrack от state? 2) stateless-фаерволл. Старорежимный способ. Берётся весь диапазон "рандомных" портов, которые обычно не прослушиваются демонами, но на которые может прийти ответ, и разрешается скопом. Посмотреть диапазон можно тут:что это за диапазон? вы видимо имеете ввиду 0-1023 и все остальное? сам видел в outposte как ответы прилетают на порты <1024 порта, а приложений которые слушают за 1023 портом много больше тех что слушают в диапазоне. Независимо от фаерволла, ядро всё равно будет принимать пакеты (кроме отброшенных фильтром), и всё равно будет собирать их в соединения. Отказавшись от использования conntrack, вы просто лишите фаерволл этой информации, но не отмените её сбор, без которого никакое соединение всё равно не установилось бы.Фаервол же часть ядра сами же писали, выходит что ядро в любом случае принимает все пакеты, при том совсем все, даже те которые идут соседу и даже "отброшеные фильтром" потому что чтобы пакет отбросить его сначало нужно принять и прочитать. Ключевое слово сдесь прочитать. Вот вы что быстрее сделаете: 1. Прочитаете название книги 2. прочитаете всю книгу 3. прочитаете всю книгу и напишите рецензию? С пакетами та же история. Агентство ОБС?что это? |
white_ghost |
|
Темы:
13
Сообщения:
297
Участник с: 22 января 2013
|
а сам приход не грузит. |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
white_ghostгугл знает :) А что такое "состояние соединения"? чем отличается conntrack от state?Словом state в iptables обозначается устаревшая, более принимивная реализация того же самого. В настоящее время рекомендуется использовать conntrack. Если бы вы посмотрели, что выдаёт указанная команда2) stateless-фаерволл. Старорежимный способ. Берётся весь диапазон "рандомных" портов, которые обычно не прослушиваются демонами, но на которые может прийти ответ, и разрешается скопом. Посмотреть диапазон можно тут:что это за диапазон? вы видимо имеете ввиду 0-1023 и все остальное? сам видел в outposte как ответы прилетают на порты <1024 порта, а приложений которые слушают за 1023 портом много больше тех что слушают в диапазоне. $ cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000 Имеется в виду диапазон портов, которые "рандомно" открываются исходящими соединениями. Диапазон 0-1023 – это совсем другое – привилегированный диапазон, для открытия которого требуются особые права или рут. Фаервол же часть ядра сами же писали, выходит что ядро в любом случае принимает все пакеты, при том совсем все, даже те которые идут соседу и даже "отброшеные фильтром" потому что чтобы пакет отбросить его сначало нужно принять и прочитать.Допустим, у вас НЕТ фаерволла, или есть, но он НЕ использует conntrack. У вас запущен сервер OpenSSH, который слушает TCP-порт 22. Это значит, что OpenSSH запросил у ядра открытие сетевого сокета, но с пакетами работает именно ядро, а демон только принимает и отправляет данные, которые передаются ВНУТРИ пакетов. Ядро читает ВСЕ IP-пакеты, адресованные хосту, отбирает из них те, которые содержат TCP-заголовки, по данным из заголовков определяет порт и конкретное соединение, выстраивает пакеты в правильном порядке (они могут приходить в неправильном), и т.д., короче – полностью отрабатывает процедуры, предусмотренные протоколом TCP, и это безо всякого conntrack, который, как вы где-то слышали (ОБС же!), якобы сильно грузит процессор :) |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
Кстати, о порядке загрузки. Не всегда дело в порядке запуска юнитов – если сеть поднимается статически, в юнит/скрипт поднятия сети НЕ включена проверка состояния интерфейса, а сетевая карта относится к числу некоторых, которые поднимаются ДОЛГО (до нескольких секунд), то может случиться так, что юнит рапортует об успешно поднятой сети (команды отданы), а на самом деле она всё ещё раскочегаривается. Попробуйте у себя опустить сеть ip link set eth0 down ip link set eth0 up; while [[ $(< /sys/class/net/eth0/operstate) != "up" ]] ; do sleep 0.1; done Если поднимется мгновенно – не спешите, попробуйте то же самое из состояния, когда сеть после загрузки ещё ни разу не поднималась. |
white_ghost |
|
Темы:
13
Сообщения:
297
Участник с: 22 января 2013
|
гугл знает :)а это, в доках по настройке видел. Словом state в iptables обозначается устаревшая, более принимивная реализация того же самого. В настоящее время рекомендуется использовать conntrack.А чем то они отличаются в принципе работы? В в генте при загрузки выдает conntrack deprecated and will be soon removed. Имеется в виду диапазон портов, которые "рандомно" открываются исходящими соединениями.но это не так, могу скрины выложить, входящие идут на все порты а не только из этого диапазона в юнит/скрипт поднятия сети НЕ включена проверка состояния интерфейсаsub-system-net-devices-enp1s5.devices оно? |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
white_ghost"Всё смешалось в доме Облонских" (ц) -m conntrack не может быть deprecated, а вот -m state так и есть. Ещё может быть deprecated много чего, вспоминайте точнее. но это не так, могу скрины выложить, входящие идут на все порты а не только из этого диапазонаВходящие МОГУТ ИДТИ ВООБЩЕ НА ВСЕ ПОРТЫ, на то они и входящие. Не всякие входящие надо принимать, они могут идти хоть на деревню дедушке. Открыты могут быть: 1) прослушиваемые порты, которые обычно явно задаются в настройках открывающих их программ, а значит могут быть столь же явно прописаны в фаерволл. Программа под рутом может открыть ЛЮБОЙ порт, а под пользователем – любой, КРОМЕ 0-1023. 2) автоматически открываемые при создании исходящих соединений без указания порта. В этом случае они берутся из диапазона в /proc/sys/net/ipv4/ip_local_port_range , по умолчанию 32768-61000. sub-system-net-devices-enp1s5.devices оно?Нет, конечно. Это автогенерированный юнит устройства. Вспоминайте, как и чем настраивали сеть. |
white_ghost |
|
Темы:
13
Сообщения:
297
Участник с: 22 января 2013
|
Нет, конечно. Это автогенерированный юнит устройства.угу так не работает. Зато если прописать в requares after к sshd network.target внешне все работает. Правда интерфейс получился неубиваемый в прямом смысле, даже если кабель вытащить, все равно UP c ипишником и висящем на нем sshd, не совсем то что я хотел получить, но уже что-то. В юнитах я еще увидел отключеный sshd.socket как я понял он для запуска ssh при прилете на порт пакета, и sshd@.service вот он для чего и как им пользоватся? настраивал netcfg |