「hash:ip、port」タイプのIPセットを正しく一致させるには?

「hash:ip、port」タイプのIPセットを正しく一致させるには?

現在の設定には複数のIPv4アドレスを持つサーバーがあります。 IPv6部分は症状が同じなので今は無視します。

ファイアウォールルールでHTTPトラフィックを一致させたいのですが。向かい特定のIPおよびその他のサービス(-j ACCEPT私のテーブルINPUTのチェーンを通過できるようにするfilter

これは効果的にチェーンの2番目の規則は次のとおりですINPUT

-A INPUT -m set --match-set public_services dst -j ACCEPT
-A INPUT -j NFLOG --nflog-prefix  "[IPv4:inp/flt] (drop)"
-A INPUT -j DROP
# filter/INPUT chain ends here

ただし、以前にいくつかのロギングが発生したため、-j DROPトラフィックが期待どおりに許可されず、最後のルールによって破棄されることがわかります。ロギングに使用されるタグは、私のnetfilterルール内で一意です。

私のIP設定は次のとおりです。

# ipset save public_services
create public_services list:set size 8
add public_services public_services4
add public_services public_services6

IPv4特定のIPセットは次のとおりです(実際のIPアドレスは変更されています)。

# ipset save public_services4
create public_services4 hash:ip,port family inet hashsize 1024 maxelem 65536 counters
add public_services4 192.168.0.1,tcp:80 packets 0 bytes 0
add public_services4 192.168.0.1,tcp:22 packets 0 bytes 0

INPUTチェーンのルールが一致することを確認するためにカウンタを有効にしました。しかしそうではないようです。tcpログファイル(編集したMACとIPアドレス)のIP、プロトコル()、およびポートを比較すると、次のように一致するため、これは奇妙だと思います。

[IPv4:inp/flt] (drop) IN=eth0 OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=1.2.3.4 DST=192.168.0.1 LEN=40 TOS=00 PREC=0x00 TTL=242 ID=54321 PROTO=TCP SPT=51433 DPT=80 SEQ=2936666534 ACK=0 WINDOW=65535 SYN URGP=0 MARK=0

また、私のルールをそれぞれIPv4およびIPv6固有のルールとして追加し、そのルールがIPバージョン固有のIPセットを参照しようとしました。これも機能しません。まず、明示的なルールを追加することです。

このような場合、ターゲットIP、プロトコル、ポートを一致させようとしたときに何が間違っているのでしょうか?


追加情報:

上記の規則は項目26なので、その前に明示的な規則を挿入することにしました。

-I INPUT 26 -p tcp -d 192.168.0.1 --dport 80 -j ACCEPT

これはうまくいきます。しかし、私はnetfilterルールの変数部分をできるだけ抽象化してIPセットに入れたいと思います。

だから私は(これを証明するために)以下を付け加えました。それコレクションでは機能しません。)別のルール:

-I INPUT 26 -m set --match-set public_services4 dst -j ACCEPT

これはうまくいきません。 netfilterとIPによって設定されたカウンタによると、この規則は一致しません。

パッケージバージョン関連:

  • IPセット:6.20.1-1
  • iptables:1.4.21-1ubuntu1

ベストアンサー1

あなたのipsetはIPとポートで構成されているので、iptablesにIPとポートが一致するように指示する必要があります。宛先ポートと一致させるにはdstを使用し、それ以外の場合はsrcを使用します。

-A INPUT -m set --match-set public_services dst,dst -j ACCEPT

おすすめ記事