Блог-шпаргалка

Картинка

Docker + nftables

Категория -> linux
Обновлено: 2025-04-12

Заставив себя перейти на nftables в конце 2024 года, мне с трудом давалось понимание всех этих натов, прероутингов, построутингов и ещё целой кучи непонятных сетевых слов, сталкиваясь с которыми, появлялось желание, забить в голову гвоздь тем, кто это всё придумал. Но не так страшен чёрт, как его…

Весной 2025 года, я заставил себя перейти с виртуализации на контейнеризацию. На это у меня есть тут целая шпаргалка. При установке докера я столкнулся с проблемой, что он не стартанул и вывалился в ошибку. Как оказалось, докер тащит в систему iptables и при старте сервиса пытается их запустить, а у меня nftables.

Исправим эту досадную хуйню...=)

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

cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service

...и модифицируем строку запуска, добавив в неё параметр --iptables=false . У меня стало выглядить это так

ExecStart=/usr/bin/dockerd --iptables=false -H fd:// --containerd=/run/containerd/containerd.sock

Дело за малым

systemctl daemon-reload
systemctl restart docker

Проверим статус и убедимся что у нас служба в статусе active (running) зелёненького цвета

по команде nft list ruleset видим, что докер модифицировал файервол, добавив в него необходимые цепи.