Проблема с firewalld

Я только что столкнулся с этой проблемой, и уже поздно здесь, поэтому я не могу больше думать прямо сейчас. Тем не менее, это что-то довольно простое, поэтому я не вижу, чего мне не хватает, и просто схожу с ума здесь:

Я настраивал сервер, который использую исключительно для запуска докеров. Я начал с контейнера MariaDB, все в порядке, и я решил подключиться к нему, просто чтобы убедиться, что все работает.

Итак, теперь я хочу подключиться к серверу, на котором работает MariaDB, и поскольку я работаю за firewalld, я начал с его настройки, добавив новую зону в firewall-cmd, добавив service и source:

firewall-cmd --permanent --new-zone=test-from-home
firewall-cmd --reload
firewall-cmd --permanent --zone=test-from-home --add-service=mysql
firewall-cmd --permanent --zone=test-from-home --add-source=XX.XX.XX.XX/32
firewall-cmd --reload

И я подключился отлично, используя mysql -u root -p -h hostВсе здорово!

Бег firewall-cmd --get-active-zones возвращает:

[root@nd01 latest]# firewall-cmd --get-active-zones
test-from-home
  sources: XX.XX.XX.XX/32
public
  interfaces: eth0

Так что просто потому, что иногда я помню, как проводил эти тесты, чтобы убедиться, что все работает, я подключился к другой машине и успешно подключился с этого другого IP.

firewall-cmd --zone=test-from-home --list-all
test-from-home (active)
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: XX.XX.XX.XX/32
  services: mysql
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
firewall-cmd --zone=public --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: ssh dhcpv6-client
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

Почему я могу подключиться со случайной машины? Что мне не хватает? Спасибо

1 ответ

Итак, сегодня я нашел ответ,

FirewallD плохо работает с Docker (или наоборот)

Между тем я столкнулся с тем, что FirewallD и Docker не подыгрывают. Согласно документации Docker, способ обойти это путем отключения IPTables: - Docker и iptables

Как говорится с самой первой позиции:

В Linux Docker манипулирует iptables правила для обеспечения изоляции сети. Это деталь реализации, и вам не следует изменять правила, вставляемые Docker в ваш iptables политики.

Который не был бы моим первым курортом как советовал против.

Поэтому я немного покопался и нашел страницу, которая дала мне ответ, и любой, у кого есть эта проблема, может извлечь из нее пару идей, это хороший подход, добавив конфигурацию в цепочку DOCKER-USER.

Докер встречает брандмауэр - наконец-то ответ

Другие вопросы по тегам