2009年11月10日 星期二

Firewall指令

#iptables -t filter -L(列出表的規則內容)
                          -F(清空表格的內容 )
                          -A [鏈名大寫] (新增規則在最後一行)
                          -I [鏈名大寫] [行號] (插入到第幾行,可省預設第一行)
                          -R [鏈名大寫] [行號] (覆寫第幾行,不可省略行號)
                          -D[鏈名大寫] [行號] (刪除第幾行,可省預設符合的行)
                          -P(設定default-rule policy,該行永遠在鏈的所有規則之後)
#iptables --help (可查詢更多用法)
-t : 選表格
filter (內定)
nat
manager
raw


=======================
filter表包含三個chain (鏈)(可視為記憶體緩衝區或檢查區)
INPUT
OUTPUT
FORWARD
=======================
實作1

#iptables -F
#iptables -A INPUT -p tcp ACCEPT (-p:protocol為tcp, 動作為ACCEPT)
#iptables -A INPUT -p icmp -j ACCEPT
#iptables -P INPUT DROP (設定內定規則為丟棄)
[root@h155 ~]# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere
ACCEPT     icmp --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
note:除ACCEPT,DROP外,常用REJECT,表示丟棄packet並回報原發送主機,該packet丟棄
======================================
實作2
#iptables -I FORWARD 2 -o eth0 -d www.facebook.com -p tcp --dport 80 -j REJECT

#iptables -R FORWARD 2 -o eth0 -d ! www.facebook.com -p tcp --dport 80 -j ACCEPT

note:
eth0為連上internet之外介面經本機上internet之封包若是http://www.facebook.com的流量則將拒絶,並發訊息告知. (!表示反向的意思)

沒有留言:

張貼留言