09/05/09 18:07:40 5m8pHqBK
iptablesを使用して、ssh用のポートを開けようとしました。
ところが、ログに{_*通信が出来ているにもかかわらず_*}、sshのdropが出ます。
まず、INPUT,OUTPUT,FORWARDをDROPしています。
iptables -A INPUT -j LOG --log-prefix "[INPUT drop] :" --log-level 6
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -j LOG --log-prefix "[OUTPUT drop] :" --log-level 6
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT # -p は tcp
はき出すログ(一部)は次の通りです。
May 9 17:44:55 test-host kernel: [INPUT drop] :IN=eth2 OUT= MAC=**:**:**:**:**:**:**:**:**:**:**:**:**:**
SRC=192.168.1.1 DST=192.168.1.2 LEN=92 TOS=0x00 PREC=0x00 TTL=128 ID=52364 DF PROTO=TCP SPT=3336
DPT=22 WINDOW=64947 RES=0x00 ACK PSH URGP=0
May 9 17:44:55 test-host kernel: [OUTPUT drop] :IN= OUT=eth2 SRC=192.168.1.2 DST=192.168.1.1 LEN=92
TOS=0x10 PREC=0x00 TTL=64 ID=327 DF PROTO=TCP SPT=22 DPT=3336 WINDOW=7504 RES=0x00 ACK PSH URGP=0
調査したところ、 下記のページでは、
URLリンク(www.redhat.com)
次のようにしろと書いてあります。
iptables -A OUTPUT -p udp --sport 22 -j ACCEPT # -p は udp
確かに、こうするとdropログは消えました。また通信もできています。
うーん、非常に納得いきません。