iptablesをAnsibleで管理したかっただけなのに
- Docker
- 2026/04/27
結論
Dockerを利用している場合、iptablesのルールを変更した際はDockerデーモンを再起動させましょう
- name: Apply iptables rules ansible.builtin.command: iptables-restore /etc/iptables/rules.v4 become: true register: apply_iptables changed_when: true failed_when: apply_iptables.rc != 0 notify: Restart Docker - name: Restart Docker ansible.builtin.systemd: name: docker state: restarted become: true時系列
複数Linuxサーバ(アプリは全てDockerで動いている)がありiptablesの管理を手でやっていたのだが、毎回コマンドを思い出すのが嫌になり、Ansibleコード化を決意
↓
今ならAIでサクサクコードを書けるね、よし適用!
↓
全アプリが外部と通信できなくなりダウン
何が起きたのか
Dockerは内部ネットワーク管理にiptablesルールを利用している。
https://docs.docker.jp/network/iptables.htmlDocker管理のiptablesルールを上書きしてしまったため、Dockerで動くアプリの通信ができなくなってしまった。(以降、結論に戻る)
あとがき
そもそもiptablesで管理するのを辞めたい
