Задержка, когда iptables icmp правила вступают в силу

Это - каталог, имя которого является "~". Ваша оболочка попытается развернуть "~", если это будет первый символ аргумента, таким образом, необходимо принять специальные меры.

$ mkdir ./~
$ file ./~
./~: directory
$ rm -ri ./~
rm: remove directory ‘./~’? y
3
15.08.2014, 19:27
4 ответа

Из всей предоставленной вами информации, я только догадываюсь, что когда вы удаляете правила, ip-адрес вашего Linux PC больше не находится в iptables conntrack table, поэтому его трафик обрывается. ip-адрес ПК с ОС Windows все еще может отображаться в коннтраковой таблице, поэтому его трафик принимается.

iptables обрабатывает каждое правило сверху вниз. Поэтому порядок правил, который вы определили в iptables очень важен. В вашем случае, ваша цепочка INPUT выглядит следующим образом:

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 127.0.0.0/255.0.0.0 -j ACCEPT
....
-A INPUT -m icmp --icmp-state 8 -j ACCEPT
-A INPUT -m icmp --icmp-state 0 -j ACCEPT

Так что вы можете видеть, даже если вы удалите правила ICMP, если соединение клиента находится в таблице коннтракта, оно все равно принимается iptables.

Вы можете прочитать о iptables conntrack table здесь:

Если соединение увидело трафик в обоих направлениях, то коннтракта запись стирает флаг [НЕИСПРАВЛЯЕМЫЙ], а затем сбрасывает его. Запись что говорит нам о том, что связь не видела трафика в обоих. направления, будет заменен флагом [ASSURED], который будет находиться вблизи до конца входа. Флаг [ASSURED] говорит нам, что это соединение гарантировано, и оно не будет стерто, если мы достигнем максимально возможные отслеживаемые соединения. Таким образом, соединения помечены как [ЗАЩИТАЕТСЯ] не будет стерта, вопреки незастрахованным связям. (те, которые не помечены как [ASSURED]). Сколько соединений, что Таблица отслеживания соединения может храниться в зависимости от переменной, которая может быть задается с помощью функций ip-sysctl в последних ядрах. По умолчанию значение, удерживаемое этой записью, сильно варьируется в зависимости от объема памяти. у тебя есть. На 128 Мб оперативной памяти вы получите 8192 возможных записи, а на 256 МБ оперативной памяти, вы получите 16376 записей. Вы можете прочитать и установить ваш Настройки через /proc/sys/net/ipv4/ip_conntrack_max.

1
27.01.2020, 21:28

Вы можете явно заблокировать протокол ICMP, добавив правило в начале вашего набора правил:

iptables -I INPUT -p icmp -j DROP

Следует отметить одно: СВЯЗАННОЕ, УСТАНОВЛЕННОЕ правило должно быть последнее правило в вашем наборе правил. В противном случае состояние ESTABLISHED будет соответствовать пакетам, которые должны соответствовать другим правилам, в конечном итоге сбрасывая ваши счетчики и делая отладку кошмаром, например, с тем, что вы сейчас испытываете

0
27.01.2020, 21:28

iptables поддерживает некоторое состояние предыдущих/текущих подключений, что может привести к тому, что изменения, которые вы вводите в iptables, будут применяться с задержкой. Чтобы видеть и управлять состоянием, вам сначала нужно установить conntrack:

sudo apt-get conntrack

После этого вы можете ввести

sudo conntrack -L

, чтобы увидеть список предыдущих/текущих подключений в состоянии.

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

sudo conntrack -F

. Однако это уничтожит все открытые в данный момент соединения, даже если действующие правила разрешают их. Вы можете более точно определить, что можно удалить из таблицы состояний. Запустите

sudo conntrack

, чтобы получить базовую справку по команде. Обычно вы имеете дело с таблицей «conntrack», с которой работает команда, если таблица не указана. Например, в моем случае включения или выключения NAT я бы запускал

sudo conntrack -D --any-nat

после ввода соответствующей команды iptables для включения или выключения NAT.

1
27.01.2020, 21:28

это нормальное поведение и то, что RELATED,ESTABLISHED должен делать

«Правило RELATED, ESTABLISHED должно быть последним правилом в ваших правилах» — это полная ерунда, вы не хотите перепрыгивать через всю цепочку для каждого пакета ответов и без явного отклонения/отбрасывания, прежде чем оно не изменит поведение в любом случае, но делает обработку каждого отдельного пакета более дорогой, потому что он оценивает каждое правило, и последний принимает его

получайте удовольствие, пропустите 838 миллионов пакетов через 27 правил в цепочке пересылки без уважительной причины -правильный набор правил упорядочен по правилам с наибольшим числом совпадений вверху и окончательным правилом отклонения/удаления в конце

Цепочка FORWARD (политика DROP 0 пакетов, 0 байтов )num pkts bytes target prot opt ​​in out source target 1 838M 852G ПРИНЯТЬ все--**0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО 2 35M 1912M ВХОДЯЩИЕ все --wan lan 0.0.0.0/0 0.0.0.0/0 0

0
27.01.2020, 21:28

Теги

Похожие вопросы