Проблема с 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.