このページの翻訳:
- 日本語 (ja)
- English (en)
最近の更新
Tag Cloud
このページへのアクセス
今日: 7 / 昨日: 2
総計: 737
- Dokuwiki.fl8.jp(511)
- 13 CentOS6メール設定(28)
- FreeBSD カーネル再構築(24)
- 05 rsync(23)
最近の更新
このページへのアクセス
今日: 7 / 昨日: 2
総計: 737
Dockerでiptablesを利用するには、DOCKER-USER chainにルールを追加します。
特定ネットワークからのみmysql接続を許可したい時など
IP確認
# docker inspect db "Networks": { "django_default": { . . . "Gateway": "172.23.0.1", "IPAddress": "172.23.0.2", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:17:00:02", "DriverOpts": null } } } }
特定IPだけ許可
iptables -I DOCKER-USER -p tcp --dport 3306 -d 172.23.0.2 -j DROP iptables -I DOCKER-USER -p tcp --dport 3306 -s 192.168.10.10 -d 172.23.0.2 -j ACCEPT
netfilter-persistentを利用すると、起動時に自動で反映する事が可能ですが、
Dockerを利用していると、起動時にDockerがiptablesのルールを追加するので、ルールが重複する可能性があります。
netfilter-persistentを利用する場合は、保存したルールからDockerが自動で入れるルールを削除しておいた方が良いです。
apt install netfilter-persistent
シェルなど用意しておいて、起動後入れる設定とかでも良いかも。
— Shinya Matsui 2023/12/06 07:10
現在確認すると、netfilter-persistentでの反映方法は設定反映されなくなってた。。。
やはり再起動後はシェルなどで追加する方が良さそう。
/etc/init.d/netfilter-persistent save /etc/init.d/netfilter-persistent reload