Обработка переменной ip docker в iptables

Обработка переменной ip docker в iptables

В моей производственной среде есть несколько приложений в Docker, которым нужно подключаться к резервным службам, например, к базе данных на том же хосте. Я обнаружил, что мне нужно сделать исключение в iptables, чтобы принимать эти соединения.

Однако диапазон IP-адресов сети Docker меняется между перезапусками. Сначала это был 172.18.0.0/24, позже 172.17.0.0/24 и 172.20.0.0/24, теперь IP-адреса 192.168.172.2 и 192.168.192.3.

Как можно надежно и безопасно принимать трафик Docker из контейнера, например, mariadb?

EDIT: Кажется, ответ такой:указание конфигурации IPAM, но присоединение к интерфейсу кажется более элегантным

решение1

Два варианта:

Первый

Разрешите доступ с docker0интерфейса, а не для определенного диапазона IP-адресов.

iptable -A INPUT -i docker0 -dport 3306

Второй

Переместите базу данных в контейнер.

Создайте докер с именем network

Убедитесь, что все контейнеры подключены к указанной сети. После этого вы сможете получить доступ к контейнеру базы данных по имени из любого другого контейнера (в той же сети).

Если вам необходим внешний доступ к базе данных, вы можете сопоставить порт и настроить любые правила iptables, которые вы хотите защитить.

Связанный контент