У меня есть компьютер с CentOS 7, который изначально использует iptables в качестве инструмента настройки брандмауэра.
На компьютере есть док-контейнер, который прослушивает порт 10079.
я хочу использовать брандмауэр заменить iptables.
Обе брандмауэр и iptables работать вне контейнера докеров. Я не запускаю их внутри контейнера.
Итак, я запускаю следующие команды
$ systemctl остановить iptables
# отключить iptables, чтобы он не запускался при следующей перезагрузке системы.
$ systemctl отключить iptables
$ systemctl запустить firewalld
$ systemctl включить firewalld
$ firewall-cmd --list-services
dhcpv6-клиент ssh
Как видно из вывода брандмауэр-cmd --список-служб команда, у меня есть только ssh, и dhcpv6-клиент услуги включены.
Однако одна вещь, которая мне кажется странной, это то, что я все еще могу получить доступ к серверу через порт 10079.
Я думал, что правила цепей iptables станет недействительным после запуска systemctl остановить iptables команда.
Но я был неправ.Потому что я все еще могу получить доступ к службе на компьютере через порт 10079.
Почему я все еще могу получить доступ к порту 10079 после бега systemctl остановить iptables команда?
Вот статус iptables и брандмауэр
$ systemctl статус iptables
✓ iptables.service — межсетевой экран IPv4 с iptables
   Загружено: загружено (/usr/lib/systemd/system/iptables.service; отключено; настройка поставщика: отключена)
   Активен: неактивен (мертв) с пятницы 18 июня 2021 г., 16:56:38 CST; 47 минут назад
  Процесс: 18324 ExecStop=/usr/libexec/iptables/iptables.init stop (code=exited, status=0/SUCCESS)
  Процесс: 18220 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
 Основной PID: 18220 (код=выход, статус=0/УСПЕХ)
18 июня, 16:56:22 foo.my-company.com systemd[1]: запуск брандмауэра IPv4 с помощью iptables...
18 июня, 16:56:22 foo.my-company.com iptables.init[18220]: iptables: Применение правил брандмауэра: [ OK ]
18 июня, 16:56:22 foo.my-company.com systemd[1]: запущен брандмауэр IPv4 с iptables.
18 июня, 16:56:38 foo.my-company.com systemd[1]: остановка брандмауэра IPv4 с помощью iptables...
18 июня 16:56:38 foo.my-company.com iptables.init[18324]: iptables: установка цепочек для политики ПРИНЯТЬ: nat mangle security raw fil... OK ]
18 июня, 16:56:38 foo.my-company.com iptables.init[18324]: iptables: Сброс правил брандмауэра: [ OK ]
18 июня, 16:56:38 foo.my-company.com systemd[1]: брандмауэр IPv4 остановлен с помощью iptables.
Подсказка: некоторые строки были выделены эллипсами, используйте -l, чтобы показать их полностью.
$ systemctl статус firewalld
✓ firewalld.service — firewalld — демон динамического брандмауэра
   Загружено: загружено (/usr/lib/systemd/system/firewalld.service; включено; предустановка поставщика: включена)
   Активно: активно (работает) с пятницы 18.06.2021 16:56:38 CST; 48 минут назад
     Документы: man:firewalld(1)
 Основной PID: 18325 (брандмауэр)
    Задачи: 2
   Память: 26.0M
   CГруппа: /system.slice/firewalld.service
           ââ18325 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
