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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

firewalld

firewalldは、CentOS7からデフォルトになったパケットフィルタリングです。一時的なルールと永続的なルールが設定でき、通信の許可・拒否をコントロール。バージョン6まで利用されてきた「iptables」における課題をカバーしています。

iptables

iptablesは、一般的なLinuxに備わっているパケットフィルタリング型のファイアウォール機能。パケットフィルタリングルールおよびネットワークアドレス変換ルールを適用することが可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

6106閲覧

firewalld起動時のエラー

myuchan15

総合スコア8

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

firewalld

firewalldは、CentOS7からデフォルトになったパケットフィルタリングです。一時的なルールと永続的なルールが設定でき、通信の許可・拒否をコントロール。バージョン6まで利用されてきた「iptables」における課題をカバーしています。

iptables

iptablesは、一般的なLinuxに備わっているパケットフィルタリング型のファイアウォール機能。パケットフィルタリングルールおよびネットワークアドレス変換ルールを適用することが可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2021/04/05 02:57

firewalld起動時に下記のエラーが発出され、firewalldが正常に機能しなくなってしまいました。(異常となった)
今の所確認できている異常としては リッチルールが、設定した通りに動作しないことです。(他のマシンで全く同じ設定にして正常に動作している事を確認しています)
このエラーが発出されないようにするにはどうすれば良いかご教授いただけると幸いです。
よろしくお願いします。

4月 05 03:45:23 ybdv10039 firewalld[6047]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 171.11.10.2 -d 171.11.10.2 --dport 8080 -j MASQUERADE' failed: iptables: No chain/target/match by that name.
4月 05 03:45:23 ybdv10039 firewalld[6047]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 80 -j DNAT --to-destination 171.11.10.3:80 ! -i br-xxxxxxxxxxxx' failed: iptables: No chain/target/match by that name.
4月 05 03:45:23 ybdv10039 firewalld[6047]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i br-xxxxxxxxxxxx -o br-xxxxxxxxxxxx -p tcp -d 171.11.10.3 --dport 80 -j ACCEPT' failed: iptables: Bad rule (does a matching rule exist in that chain?).
4月 05 03:45:23 ybdv10039 firewalld[6047]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 171.11.10.3 -d 171.11.10.3 --dport 80 -j MASQUERADE' failed: iptables: No chain/target/match by that name.
4月 05 03:45:23 ybdv10039 firewalld[6047]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 6379 -j DNAT --to-destination 171.11.10.4:6379 ! -i br-xxxxxxxxxxxx' failed: iptables: No chain/target/match by that name.
4月 05 03:45:23 ybdv10039 firewalld[6047]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i br-xxxxxxxxxxxx -o br-xxxxxxxxxxxx -p tcp -d 171.11.10.4 --dport 6379 -j ACCEPT' failed: iptables: Bad rule (does a matching rule exist in that chain?).
4月 05 03:45:23 ybdv10039 firewalld[6047]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 171.11.10.4 -d 171.11.10.4 --dport 6379 -j MASQUERADE' failed: iptables: No chain/target/match by that name.
4月 05 04:17:34 ybdv10039 firewalld[6047]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 6379 -j DNAT --to-destination 171.11.10.4:6379 ! -i br-xxxxxxxxxxxx' failed: iptables: No chain/target/match by that name.
4月 05 04:17:34 ybdv10039 firewalld[6047]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i br-xxxxxxxxxxxx -o br-xxxxxxxxxxxx -p tcp -d 171.11.10.4 --dport 6379 -j ACCEPT' failed: iptables: Bad rule (does a matching rule exist in that chain?).
4月 05 04:17:34 ybdv10039 firewalld[6047]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 171.11.10.4 -d 171.11.10.4 --dport 6379 -j MASQUERADE' failed: iptables: No chain/target/match by that name.

環境
OS: CentOS 7.6
MWバージョン: firewall-cmd 0.5.3

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

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

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

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

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

CHERRY

2021/04/05 09:12

docker 使われていますか?
myuchan15

2021/04/07 10:30 編集

ありがとうございます。 はい。そうですね、重要なことを書くのを忘れていましたが、Docker を使っています。
TaichiYanagiya

2021/04/05 12:10

iptables の nat テーブルの POSTROUTING, DOCKER チェインがないとのこと。 DOCKER チェインはともかく、POSTROUTING チェインが消えることはないと思うのですが。 一度、OS を再起動すると POSTROUTING チェインは復活しませんでしょうか。 DOCKER チェインは、firewalld より先に docker が起動していないとダメかもしれません。
myuchan15

2021/04/07 10:30 編集

ありがとうございます。 なるほどです!OS再起動試してみます。
guest

回答1

0

ベストアンサー

時間がたっており、既に解決されているかもしれませんが、 回答いたします。

Docker を使う環境で failed: iptables: No chain/target/match by that name. とエラーが出る場合、Docker が直接のエラー原因であれば Docker Engine の再起動で戻るパターンが多いです。

CentOS 7.6 であれば

shell

1systemctl stop docker 2systemctl start docker 3

再起動後のタイミングで、Docker によって iptables のルールが書き換えられます。このタイミングで firewalld が起動するかどうかお試しください。

非常に稀ですが、変わった Docker の bridge ネットワーク設定によって、Docker そのものが変なルールを吐き出しているカモしれません。そのような場合、 docker network prune で未使用ネットワークをクリアすると解消できる可能性があります。

または、 StackOverflow に書かれているような、手順で復旧できるかもしれません。

投稿2021/04/14 21:19

zembutsu

総合スコア1584

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

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

myuchan15

2021/04/15 10:13

zembutsu様、 ご回答ありがとうございます。 こちら、dockerサービスを先に起動させ、そのあとに firewalld を起動させることで、どちらも正常に起動するようになりました。 しかし、ホストOS(VMWare基盤上のCentOS7.6)をshutdown -r now で再起動すると、デフォルトでfirewalldが先に起動し、そのあとにdockerが起動するので、また同じエラーがでてしまいます。 systemd で/usr/lib/systemd/system/docker.service や /usr/lib/systemd/system/firewalld.service に After や Before を記述して起動順序を変更したりしているのですが、(そもそも正しい起動順序変更なのかも確証がないのですが)OSが起動しなくなったりしてしまいます。 OS再起動でfirewalld も docker も正常に起動させるにはどのようにしたらよいでしょうか? (新たに質問を投げようとしたのですが、お詳しそうなので聞いてしまいました。。)
zembutsu

2021/04/15 19:17

myuchan15さんへ。解決してなによりです。 firewalldの順番については、あたりをつけられているように、systemdまわりの可能性が高いと思います。systemdは私は詳しくないので、こことは別にご質問を掲載いただいたほうが、他の詳しい方からもアドバイスを受けられるでしょうし、分けられたほうが今後悩まれる方の参考と解決にもつながります。
myuchan15

2021/04/16 00:11

ご丁寧にありがとうございます。新たに投稿しましたので、そちらで待ちたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問