質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

6897閲覧

docker iptablesの設定でエラー

prr4e

総合スコア73

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2018/07/05 04:02

編集2018/07/06 11:35

最近インフラレイヤーまで手を出さざるを得なく、
稼働中のサーバでテストするにはリスクがあるため、dockerを駆使しながら検証を行っております。

ここ数日iptablesにて送信先の制限を行うため、iptablesの設定を行っているのですが、
service起動時にエラーとなっており、検証ができておりません。

お手数ですがご教授願いますでしょうか。

service起動

systemctl start iptables Job for iptables.service failed because the control process exited with error code. See "systemctl status iptables.service" and "journalctl -xe" for details.

エラーの状況を確認

systemctl status iptables.service ● iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2018-07-05 03:59:34 UTC; 49s ago Process: 844 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=1/FAILURE) Main PID: 844 (code=exited, status=1/FAILURE) Jul 05 03:59:34 e5cbea2b444a systemd[1]: Starting IPv4 firewall with iptables... Jul 05 03:59:34 e5cbea2b444a iptables.init[844]: /usr/libexec/iptables/iptables.init: line 22: /etc/init.d/functions: No such file or directory Jul 05 03:59:34 e5cbea2b444a iptables.init[844]: iptables: Applying firewall rules: iptables-restore: COMMIT expected at line 6 Jul 05 03:59:34 e5cbea2b444a iptables.init[844]: /usr/libexec/iptables/iptables.init: line 242: failure: command not found Jul 05 03:59:34 e5cbea2b444a systemd[1]: iptables.service: main process exited, code=exited, status=1/FAILURE Jul 05 03:59:34 e5cbea2b444a systemd[1]: Failed to start IPv4 firewall with iptables. Jul 05 03:59:34 e5cbea2b444a systemd[1]: Unit iptables.service entered failed state. Jul 05 03:59:34 e5cbea2b444a systemd[1]: iptables.service failed.

ここでエラーとなっており先に進めない状態です。
Failed to start IPv4 firewall with iptables

ちなみにfirewallは入っておりません。

============== 7/6 追加情報
色々なページを参照し、iptablesの設定自体はうまく行ったのですが、
接続がうまく行かなくなりました。

現在 dockerコンテナを3台立ち上げて検証しています。
master:172.17.0.4
slave:172.17.0.5
slave2:172.17.0.6

masterは、slaveのみ接続許可をするため下記設定をしましたが、
slave2 → masterの接続もできなくなってしまいました。

Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 172.17.0.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2018/07/05 09:55

service 起動の前に、"iptables -nvL" など、iptables 自体は実行できますか? コンテナの中から kernel の機能である netfilter/iptables は使用できないと思うのですが。
prr4e

2018/07/06 02:56 編集

はい実行した結果 iptables -nvL Chain INPUT (policy ACCEPT 439 packets, 538K bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 378 packets, 17285 bytes) pkts bytes target prot opt in out source destination となりました
guest

回答2

0

結果、iptablesファイルのsyntaxエラーで制御ができませんでした。

また、OUTPUTのみを制御する事で対応が完了しました。
ありがとうございます。

投稿2018/07/19 05:17

prr4e

総合スコア73

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

コンテナの中から kernel の機能である netfilter/iptables は使用できないと思っていたのですが、--privileged だと利用できるのでしょうか。

エラーの原因は、/etc/init.d/functions ファイルがないとのこと。
yum install initscripts で該当ファイルがインストールされませんでしょうか。

投稿2018/07/06 09:32

TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

prr4e

2018/07/06 10:17

そうですね。 privilegedはdockerを起動する時に指定はしてました。 これの通りやるとiptables自体は起動してactiveになることは確認できました。 https://www.websec-room.com/2015/03/28/2214 ただ、dockerを3台起動して、masterとなりうるサーバに -A OUTPUT -d 172.17.0.6 -j ACCEPT を追加したところ、 他の2台ともsshができなくなってしまったので、目下苦戦中です
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問