テスト環境は次のとおりです。
2 オペレーティング システム ubuntu サーバー 10.04 が VirtualBox にインストールされている
iptables v1.4.4
ip_conntrack モジュールがロードされました
これらは私のテストルールです:
$IPTABLES -A INPUT -p TCP -m state --state NEW -j LOG --log-prefix "[-IPT-]NEW:"
$IPTABLES -A INPUT -p TCP -m state --state ESTABLISHED -j LOG --log-prefix "[-IPT-]ESTABLISHED:"
$IPTABLES -A INPUT -p TCP -m state --state RELATED -j LOG --log-prefix "[-IPT-]RELATED:"
$IPTABLES -A INPUT -p TCP -m state --state INVALID -j LOG --log-prefix "[-IPT-]INVALID:"
使用して
hping3 -c 1 192.168.0.1 -p 80 [flags combination]
私は得る:
no flag INVALID
syn NEW
ack NEW
rst INVALID
fin INVALID
syn ack INVALID
syn rst INVALID
syn fin INVALID
ack rst INVALID
ack fin INVALID
rst fin INVALID
syn ack rst INVALID
syn rst fin INVALID
ack rst fin INVALID
syn ack rst fin INVALID
私は、netfilter によって見られる最初のパケットが NEW (ユーザー ランド内) でなければならないというチュートリアルをさらに読みました。自分のコンピューターに動作しないものがあるかどうかわかりません。
次に、インターネット上には、接続状態と tcp フラグの両方を考慮してフィルタリングするルールがたくさんあります。これらはすべて間違っていますか?理由は非常に単純です: new と ! に一致するパケットをドロップしている場合。--syn、結果は苦痛です...多くのパケットが「ファイアウォール」を通過します(そのように命名できる場合)
新しいバージョンの iptables の動作が異なる可能性はありますか?
お使いのコンピュータで同じ結果が得られているか確認していただけますか? thx、感謝します!