systemd порядок запуска юнитов.

Дело не в output'e, он тут вообще ни при чем. Пакеты уходят без проблем, ответ от серверов на эти пакеты идет на инпут на рандомный порт и если инпут закрыть конекта не будет,
Что это за пакеты такие которые ломятся туда где их не ждут?
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
Дело не в output'e, он тут вообще ни при чем. Пакеты уходят без проблем, ответ от серверов на эти пакеты идет на инпут на рандомный порт и если инпут закрыть конекта не будет,
Что это за пакеты такие которые ломятся туда где их не ждут?
нежданчики
white_ghost
ответ от серверов на эти пакеты идет на инпут на рандомный порт и если инпут закрыть конекта не будет, а если открыть то какой порт указать прилететь то может на любой?
Правильно, это обычная проблема любого фаерволла, и решается она как минимум двумя способами:

1) statefull-фаерволл. Современный способ. Состояния соединения отслеживаются (conntrack = "connection tracking"), ответные пакеты пропускаются по отдельному правилу для ответных. Именно statefull-фаерволлы используются для защиты от атак, а не защита для ограждения от атак фаерволла :)

2) stateless-фаерволл. Старорежимный способ. Берётся весь диапазон "рандомных" портов, которые обычно не прослушиваются демонами, но на которые может прийти ответ, и разрешается скопом. Посмотреть диапазон можно тут:
cat /proc/sys/net/ipv4/ip_local_port_range
Такой способ годится для случаев, когда пакетный фильтр является отдельной программой, а не частью ядра, и потому не имеет информации о состоянии соединений.

правила антифлуда пишут впервую очередь под conntrack, при том даже не то что бы избавить машину от флуда, а для того чтобы этот флуд в обработку к conntrack не попал
Независимо от фаерволла, ядро всё равно будет принимать пакеты (кроме отброшенных фильтром), и всё равно будет собирать их в соединения. Отказавшись от использования conntrack, вы просто лишите фаерволл этой информации, но не отмените её сбор, без которого никакое соединение всё равно не установилось бы.

чтобы этот флуд в обработку к conntrack не попал, видимо потому что эта штука грузит таки прилично проц. а торренты с онлайн игрушками в этом смысле легализованый софт для DDoS
Агетнство ОБС?
1) statefull-фаерволл. Современный способ. Состояния соединения отслеживаются (conntrack = "connection tracking"), ответные пакеты пропускаются по отдельному правилу для ответных. Именно statefull-фаерволлы используются для защиты от атак, а не защита для ограждения от атак фаерволла :)
А что такое "состояние соединения"? чем отличается conntrack от state?
2) stateless-фаерволл. Старорежимный способ. Берётся весь диапазон "рандомных" портов, которые обычно не прослушиваются демонами, но на которые может прийти ответ, и разрешается скопом. Посмотреть диапазон можно тут:
что это за диапазон? вы видимо имеете ввиду 0-1023 и все остальное? сам видел в outposte как ответы прилетают на порты <1024 порта, а приложений которые слушают за 1023 портом много больше тех что слушают в диапазоне.
Независимо от фаерволла, ядро всё равно будет принимать пакеты (кроме отброшенных фильтром), и всё равно будет собирать их в соединения. Отказавшись от использования conntrack, вы просто лишите фаерволл этой информации, но не отмените её сбор, без которого никакое соединение всё равно не установилось бы.
Фаервол же часть ядра сами же писали, выходит что ядро в любом случае принимает все пакеты, при том совсем все, даже те которые идут соседу и даже "отброшеные фильтром" потому что чтобы пакет отбросить его сначало нужно принять и прочитать. Ключевое слово сдесь прочитать. Вот вы что быстрее сделаете: 1. Прочитаете название книги 2. прочитаете всю книгу 3. прочитаете всю книгу и напишите рецензию? С пакетами та же история.
Агентство ОБС?
что это?
а сам приход не грузит.
white_ghost
чтобы этот флуд в обработку к conntrack не попал, видимо потому что эта штука грузит таки прилично проц. а торренты с онлайн игрушками в этом смысле легализованый софт для DDoS
Natrio
Агентство ОБС?
что это?
гугл знает :)

А что такое "состояние соединения"? чем отличается conntrack от state?
Словом state в iptables обозначается устаревшая, более принимивная реализация того же самого. В настоящее время рекомендуется использовать conntrack.

2) stateless-фаерволл. Старорежимный способ. Берётся весь диапазон "рандомных" портов, которые обычно не прослушиваются демонами, но на которые может прийти ответ, и разрешается скопом. Посмотреть диапазон можно тут:
cat /proc/sys/net/ipv4/ip_local_port_range
что это за диапазон? вы видимо имеете ввиду 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, который, как вы где-то слышали (ОБС же!), якобы сильно грузит процессор :)
Кстати, о порядке загрузки.
Не всегда дело в порядке запуска юнитов – если сеть поднимается статически, в юнит/скрипт поднятия сети НЕ включена проверка состояния интерфейса, а сетевая карта относится к числу некоторых, которые поднимаются ДОЛГО (до нескольких секунд), то может случиться так, что юнит рапортует об успешно поднятой сети (команды отданы), а на самом деле она всё ещё раскочегаривается.

Попробуйте у себя опустить сеть
ip link set eth0 down
а потом поднять с ожиданием действительного поднятия
ip link set eth0 up; while [[ $(< /sys/class/net/eth0/operstate) != "up" ]] ; do sleep 0.1; done
Вместо eth0 подставьте ваш интерфейс.

Если поднимется мгновенно – не спешите, попробуйте то же самое из состояния, когда сеть после загрузки ещё ни разу не поднималась.
гугл знает :)
а это, в доках по настройке видел.
Словом state в iptables обозначается устаревшая, более принимивная реализация того же самого. В настоящее время рекомендуется использовать conntrack.
А чем то они отличаются в принципе работы? В в генте при загрузки выдает conntrack deprecated and will be soon removed.
Имеется в виду диапазон портов, которые "рандомно" открываются исходящими соединениями.
Диапазон 0-1023 – это совсем другое – привилегированный диапазон, для открытия которого требуются особые права или рут.
но это не так, могу скрины выложить, входящие идут на все порты а не только из этого диапазона
в юнит/скрипт поднятия сети НЕ включена проверка состояния интерфейса
sub-system-net-devices-enp1s5.devices оно?
white_ghost
В в генте при загрузки выдает conntrack deprecated and will be soon removed.
"Всё смешалось в доме Облонских" (ц)
-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 оно?
Нет, конечно. Это автогенерированный юнит устройства.
Вспоминайте, как и чем настраивали сеть.
Нет, конечно. Это автогенерированный юнит устройства.
Вспоминайте, как и чем настраивали сеть.
угу так не работает. Зато если прописать в requares after к sshd network.target внешне все работает. Правда интерфейс получился неубиваемый в прямом смысле, даже если кабель вытащить, все равно UP c ипишником и висящем на нем sshd, не совсем то что я хотел получить, но уже что-то. В юнитах я еще увидел отключеный sshd.socket как я понял он для запуска ssh при прилете на порт пакета, и sshd@.service вот он для чего и как им пользоватся? настраивал netcfg
 
Зарегистрироваться или войдите чтобы оставить сообщение.