iptables 規則提交與特定否定規則相符的資料包

iptables 規則提交與特定否定規則相符的資料包

我正在使用 netfilter_queue 從核心中獲取某些資料包並對它們進行一些處理。對於 netfilter 佇列,我需要來自特定來源的所有資料包except UDP packets with src port 2152 & dst port 2152.

我嘗試將 iptable 規則新增為

iptables -A OUTPUT ! s 192.168.0.3 ! -p udp ! --sport 2905 ! --dport 2905 -j NFQUEUE --queue-num 0

iptables 拋出 Invalid Argument 錯誤。查詢 dmesg,我看到以下錯誤列印

ip_tables: udp match: only valid for protocol 17

我嘗試了以下變體,但拋出相同的錯誤了。

iptables -A OUTPUT ! s 192.168.0.3 ! -p udp --sport 2905 --dport 2905 -j NFQUEUE --queue-num 0

您能否建議我的案例中 iptables 指令的正確用法?

答案1

如果您建立一條鏈,將所有內容傳送到鏈,並對您不希望鏈處理的任何內容執行 RETURN,那麼編寫規則可能會容易得多。透過鏈,您可以稍後添加其他例外,而不必提出非常複雜的規則。

iptables -t filter -N out_queue
iptables -t filter -A OUTPUT -j out_queue
iptables -t filter -A out_queue -p udp --sport 2905 -j RETURN
iptables -t filter -A out_queue -p udp --dport 2905 -j RETURN
iptables -t filter -A out_queue -j NFQUEUE --queue-num 0

答案2

不應該的!在選項之後?

iptables -A OUTPUT -s ! 192.168.0.3 -p udp --sport ! 2905 --dport ! 2905 -j NFQUEUE --queue-num 0

答案3

嘗試:

iptables -A OUTPUT -s 192.168.0.3 -p udp --sport!2905 --dport!2905 -j NFQUEUE --queue-num 0

相關內容