iptables для docker

Для работы с iptables и docker есть специальная цепочка DOCKER-USER в неё надо добавлять правила, через iptables -I DOCKER-USER. Примеры описаны в офф документации, рассмотрим парочку: Запретить всё, что приходит в DOCKER-USER, кроме адресов 192.0.2.1-192.168.0.2.3

iptables -I DOCKER-USER -m iprange -i ext_if ! --src-range 192.0.2.1-192.0.2.3 -j DROP

Обращаю внимание, что правило запретит только то, что идёт к докеру, сотальные будет разрешено (например то,что приходит на другие службы, помимо докера) Если хотим запретить и всё остальное, кроме перечисленных ип, то добавляем правило:

iptables -A INPUT -j DROP

Также обращаю внимание, что после перезагрузки машины правила исчезнут, поэтому их надо сохранять, в разных дистрибутивах способы сохранения нескольк отличаются друг от друга. В общем для iptables во многих дистрибутивах есть команда iptables-save, которая выводит в консоль список текущих правил, этот вывод можно перенаправить в файл, в случае с altlinux таким файлом является /etc/sysconfig/iptables, т.е. для сохранения правил надо дать команду:

iptables-save > /etc/sysconfig/iptables

Обращаю внимание, что у вас служба iptables может быть не запущена в автозагрузку и в этом случае правила файрвола не загрузятся после перезагрузки машины, для этого службу надо включить:

systemctl enable iptables