10/12/18 00:08:02 uNhNJH/0.net
PCルーターを作ろうと思ってそろそろ1年。おおむね良好だが、よく分かってない部分も多い。
整理をかねて、分かっていないものの中からいくつか書いてみようと思う。
FORWARDでのESTABLISHEDなパケットの許可(内側[eth1]→インターネット側[eth0])に
"! --syn"を念のためと加えてみたところ、
iptables -A FORWARD -i eth1 -o eth0 -p tcp -m state --state ESTABLISHED -j ACCEPT
↓
iptables -A FORWARD -i eth1 -o eth0 -p tcp ! --syn -m state --state ESTABLISHED -j ACCEPT
以下のようなDROPログ(途中でマッチせず、デフォルトポリシーで弾かれるもの)が出るようになった。
[FORWARD DROP] : IN=eth1 OUT=eth0 SRC=192.168.0.3 DST=207.29.226.25 LEN=48 TOS=0x00
PREC=0x00 TTL=127 ID=61849 DF PROTO=TCP SPT=21610 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0 OPT …
192.168.0.3 : クライアントPC(WindowsXp SP3)
207.29.226.25 : tiger3556.maido3.com 2ちゃんねる yuzuru.2ch.net
上のは一例で、似たようなのは他にいくつかあるが、いずれも
iptables -A FORWARD -i eth1 -o eth0 -p tcp -m state --state ESTABLISHED -j LOG
にて、"! --syn"を足さなければESTABLISHEDとして許可されることを確認している。
「ESTABLISHEDかつSYN」なパケット。何故このようなものが生じるのだろう。
発生頻度は低く、再現性も無いが、たま~にポツリ…と発生する。
RFC793には、ESTABLISHEDステートでSYNビットが立っているのはエラーだと書かれているようだが?
英語能力も含め、いろいろスキルが足りないので原因が分かっていない。