
これは私のルールです。泣いたそしてiptables、レコードは次の場所に保存されます/var/log/ulog/sysloemu.log
。
iptables -A INPUT -p tcp --sport 1234 -j NFLOG --nflog-prefix 'example block'
iptables -A INPUT -p tcp --sport 1234 -j DROP
私はこの規則を単純化したいと思います。私はこれを試しましたがうまくいきません:
iptables -A INPUT -p tcp --sport 1234 --nflog-prefix 'example block' -j DROP
出て:
iptables v1.8.4 (legacy): unknown option "--nflog-prefix"
Try `iptables -h' or 'iptables --help' for more information"
しかし、ebtablesこれを受け入れます(少なくともエラーは発生しません)。
ebtables -A INPUT --protocol ipv4 --ip-proto tcp --ip-sport 1234 --nflog-prefix 'example block' -j DROP
解く方法はありますか?ニューラルネットワークログ(--nflog-prefix
)iptablesルールに1行だけ残っていますか?
PD:それとも、nftablesに加えてこれらの規則を単純化する別の代替案がありますか?
PD:私のiptablesスクリプトには似たような規則がたくさんあるので、どんな規則でも機能する解決策が欲しいです。
PD:同様の質問があります。ここしかし、解決策は私が探しているものではありません。
修正する:
私はこれを試しました(@ Tom Yanに感謝します):
# variable prefix
A='block A'
B='block B' # in this case i need to repeat the loop (and increase the number of lines)
iptables -N NFLOG_AND_DROP
iptables -A NFLOG_AND_DROP -j NFLOG --nflog-prefix "$A"
iptables -A NFLOG_AND_DROP -j DROP
# rules
iptables -A INPUT -p tcp --sport 1234 -j NFLOG_AND_DROP
iptables -A FORWARD -p tcp --dport 1234 -j NFLOG_AND_DROP
ただし、シーケンスとiptablesスクリプトを減らす代わりに繰り返す必要があるため、他の行を追加することはできません。--nflog-prefix
これにより、行数が増えます(誰かがこの問題を解決するためにループを考案しない限り)。
答え1
私の考えであなたができる最善は次のとおりです。
-N log_and_drop
-A log_and_drop -j NFLOG --nflog-prefix "shared prefix"
-A log_and_drop -j DROP
-A INPUT -p tcp --sport 1234 -g log_and_drop
-A INPUT -p udp --sport 4321 -g log_and_drop
いくつかの(一致する)ルールが同じログプレフィックスを共有する必要があるとします。