Networking
使用 PF 阻止到特定 IP 的傳出連接
每當任何 TCP 請求發送到特定 IP 地址時,有人可以給我提示如何設置基本拒絕規則嗎?我正在使用PF 數據包過濾器。有什麼幫助嗎?
/etc/pf.conf
在您的配置中,最基本的形式如下所示:block from any to 192.0.2.2 # which is equivalent to: block drop from any to 192.0.2.2
預設情況下,此
block
操作將在所有介面上從源 IP 在兩個方向上靜默drop
發送數據包。因為客戶端不知道它被阻止了,所以它會超時並可能再次嘗試,一次又一次……any
block return
是*“友好鄰居”的方式,通過以特定協議的方式響應TCP RST(重置)或ICMP UNREACHABLE*數據包,讓客戶端知道地址不可達。客戶可以使用此資訊放棄,或以理智的方式重試。block return from any to 192.0.2.2
block
可以使用該set block-policy
選項更改預設行為。一個更複雜的範例 - 但當您的規則集開始增長時更易於管理和閱讀:
mybadhosts = "{ 192.0.2.2, 203.0.113.0/24 }" ext_if = "em0" block return on $ext_if from any to $mybadhosts # example #1 block return on em0 from any to { 192.0.2.2, 203.0.113.0/24 } # ^expanded form block drop out on egress from any to $mybadhosts # example #2
範例 #1顯示了變數、列表
{}
、網路遮罩的簡單使用/24
,並指定了介面em0
。(注意變數的定義沒有 $ 符號,並且在執行時擴展規則時刪除了引號)範例 #2在介面組上丟棄
out
出站數據包(請參閱)egress``ifconfig(8)
也可以看看: