透過 pf 來限制某國 IP 才能存取某些 ports 的方法

簡單說就是鎖國啦。
這個上一手資訊來自機八林餅幹
忘記他是從哪邊看來的。
反正幾乎沒在出國的話把 ssh port 之類的鎖起來可以省很多力氣。

先去裝 net-mgmt/netmask,
然後執行這個命令:

再去 /etc/pf.conf 加點東西:

然後 /etc/rc.d/pf reload 就好。

那個列表的更新高興的話丟 crontab 跑也是可以,
但是建議先 check 一下抓下來的是不是 0 bytes 或其它錯誤訊息再搬過去,
以免因為一時網路斷線或種種其它原因而發生一些奇怪的慘案

一次想鎖很多 ports 的話就把 port 22 改成 port {21,22,23} 這樣,
其實 syntax 在 man pf.conf 都有講了也不用再這多廢話。
至於這招在只能用 iptables 的場合下怎麼玩我就不知道了。