現在、ポート 22 のトラフィックを制限する次の規則があります。これはすべてのトラフィックに適用されますが、1つのIP(xxxxなど)には適用したくありません。どうすればいいですか?したがって、トラフィックがxxxxとポート22で発生する場合は、速度制限はありません。
tc filter add dev eth1 parent ffff: protocol ip u32 \
match ip sport 22 0xffff \
police rate 800kbit burst 24000 drop flowid :1
答え1
そのIPを空のIPに一致させるフィルタを追加できます。行動これは、追加のフィルタリングなしでパケットを「通過」として分類します。優先順位を指定しないと順序を推測できないため、両方のフィルタ優先順位(別名プリオまたは好み) 置く。したがって、IP 192.0.2.10をレート制限から除外するには、フィルタを次の2つに置き換えることができます。
tc filter add dev eth1 parent ffff: protocol ip priority 1 \
u32 match ip src 192.0.2.10 action pass
tc filter add dev eth1 parent ffff: protocol ip priority 2 \
u32 match ip sport 22 0xffff action police rate 800kbit burst 24000 drop flowid :1
気づく警察やはりアクションですが、アクションキーワードはオプションです(一方渡すオプション)。
それでも状況に応じて、受信トラフィックをポリシー化(削除)するのではなく、送信トラフィックにシェーピング(削除前の遅延)を使用することを検討する必要があります。これにより、パケットのパフォーマンスが向上します(回線での重複防止)。滴)。