[Linux] 限制時間上 Facebook

Facebook 花去太多時間, 所以在 Linux 上加了一條 Rule 限制自己

時間模組是用 iptables 的 time , 寫起來像是這樣
$iptables -N limit_fb => 新增一個新個 Rule 叫 limit_fb
$iptables -A OUTPUT -p tcp -m tcp -m time –kerneltz –timestart 22:00 –timestop 18:00 –dport 443 -j limit_fb

–timestart 是開始時間
–timestop 是結束時間
–kerneltz 是使用本地時間, 不設預設用 UTC

因為 Facebook 都是用 https , 所以沒有很好的方式可以過濾 url
所以我選擇用 IP/RANGE 的方式阻擋.
Facebook 的所有 IP 位置可以從 AS 取得
用一個簡單的指令就可以取得

$ whois -h whois.radb.net ‘!gAS32934

將所有的 IP 加到 Rule tables 內

FBAS=`whois -h whois.radb.net ‘!gAS32934’ | tail -n 2 | head -n 1`
for i in $FBAS; do
$iptables -I limit_fb -d $i -j DROP
done

效果還不錯

最近又接上 IPv6 了, 如果要取得 Facebook IPv6 的範圍, 可以用這個指令

FBAS=`whois -h whois.radb.net — ‘-i origin AS32934’ | grep route6 | awk ‘{print $2}’`
for i in $FBAS; do
$ip6tables -I limit_fb -d $i -j DROP
done

ref.
Get all IP ranges from an AS number
Whois at the CLI: get all IP ranges from an AS number

On this day..

Share and Enjoy:
  • Print
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Plurk
Related Posts

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>