web-dev-qa-db-ja.com

IPTABLES:別のアプリが現在xtablesロックを保持しています

Ispconfig 3がインストールされたUbuntuサーバー(14.04)を管理しています。サーバーは、メール、Web、およびデータに使用されています。私の前のシステム管理者はfail2banとufwを有効にしていましたが、今日は一日中dovecot認証で問題が発生しています。ファイアウォールにアクセスしようとすると、次のエラーメッセージが表示され続けました。

エラー:iptablesの実行中に問題が発生しました:別のアプリが現在xtablesロックを保持しています。おそらく、-wオプションを使用したいですか?

ソフトリブートを試みるとサーバーがフリーズし、ハードリブートすると問題がすぐに再発しました。

次に、lsof -p $(pidof iptables)を使用してさらに調査すると、次の出力が得られます。

COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF    NODE NAME
iptables 1526 root  cwd    DIR                9,1     4096       2 /
iptables 1526 root  rtd    DIR                9,1     4096       2 /
iptables 1526 root  txt    REG                9,1    87768  261694 /sbin/xtables-multi
iptables 1526 root  mem    REG                9,1     6336 1180648 /lib/xtables/libxt_standard.so
iptables 1526 root  mem    REG                9,1    14664 1180071 /lib/x86_64-linux-gnu/libdl-2.19.so
iptables 1526 root  mem    REG                9,1  1840928 1180085 /lib/x86_64-linux-gnu/libc-2.19.so
iptables 1526 root  mem    REG                9,1    47712 1181161 /lib/libxtables.so.10.0.0
iptables 1526 root  mem    REG                9,1    31520 1179359 /lib/libip6tc.so.0.1.0
iptables 1526 root  mem    REG                9,1    27392 1179360 /lib/libip4tc.so.0.1.0
iptables 1526 root  mem    REG                9,1   149120 1180078 /lib/x86_64-linux-gnu/ld-2.19.so
iptables 1526 root    0r  FIFO                0,8      0t0   21609 pipe
iptables 1526 root    1u   CHR                1,3      0t0    1029 /dev/null
iptables 1526 root    2u   CHR                1,3      0t0    1029 /dev/null
iptables 1526 root    3u  unix 0xffff880190eabb80      0t0  686890 @xtables
iptables 1526 root    4u   raw                         0t0  686891 00000000:00FF->00000000:0000 st=07
iptables 1526 root    5w   REG                9,1   242173  917201 /var/log/fail2ban.log
iptables 1526 root    6r  0000                0,9        0    7704 anon_inode
iptables 1526 root    7r  0000                0,9        0    7704 anon_inode
iptables 1526 root    8r  0000                0,9        0    7704 anon_inode
iptables 1526 root    9r  FIFO                0,8      0t0   20579 pipe
iptables 1526 root   10w  FIFO                0,8      0t0   20579 pipe

何がxtableをロックしているのか、どのように解決するのが最善であるかについてのポインタは歓迎されます。

1
ArsTropica

この回答 は、DNSルックアップが遅いために遅延が発生する可能性があることを示しています。これは、iptablesコマンドラインに_-n_を含めることで回避できます。おそらく、straceまたはltraceを使用して、アクティブなiptablesプロセスが何を行っているかを調査するか(出力のpid 1526)、またはps -fp $(pidof iptables)iptablesコマンドに_-n_が含まれているかどうか。

2
Eirik Fuller

Iptablesコマンドの長いスクリプトで同じ問題が発生しました。それはかなりランダムに起こり、システム間で異なりました。競合状態が疑われます。

その場合、エラーメッセージは独自の解決策を提供しました。-wフラグを使用すると、iptablesは失敗するのではなく、ロックが使用可能になるのを待ちます。

Iptablesを直接使用せずに管理ソフトウェアを使用する場合、そのソフトウェアに応じてパッチを適用する必要があります。明らかに、何かが原因でロックが古くなった場合、iptablesが無期限にハングするリスクがあります。

0
Someone