iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -P INPUT ACCEPT
という設定のサーバがあり、当然sshでログインできます。
ここで
iptables -P INPUT DROP
とすると、sshでログインはできるのですが、ログインまでに15秒程度かかります。
ssh -vvvで調べたところ、
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/foo/.ssh/id_rsa1 (0x8097480)
debug2: key: /home/foo/.ssh/id_rsa2 (0x809cf58)
debug2: key: /home/foo/.ssh/id_rsa3 (0x809e698)
と表示された後で待ちが発生します。
これは何なんでしょうか?
DNS の逆引きじゃないですか?
タイムアウトまで待って失敗してから接続可能になる。
勘ですけど、ログイン後は通常通り使えている場合は経験上そういうケースが多かったです。
ssh の場合無いとは思うけど IDENT 要求を出してる場合もあります。
>iptables -P INPUT ACCEPT
これは全ての接続を許可なので通信できてあたりまえです。
>iptables -P INPUT DROP
これをすると全ての外部からの通信が拒否されてしまいます。
DROPする場合、SSH以外の一般的な通信を許可する設定を
していないのが原因と思い思います。
以下のようなテンプレートが公開されているサイトの
内容を参考に確認されてはどうですか?
(得にログ)
loopback/一部 icmp/内部から外部へ接続の許可等
は許可が必要と思います。
http://www.atmarkit.co.jp/flinux/rensai/iptables01/iptables01b.h...
http://www.atmarkit.co.jp/flinux/rensai/iptables01/iptables01a.h...
関係ないと思って、省略してしまいましたが、
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-{request,reply} -j ACCEPT
は設定しています。
教えていただいたサイトも見ました。ログには何もでないですね・・・。
DNS の逆引きじゃないですか?
タイムアウトまで待って失敗してから接続可能になる。
勘ですけど、ログイン後は通常通り使えている場合は経験上そういうケースが多かったです。
ssh の場合無いとは思うけど IDENT 要求を出してる場合もあります。
> DNS の逆引きじゃないですか?
当たりでした。
デフォルトで逆引きするんですね。知らなかったです。
勉強になりました。
ありがとうございます。
> DNS の逆引きじゃないですか?
当たりでした。
デフォルトで逆引きするんですね。知らなかったです。
勉強になりました。
ありがとうございます。