Iptables
如何使用 iptables 快速失敗?
受到Pi-hole的啟發,我建立了自己的一個。
它能做什麼:
- Pi-hole 在 Raspberry Pi 的虛擬適配器上配置為我本地網路中的專用 IP。
- 獲取已知垃圾郵件/網路釣魚/廣告伺服器名稱的列表。
- 使用 dnsmasq 作為本地 DNS 將這些伺服器名稱解析為本地 IP(又名 Pi-hole)
- 在 Pi-hole lighttpd 上,提供空的 html 頁面和像素圖像,而不是網路釣魚網站或廣告
- 台式機/智能手機/平板電腦上我網路中的所有瀏覽器都擺脫了不需要的內容
這種方法的好處是它不會影響相同(原始)目標 IP 上的 VirtualHosts 之類的東西。它只是按名稱阻止主機。缺點是只能在家裡使用…
此設置適用於大約 160 萬個站點中的 99%,但有些站點使用 https 或其他埠
8080
來提供其內容。由於空內容只是在埠上提供,因此80
這些站點需要永遠等待,直到例如。火狐放棄了。為了讓它始終適用於所有人,我想停止向請求設備提供內容並擺脫 lighttpd 並添加一些簡單的 iptables 規則,以便與 Pi-hole 的連接快速失敗。
我怎樣才能告訴請求方快速放棄?(意思是,這個特殊宿主的規則應該如何。)
有什麼好的方法建議嗎?
在擺弄
iptables
沒有多大成功之後,我採取了一種完全不同的方法:所有針對垃圾郵件/網路釣魚/廣告伺服器名稱的 DNS 查詢都以 0.0.0.0 響應,例如。瀏覽器檢測為不可路由并快速失敗。
聽起來您已經將鏈上的預設操作
DROP
作為iptables
預設操作。INPUT
將其更改為REJECT
,它將很快失敗。