Рейтинг:0

Имеет ли значение порядок параметров iptables в правиле?

флаг in

Есть ли разница, когда параметры порядок изменен между этими 3 правилами?

iptables -A INPUT -p tcp --syn --dport 9000 -m set --match-set someSet src -j ПРИНЯТЬ
iptables -A INPUT -m set --match-set someSet src --dport 9000 -p tcp --syn -j ПРИНЯТЬ
iptables -A INPUT --dport 9000 -p tcp --syn -m set --match-set someSet src -j ПРИНЯТЬ

Соответствует ли обход порядку опций в правилах?

Возьмем, к примеру, это правило:

iptables -A INPUT -p tcp --syn --dport 9000 -m set --match-set someSet src -j ПРИНЯТЬ

Означает ли это, что iptables сначала ищет СИН затем проверьте, равен ли порт назначения 9000, и последний раз ищите совпадение в наборе?

И на этом примере:

iptables -A INPUT -m set --match-set someSet src --dport 9000 -p tcp --syn -j ПРИНЯТЬ

Означает ли это, что iptables сначала ищет совпадение в наборе, затем проверяет, равен ли порт назначения 9000, и в последнюю очередь ищет СИН?

хотя все они дают одинаковый результат при принятии, но они могут быть более оптимизированы при отклонении, если заказ выполняется в iptables параметры.

Рейтинг:0
флаг in

Порядок опций по большей части не имеет значения.

Вы можете проверить это, сохранив правила, вы должны увидеть, что все они заканчиваются одинаково.

Логичный порядок был бы таким: Протокол, порт, состояние, модуль

iTaMaR avatar
флаг in
Что, если набор содержит миллионы ip-адресов... вы не можете ожидать, что производительность будет такой же, если обход начнется с сопоставления набора и упадет на другие
флаг in
Set — это модуль, ожидайте, что он будет проверен последним. Если вы хотите оптимизировать его самостоятельно, используйте отдельные правила, отправляющие трафик в новые цепочки, которые, в свою очередь, выполняют следующую часть сопоставления. Но имейте в виду, что это может быть вовсе не оптимизация.
iTaMaR avatar
флаг in
Я знаю, что цепочка справится с задачей, но я бы предпочел добавить как можно меньше правил, как я могу определить порядок фильтрации в одном правиле?
Ginnungagap avatar
флаг gu
@iTaMaR, вы, вероятно, хотите оптимизировать что-то несущественное.Опять же, вы когда-нибудь проверяли что-нибудь, прежде чем приступать к чрезмерно сложной оптимизации? `ipset` предназначен для обработки больших объемов IP-адресов и стремится обеспечить постоянное время поиска IP-адресов независимо от количества IP-адресов в наборе, поэтому операция должна быть довольно дешевой.
iTaMaR avatar
флаг in
@Ginnungagap Никакой алгоритм для любого набора не может сравниться со сравнением 16 бит друг с другом или сопоставлением «кода операции», нет никакой магии, независимо от того, насколько эффективным он будет !!! И знаете что, по научным причинам это не бенчмаркинг, все, что я спросил, это как iptables фильтрует правила и соблюдается ли порядок..

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.