
我按照指南設定了樹莓派以連接到 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 鍊是唯一必要的鏈,而不是全部三個。
我認為這是因為所有流量都被轉送。