LINUX.ORG.RU

Вопрос про iptables

 


0

1

Привет. Есть Centos 7. В нём работают правила iptables, но службы iptalbes нет.

Так же есть firewalld, но в нём нём ни каких правил из iptables не видно. В /etc/sysconfig есть «iptables» файлы, но они практически пустые.

На этой машине запущены докер контейнеры, часть правил появились после их запуска.

Как узнать откуда берётся конфиг iptables, или где он лежит?



Последнее исправление: chart41 (всего исправлений: 2)

Ниоткуда. iptables и не используется.

Пакетами всегда рулит ядро, а именно его подсистема netfilter. iptables, firewalld, nftables — просто интерфейсы, с помощью которых человек говорит ему, что делать.

У тебя сейчас через firewalld всё настроено, и потому только его конфиг и есть.

Если хочешь использовать iptables, нужно: https://www.thegeekdiary.com/centos-rhel-7-how-to-switch-to-iptables-from-firewalld/

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 4)
Ответ на: комментарий от Vsevolod-linuxoid

Но ведь в firewalld показывает, что ни каких правил по портам нет, хотя в iptalbes их больше 10.

И команды iptables срабатывают и так. Всё равно обязательно его устанавливать?

И самое главное, как мне добавить закрывающее правило поверх открывающего в firewalld?

То есть допустим в iptables политика accept и есть правило разрешить всё с 0.0.0.0/0 на порт 1234.

Если добавляю правило запретить с 192.168.1.13 хоть в паблик зоне, хоть в докер зоне, оно не срабатывает.

chart41
() автор топика
Ответ на: комментарий от chart41

Но ведь в firewalld показывает, что ни каких правил по портам нет, хотя в iptalbes их больше 10.

Потому что эти правила в iptables, а не в firewalld. И правила iptables могут висеть в оперативной памяти без записи в конфиги, вообще говоря, по умолчанию так и происходит, в конфиги их для сохранения меж перезагрузками сохраняют.

И команды iptables срабатывают и так. Всё равно обязательно его устанавливать?

Он у тебя стоит, очевидно. И срабатывают они потому, что сетью рулит netfilter из ядра, а iptables и firewalld лишь говорят ему, что делать, и показывают лишь свои конфиги, что внутри самого netfilter не видят. И да, потому их и не стоит использовать одновременно. Или всё настраивать через iptables, или всё через firewalld, чтобы не было путаницы.

И самое главное, как мне добавить закрывающее правило поверх открывающего в firewalld?

Навскидку не отвечу, слаб в firewalld. Читай его документацию или переходи на iptables, если его знаешь лучше.

То есть допустим в iptables политика accept и есть правило разрешить всё с 0.0.0.0/0 на порт 1234.

Если добавляю правило запретить с 192.168.1.13 хоть в паблик зоне, хоть в докер зоне, оно не срабатывает.

Одновременное использование iptables и firewalld невозможно. Ну то есть возможно, но это будет полный мусор. Или — или.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)

Прочитал тред и должен сказать, что очень туманно ты выражаешь мысли, отчего скорее всего все непонятки.

firewalld может работать iptables/netfilter или nftables

Посмотреть правила netfilter можно так

iptables -L

правила nftables можно посмотреть так

nft list

AVL2 ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Немного не так. firewalld – это обертка над iptables или nftables (можно назначить любой backend), он напямую их вызывает.

Одновременное использование iptables и firewalld возможно. Только для того, чтобы firewalld не попортил правила, задаваемые напрямую, следует использовать firewalld direct rules вместо вызова iptables. Заодно это решеат вопрос с единым местом хранения правил.

i586 ★★★★★
()
Ответ на: комментарий от i586

Короче я ничего не устанавливал, создал службу, которая делает тупо iptables правила в первые строки,

и если оно фэилит и-за того, что после перезагрузки iptables занят firewalld’ом, то перезапускается раз в 5 сек.

Пока взрыва небыло…

chart41
() автор топика
Последнее исправление: chart41 (всего исправлений: 1)