Назад | Перейти на главную страницу

Проблема с firewalld

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

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

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

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:

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

Хорошо, сегодня я нашел ответ,

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

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

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

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

Это не было бы моим первым средством, против которого я советуюсь.

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

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