在linux kernel所用的防火牆機制

語法:

列出filter table 的規則: sudo iptables -L -n
列出filter table 的規則,加上封包等資訊: sudo iptables -L -nv

**
沒打sudo會出現
FATAL: Error inserting ip_tables (/lib/modules/2.6.32-24-generic/kernel/net/ipv4/netfilter/ip_tables.ko): Operation not permitted
iptables v1.4.4: can't initialize iptables table `filter': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
害我以為要更新甚麼的,完全沒注意到 (you must be root)這句@@
**

刪除規則
Delete all rules in chain or all chains: iptables -F
Zero counters in chain or all chains: iptables -X
Delete a user-defined chain: iptables -Z



制定policy


有三個表 INPUT:進來主機 FORWARD:主機轉送 OUTPUT:從主機出去

把INPUT設為DROP: iptables -P INPUT DROP
**
現在封包都進不來主機了
**
來自lo介面的封包都允許通過 iptables -A INPUT -i lo -j ACCEPT
來自此ip的封包都允許通過 iptables -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -j ACCEPT
**
除了以上兩個其它封包都進不來
**

制定tcp udp規則

開啟一些常用port 20-25 53 110等
iptables -A INPUT -i eth0 -p tcp --dport 20:25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 113 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT

狀態模組(好像蠻好用的)
有四種STATE
INVALID :無效的封包
ESTABLISHED:已經連線成功的狀態
NEW :想要新建立連線的封包狀態
RELATED :封包和主機送出去的封包有關

讓RELATED,ESTABLISHED 的封包進來
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

開放mac
iptables -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff -j ACCEPT

儲存與回復
iptables-save > filename
iptables-restore < filename

@如果在家裡透過hinet上網 eth0要改成ppp0


參考資料
鳥哥的 Linux 私房菜 http://linux.vbird.org/

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 yukiaa11 的頭像
    yukiaa11

    yukiaa11

    yukiaa11 發表在 痞客邦 留言(0) 人氣()