18 июня, 16:56:38 foo.my-company.com systemd[1]: запуск firewalld — динамического демона брандмауэра...
18 июня, 16:56:38 foo.my-company.com systemd[1]: запущен firewalld — демон динамического брандмауэра.
18 июня, 16:56:39 foo.my-company.com firewalld[18325]: ПРЕДУПРЕЖДЕНИЕ. Включен параметр AllowZoneDrifting. Сейчас это считается небезопасным.
18 июня, 16:56:39 foo.my-company.com firewalld[18325]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-e06022...ain?).
18 июня, 16:56:39 foo.my-company.com firewalld[18325]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-ee12e0...ain?).
18 июня, 16:56:39 foo.my-company.com firewalld[18325]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-37072d...ain?).
18 июня, 16:56:39 foo.my-company.com firewalld[18325]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -...ain?).
18 июня, 16:56:39 foo.my-company.com firewalld[18325]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-95db75...ain?).
18 июня, 16:56:39 foo.my-company.com firewalld[18325]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-d77a44...ain?).
18 июня, 16:56:40 foo.my-company.com firewalld[18325]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -...ain?).
Подсказка: некоторые строки были выделены эллипсами, используйте -l, чтобы показать их полностью.
Похоже на то брандмауэр запускается правильно и iptables был отключен.
Вот содержание /var/журнал/брандмауэр при перезагрузке моего компьютера сейчас:
2021-06-18 22:13:19 ПРЕДУПРЕЖДЕНИЕ. Включен параметр AllowZoneDrifting. Это считается небезопасным параметром конфигурации. Он будет удален в будущем выпуске. Пожалуйста, рассмотрите возможность его отключения сейчас.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D PREROUTING -m addrtype --dst-type LOCAL -j DOCKER' не удалось: iptables v1.4.21: не удалось не загружать цель `DOCKER': нет такого файла или каталога
Попробуйте `iptables -h' или 'iptables --help' для получения дополнительной информации.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D OUTPUT -m addrtype --dst-type ЛОКАЛЬНО! --dst 127.0.0.0/8 -j DOCKER' не удалось: iptables v1.4.21: не удалось загрузить цель `DOCKER': нет такого файла или каталога
Попробуйте `iptables -h' или 'iptables --help' для получения дополнительной информации.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D OUTPUT -m addrtype --dst-type LOCAL -j DOCKER' не удалось: iptables v1.4.21: не удалось не загружать цель `DOCKER': нет такого файла или каталога
Попробуйте `iptables -h' или 'iptables --help' для получения дополнительной информации.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D PREROUTING' не удалось: iptables: неверное правило (существует ли соответствующее правило в этой цепочке?).
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D OUTPUT' не удалось: iptables: неверное правило (существует ли соответствующее правило в этой цепочке?).
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -F DOCKER' не удалось: iptables: нет цепочки/цели/совпадения по этому имени.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -X DOCKER' не удалось: iptables: Нет цепочки/цели/совпадения по этому имени.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOCKER' не удалось: iptables: Нет цепочки/цели/совпадения по этому имени.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOCKER' не удалось: iptables: Нет цепочки/цели/совпадения по этому имени.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOCKER-ISOLATION-STAGE-1' не удалось: iptables: Нет цепочки/цели/совпадения по этому имени.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOCKER-ISOLATION-STAGE-1' не удалось: iptables: Нет цепочки/цели/совпадения по этому имени.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOCKER-ISOLATION-STAGE-2' не удалось: iptables: нет цепочки/цели/совпадения по этому имени.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOCKER-ISOLATION-STAGE-2' не удалось: iptables: Нет цепочки/цели/совпадения по этому имени.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOCKER-ISOLATION' не удалось: iptables: нет цепочки/цели/совпадения по этому имени.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOCKER-ISOLATION' не удалось: iptables: Нет цепочки/цели/совпадения по этому имени.
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-ee12e0b3bd4b -o br-ee12e0b3bd4b -j DROP' не удалось: iptables: неверное правило (сопоставляется правило существует в этой цепочке?).
2021-06-18 22:13:21 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-37072db2b0a2 -o br-37072db2b0a2 -j DROP' не удалось: iptables: неверное правило (сопоставляется правило существует в этой цепочке?).
2021-06-18 22:13:22 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-95db758dd575 -o br-95db758dd575 -j DROP' не удалось: iptables: неверное правило (сопоставляется правило существует в этой цепочке?).
2021-06-18 22:13:22 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' не удалось: iptables: неверное правило (существует ли соответствующее правило в этом цепь?).
2021-06-18 22:13:22 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-d77a4470f1ee -o br-d77a4470f1ee -j DROP' не удалось: iptables: неверное правило (сопоставляется правило существует в этой цепочке?).
2021-06-18 22:13:22 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-e06022f15557 -o br-e06022f15557 -j DROP' не удалось: iptables: неверное правило (сопоставляется правило существует в этой цепочке?).
2021-06-18 22:13:22 ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' не удалось: iptables: неверное правило (существует ли соответствующее правило в этом цепь?).
Содержимое журнала содержит много предупреждений о докере. Возможно, эта проблема как-то связана с докером.
Вот мои текущие настройки iptables.
$ iptables -L -n
Сеть INPUT (политика ACCEPT)
целевая защита выбор источника назначения         
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
INPUT_direct все -- 0.0.0.0/0 0.0.0.0/0           
INPUT_ZONES_SOURCE все -- 0.0.0.0/0 0.0.0.0/0           
INPUT_ZONES все -- 0.0.0.0/0 0.0.0.0/0           
УДАЛИТЬ все -- 0.0.0.0/0 0.0.0.0/0 ctstate НЕДЕЙСТВИТЕЛЬНО
REJECT all -- 0.0.0.0/0 0.0.0.0/0
Цепочка FORWARD (политика DROP)
целевая защита выбор источника назначения         
DOCKER-USER все -- 0.0.0.0/0 0.0.0.0/0           
DOCKER-ISOLATION-STAGE-1 все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО
ДОКЕР все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО
ДОКЕР все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО
ДОКЕР все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО
ДОКЕР все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО
ДОКЕР все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО
ДОКЕР все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0 ctstate СВЯЗАННО, УСТАНОВЛЕНО
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
FORWARD_direct все -- 0.0.0.0/0 0.0.0.0/0           
FORWARD_IN_ZONES_SOURCE все -- 0.0.0.0/0 0.0.0.0/0           
FORWARD_IN_ZONES все -- 0.0.0.0/0 0.0.0.0/0           
FORWARD_OUT_ZONES_SOURCE все -- 0.0.0.0/0 0.0.0.0/0           
FORWARD_OUT_ZONES все -- 0.0.0.0/0 0.0.0.0/0           
УДАЛИТЬ все -- 0.0.0.0/0 0.0.0.0/0 ctstate НЕДЕЙСТВИТЕЛЬНО
REJECT all -- 0.0.0.0/0 0.0.0.0/0
Цепочка OUTPUT (политика ACCEPT)
целевая защита выбор источника назначения         
ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0           
OUTPUT_direct все -- 0.0.0.0/0 0.0.0.0/0           
Сеть DOCKER (6 наименований)
целевая защита выбор источника назначения         
ПРИНЯТЬ tcp -- 0.0.0.0/0 172.21.0.2 tcp dpt:443
ПРИНЯТЬ tcp -- 0.0.0.0/0 192.168.208.2 tcp dpt:8005
ПРИНЯТЬ tcp -- 0.0.0.0/0 172.29.0.3 tcp dpt:8080
ПРИНЯТЬ tcp -- 0.0.0.0/0 172.20.0.3 tcp dpt:5432
ПРИНЯТЬ tcp -- 0.0.0.0/0 172.21.0.3 tcp dpt:5432
ПРИНЯТЬ tcp -- 0.0.0.0/0 172.20.0.4 tcp dpt:80
ПРИНЯТЬ tcp -- 0.0.0.0/0 172.21.0.4 tcp dpt:9000
ПРИНЯТЬ tcp -- 0.0.0.0/0 172.20.0.4 tcp dpt:22
Сеть DOCKER-ISOLATION-STAGE-1 (1 ссылка)
целевая защита выбор источника назначения         
DOCKER-ISOLATION-STAGE-2 все -- 0.0.0.0/0 0.0.0.0/0           
DOCKER-ISOLATION-STAGE-2 все -- 0.0.0.0/0 0.0.0.0/0           
DOCKER-ISOLATION-STAGE-2 все -- 0.0.0.0/0 0.0.0.0/0           
DOCKER-ISOLATION-STAGE-2 все -- 0.0.0.0/0 0.0.0.0/0           
DOCKER-ISOLATION-STAGE-2 все -- 0.0.0.0/0 0.0.0.0/0           
DOCKER-ISOLATION-STAGE-2 все -- 0.0.0.0/0 0.0.0.0/0           
ВОЗВРАТ все -- 0.0.0.0/0 0.0.0.0/0           
Сеть DOCKER-ISOLATION-STAGE-2 (6 наименований)
целевая защита выбор источника назначения         
УДАЛИТЬ все -- 0.0.0.0/0 0.0.0.0/0           
УДАЛИТЬ все -- 0.0.0.0/0 0.0.0.0/0           
УДАЛИТЬ все -- 0.0.0.0/0 0.0.0.0/0           
УДАЛИТЬ все -- 0.0.0.0/0 0.0.0.0/0           
УДАЛИТЬ все -- 0.0.0.0/0 0.0.0.0/0           
УДАЛИТЬ все -- 0.0.0.0/0 0.0.0.0/0           
ВОЗВРАТ все -- 0.0.0.0/0 0.0.0.0/0           
Сеть DOCKER-USER (1 ссылка)
целевая защита выбор источника назначения         
ВОЗВРАТ все -- 0.0.0.0/0 0.0.0.0/0           
Сеть FORWARD_IN_ZONES (1 ссылка)
целевая защита выбор источника назначения         
FWDI_public все -- 0.0.0.0/0 0.0.0.0/0 [перейти] 
FWDI_public все -- 0.0.0.0/0 0.0.0.0/0 [перейти] 
Сеть FORWARD_IN_ZONES_SOURCE (1 ссылка)
целевая защита выбор источника назначения         
Сеть FORWARD_OUT_ZONES (1 ссылка)
целевая защита выбор источника назначения         
FWDO_public все -- 0.0.0.0/0 0.0.0.0/0 [перейти] 
FWDO_public все -- 0.0.0.0/0 0.0.0.0/0 [перейти] 
Сеть FORWARD_OUT_ZONES_SOURCE (1 ссылка)
целевая защита выбор источника назначения         
Сеть FORWARD_direct (1 ссылка)
целевая защита выбор источника назначения         
Сеть FWDI_public (2 ссылки)
целевая защита выбор источника назначения         
FWDI_public_log все -- 0.0.0.0/0 0.0.0.0/0           
FWDI_public_deny все -- 0.0.0.0/0 0.0.0.0/0           
FWDI_public_allow все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ icmp -- 0.0.0.0/0 0.0.0.0/0           
Сеть FWDI_public_allow (1 упоминание)
целевая защита выбор источника назначения         
Цепочка FWDI_public_deny (1 упоминание)
целевая защита выбор источника назначения         
Цепочка FWDI_public_log (1 ссылка)
целевая защита выбор источника назначения         
Сеть FWDO_public (2 ссылки)
целевая защита выбор источника назначения         
FWDO_public_log все -- 0.0.0.0/0 0.0.0.0/0           
FWDO_public_deny все -- 0.0.0.0/0 0.0.0.0/0           
FWDO_public_allow все -- 0.0.0.0/0 0.0.0.0/0           
Сеть FWDO_public_allow (1 упоминание)
целевая защита выбор источника назначения         
Цепочка FWDO_public_deny (1 ссылка)
целевая защита выбор источника назначения         
Цепочка FWDO_public_log (1 ссылка)
целевая защита выбор источника назначения         
Сеть INPUT_ZONES (1 ссылка)
целевая защита выбор источника назначения         
IN_public все -- 0.0.0.0/0 0.0.0.0/0 [перейти] 
IN_public все -- 0.0.0.0/0 0.0.0.0/0 [перейти] 
Сеть INPUT_ZONES_SOURCE (1 ссылка)
целевая защита выбор источника назначения         
Сеть INPUT_direct (1 ссылка)
целевая защита выбор источника назначения         
Сеть IN_public (2 ссылки)
целевая защита выбор источника назначения         
IN_public_log все -- 0.0.0.0/0 0.0.0.0/0           
IN_public_deny все -- 0.0.0.0/0 0.0.0.0/0           
IN_public_allow все -- 0.0.0.0/0 0.0.0.0/0           
ПРИНЯТЬ icmp -- 0.0.0.0/0 0.0.0.0/0           
Сеть IN_public_allow (1 упоминание)
целевая защита выбор источника назначения         
ПРИНЯТЬ tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate НОВЫЙ, НЕОТСЛЕЖЕННЫЙ
Цепочка IN_public_deny (1 упоминание)
целевая защита выбор источника назначения         
Цепочка IN_public_log (1 упоминание)
целевая защита выбор источника назначения         
Сеть OUTPUT_direct (1 ссылка)
целевая защита выбор источника назначения