Почему UFW не закрывает порты, которые открыты с помощью docker/docker-compose?
У меня есть приложение, которое использует docker-compose, а так же VPS.
Я поднял все сервисы, и решил за одно проверить работу файрволла.
В UFW я заблочил все порты кроме 22/SSH и 80/http.
Захожу на 80 порт - всё рабоает
Захожу на порт 4200 (у меня на нём Backend, a NGINX проксирует туда) - почему-то пропускает.
Я почитал на всяких стеках оверфлоу про это, но там пишут ответы конкретно про докер, без композа, да и в прочем, я попробовал выполнить те команды и у меня в итоге контейнеры просто потеряли доступ к интернету.
потому что ufw это надстройка над iptables
и она ограничена выделенными для нее в iptables цепочками вида ufw-*
а у демона docker-а свои цепочки DOCKER-*
ну и ufw может манипулировать своими цепочками а демон docker-а своими
команда iptables-save покажет все цепочки и правила
Rag’n’ Code Man, UFW не для продакшена, а для домашних пользователей. По принципу "если им лень разбираться в iptables, то пусть используют хотя бы это убожество (UFW), чем совсем ничего".