vine-users ML アーカイブ



[vine-users:058241] iptables で、しばしば接続が 途切れます

  • From: Hirohisa Kobayashi <hk-ml@xxxxxxxxxxxxxxxxx>
  • Subject: [vine-users:058241] iptables で、しばしば接続が 途切れます
  • Date: Fri, 07 Feb 2003 15:30:57 +0900
お世話になっております。小林です。
早速質問させていただきます。

メールサーバー兼LAN内用のHTTP・FTPサーバーを立ち上げており、
当初は問題なく動作していたのですが、
その後、iptablesの設定を変えてから、しばしば接続できなくなってしまいました。
環境は、
OS               VineLinux2.6
eth0             202.xxx.xxx.xxx
eth1             192.168.1.5
スーパーサーバー inetd
ファイアウォール iptables

しばしば切断されても、しばらく(数分程)するとまた繋がります。
そしてまた切断されます。

当初原因がわからず、ずっとinetdを疑っていましたがどうにも解決せず、
今度はiptablesを調べてみることにしました。

最初、下記のようなスクリプトでiptablesを設定しておりました(一部抜粋)。
-------------< old_iptables.sh start >-----------------------------------
MYHOST='192.168.1.5'
LOCALNET='192.168.1.0/24'

# http
/sbin/iptables -A INPUT -p tcp -s $LOCALNET --destination-port 80 -d $MYHOST -i eth1 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --source-port 80 -s $MYHOST -d $LOCALNET -o eth1 -j ACCEPT
# FTP
/sbin/iptables -A INPUT -p tcp -s $LOCALNET --destination-port 21 -d $MYHOST -i eth1 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --source-port 21 -s $MYHOST -d $LOCALNET -o eth1 -j ACCEPT
# POP3
/sbin/iptables -A INPUT -p tcp -s $LOCALNET --destination-port 110 -d $MYHOST -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --source-port 110 -s $MYHOST -d $LOCALNET -j ACCEPT
-------------< old_iptables.sh end >-----------------------------------
しばらくの間(平均して十数分間ほど)はhttpもftpも繋がりますが、
しばらくすると切断されます。ポートスキャン等を行っても開かれていません。
POP3は接続可能です。

"-i eth1"を指定していないPOP3は問題なかったことから、
下記のように書き換えたスクリプトで再実行したら変化が現れました。
とりあえずftpは同じままで、httpからは
"-i eth1"、"-o eth1"を取り外してみました。
-------------< new_iptables.sh start >-----------------------------------
MYHOST='192.168.1.5'
LOCALNET='192.168.1.0/24'

# http
/sbin/iptables -A INPUT -p tcp -s $LOCALNET --destination-port 80 -d $MYHOST -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --source-port 80 -s $MYHOST -d $LOCALNET -j ACCEPT
# FTP
/sbin/iptables -A INPUT -p tcp -s $LOCALNET --destination-port 21 -d $MYHOST -i eth1 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --source-port 21 -s $MYHOST -d $LOCALNET -o eth1 -j ACCEPT
# POP3
/sbin/iptables -A INPUT -p tcp -s $LOCALNET --destination-port 110 -d $MYHOST -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --source-port 110 -s $MYHOST -d $LOCALNET -j ACCEPT
-------------< new_iptables.sh end >-----------------------------------

試した結果、httpは切断されなくなり、ftpは相変わらずダメでした。
そしてやはりしばらくするとまた繋がります。

だめ押しで、Webでみかけた方法で、
下記のようにも試してみましたが、最初と同じ結果でした。
-------------< other_iptables.sh start >-----------------------------------
・・・
# FTP
/sbin/iptables -A INPUT -p tcp -s $LOCALNET --destination-port 21 -d $MYHOST -i eth1 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp ! --syn -m state --state ESTABLISHED --source-port 21 -s $MYHOST -d $LOCALNET -o eth1 -j ACCEPT
・・・
-------------< other_iptables.sh end >-----------------------------------

httpとFTPはLAN内からしか必要ありませんので、
できるだけ"-i eth1"は指定したいです。

情報不足かも知れませんが、原因と解決策教えていただければ幸いです。
(前回同様、長くなってしまい申し訳ございません)
よろしくお願いいたします。