
我搜索了又搜索,找不到任何有關 iptables 參數如何組合的信息。
如果我想匹配某個 IP 位址的流量或來自某個 IP 位址的流量,我可以做什麼-s a.b.c.d -d a.b.c.d
?也就是說,-s
和-d
參數組合為或者(資料包符合任何)或和(數據包全部匹配)?
-m iprange
有點相關,和-s
和 是如何-d
相互作用的?也就是說,我可以使用-m iprange --src-range 10.0.0.1-10.0.0.8
指定範圍然後添加-s !10.0.0.5
來進行例外嗎?
答案1
最好的學習方法就是測驗。是的,您可以組合-s
和-d
,但是它是否有意義取決於您在哪個表中使用該規則。
一條規則的所有參數都是AND
。如果需要OR
,您可以建立一個向其發送流量的表。
有些組合會產生錯誤,最好還是嘗試。
假設您的策略被接受,並且您只想在規則匹配時進行匹配。新增規則,iptables -A OUTPUT -s x.x.x.x -d x.x.x.x -j ACCEPT
因為目標將與預設值相同,它沒有任何影響,但它會顯示iptables -vnL
並具有計數器。
有更高級的日誌記錄等,但這是快速測試規則的快速且簡單的方法。 (當然,tcpdump 是你的朋友)
關於這一點,iprange
我再次強調,最好的方法就是進行測試。在最壞的情況下,嘗試新增規則將會出錯。 (希望其他人能為您的這部分問題提供更好的答案)