Заставив себя перейти на 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 видим, что докер модифицировал файервол, добавив в него необходимые цепи.