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.html
Docker管理のiptablesルールを上書きしてしまったため、Dockerで動くアプリの通信ができなくなってしまった。(以降、結論に戻る)
あとがき
そもそもiptablesで管理するのを辞めたい
