Debian 8 — IPTables возвращается к состоянию при каждом пакете

Debian 8 — IPTables возвращается к состоянию при каждом пакете

Проблема: iptablesне может быть изменено. На моем компьютере я могу запустить iptables -F. iptables -Lпоказывает, что он очищен.

Когда какие-либо пакеты приходят или выходят из машины, все правила возвращаются! То же самое происходит, если я делаю iptables-restore < new_settings. Они существуют в течение секунды, но как только пакет приходит, iptablesони возвращаются.

я используюдебиан 8ОС была обновлением сдебиан 7. Изначально это чужой компьютер.

Я проверил и думаю, что это будет что-то из этого:

  • iptables-persistentнет
  • /etc/iptables/не существует
  • Когда я смотрю на процессы , в их названии systemctlнет ничего, что содержало быip

/# systemctl --all | grep ip run-rpc_pipefs.mount loaded active mounted /run/rpc_pipefs systemd-initctl.socket loaded active listening /dev/initctl Compatibility Named Pipe

  • # firewalldВ системе нет .

Где можно найти службы или что-то еще, что меняет конфигурации системы?

решение1

Возможно, вы могли бы использовать audit. Fedora включает его по умолчанию, и он заполняет журнал строками NETFILTER_CFG.

См. этот вопрос:

Аудит изменений в текущей конфигурации iptables

В показанном примере соответствующий процесс — iptables, что может быть не очень полезно. Однако он также записывает ppid, родительский процесс (а также очевидный pid).

В случае, если родительский процесстакженемедленно выходит...

Вы могли бы легко использовать учет процессов ( acctпакет) для отслеживания имен каждого выходящего процесса ( lastcommкоманда). Однако это меньше информации, чем вы могли бы подумать. Я имею в виду "bash" здесь.

Может быть, лучше запустить fatraceдля отслеживания открытых файлов, что включает выполнение программ. Только не пытайтесь передать это, например, через grep - это не сгенерирует никакого вывода, я не знаю почему.

Также естьстраница наexecsnoop. Если вы можете использовать эту программу или любую из предлагаемых ею альтернатив, это будет наиболее простым для интерпретации.

Технически я не допустил fork(). Но я не могу придумать веской причины, по которой вы бы fork()этого не допустили exec(), чтобы создать правила netfilter.

решение2

TL;DRесли у вас возникли странные проблемы с постоянно меняющимися файлами конфигурации, проверьте свои /etc/network/if-*.dфайлы, если вы уже проверили systemdконфигурации.

Оказывается, еще один вариант, где что-то может изменить iptablesкоманду (или что угодно), находится в папках if-up.dили if-down.d, которые вносят изменения на основе подключения к Интернету.

Там /etc/network/была папка для if-pre-up.d, if-up.d, и т.д.

Каждый содержит набор скриптов для запуска при if-*выполнении условия. Таким образом, всякий раз, когда менялись интернет-соединения (что, казалось, было любым изменением в iptables), он запускал скрипт, который /sbin/iptables-restore < /etc/network/iptablesсбрасывал iptables с файлом iptablesв /etc/network/.

Связанный контент