Iptables
iptables:丟棄任何不在白名單上的 ip,短路鏈
我有一個儲存在 ipset 中的 ip 地址白名單。我想為我的輸入鏈制定一個 iptables 規則,其中任何不在白名單上的 IP 都會立即被刪除,並且不會考慮更下游的規則。如果一個 ip 與白名單上的地址匹配,那麼它會繼續沿著鏈向下,檢查其他規則。
如果我只是根據白名單放置預設策略 DROP 和 ALLOW 規則,則可能會將不在白名單上的 IP 地址與鏈中的其他規則進行比較,並根據這些標准允許通過,這是我不想要的。我也不想立即讓符合白名單規則的流量通過(我猜白名單在這裡用詞不當),而是將流量應用於進一步審查。iptables 是否支持這種“DROP on not match”邏輯?
首先創建一個白名單,並選擇一個名稱(標識符)。我
mylist
在這個例子中命名了我的。$ sudo ipset -N mylist iphash
在我的白名單中,我允許
10.10.10.0/24
並且10.80.80.0/24
(然後刪除所有未列出的內容)$ sudo ipset -A mylist 10.10.10.0/24 $ sudo ipset -A mylist 10.80.80.0/24
丟棄來自未在白名單中定義的任何主機的任何流量
$ sudo iptables -A INPUT -m set ! --match-set mylist src -j DROP
然後允許在 whitelsit 中定義的主機與您的要求所需的訪問級別相匹配。