
我正在尋找一種可靠的方法來阻止不必要的 TCP/IP 流量。
在我的 Linux 機器上 iptables 和 ipset 似乎提供了一個很好的方法來做到這一點。
到目前為止我已經這樣做了:
ipset create ipsok hash:net maxelem (result of wc -l for my cidr list in a file)
ipset add <network address>
並確保這是唯一的 ipset 使用:
service ipset status
這僅顯示具有正確數量條目的 ipset ipsok。我還確保重啟後使用 ipset。然後我將 ipset 加入到 iptables 規則中:
iptables -I INPUT -m set --match-set ipsok src -j ACCEPT
為了測試這是否有效,我讓 TOR 向我提供一個 IP 位址並使用以下命令進行檢查:
ipset test ipsok <tor ip address>
這告訴我地址是不是在 ipsok 集中。
當我將 Tor 瀏覽器定向到我的機器時,連接就建立了。它是否正確?我以為連線會失敗,因為在 ipset 中找不到 ip 位址。
我需要做什麼才能使 iptables(和 ipset)阻止流量不是來自 ipset ipsok 中的任何網路位址?
答案1
iptables 的預設策略是ACCEPT
.因此,透過將 IP 新增到您的清單中,您只需接受它們兩次。
您iptables -L
應該顯示盡可能多的內容 - 也就是說,唯一的規則將是接受規則。
將預設值變更為 DROP,然後將您的專案新增至 ACCEPT。
在設定匹配規則之前嘗試一下:
iptables -P INPUT DROP
請小心 - 不要遠端執行此操作,否則您可能會將自己鎖在門外。