IPtables:透過現有轉送規則進行 ipset 過濾

IPtables:透過現有轉送規則進行 ipset 過濾

我按照指南設定了樹莓派以連接到 VPN,然後將流量從 LAN NAT 到 VPN 以保護它。

我還使用它進行 DNS 過濾(廣告攔截)。

網域過濾不會過濾掉我不喜歡的 IP,因此我正在嘗試了解 ipsets 以禁止與 Internet 的廣大區域進行通訊。

目前,我執行所有這些操作的腳本如下所示:

iptables -F

ipset restore < /etc/ipset-blacklist/ip-blacklist.restore

iptables -I INPUT 1 -m set --match-set blacklist src -j DROP
iptables -I FORWARD -m set --match-set blacklist src -j DROP
iptables -I OUTPUT -m set --match-set blacklist src -j DROP

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -L

這有效!

但我不明白為什麼,而且我認為我不需要輸入、轉發和輸出的所有三個黑名單規則 - 我覺得我以錯誤的方式實現了工作結果 - 並且沒有理解它。

任何比我聰明的人都可以看到我正在嘗試做的事情、我所取得的成就以及我錯在哪裡嗎?

另外,這一行中的「1」代表什麼:

iptables -I INPUT 1 -m set --match-set blacklist src -j DROP

這就是目標,已經在某種程度上實現了: 區域網路目標

答案1

編輯::“1”表示規則的順序。

FORWARD 鍊是唯一必要的鏈,而不是全部三個。

我認為這是因為所有流量都被轉送。

相關內容