標籤:iptables總結
一、3表5鏈
3表:Filter、NAT、Mangle
5鏈:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING
Filter表:INPUT、OUTPUT、FORWARD
NAT表:PREROUTING、POSTROUTING、OUTPUT
Mangle(破壞者):早期僅有PREROUTING及OUTPUT鏈,從kernel2.4.18之後加入INPUT及FORWARD鏈
二、iptables文法
1、規則的查看與清除
iptables [-t table] [-L] [-nv]
-t :後接table,比如nat或filter,預設為filter
-L :列出table的規則
-n :不進行IP與HOSTNAME反查
-v :列出更多資訊
2、列出完整防火牆規則
iptables-save [-t table]
3、清除規則
iptables [-t table] [-FXZ]
-F :清除所有的已制定的規則
-Z :清除掉所有自訂的tables
-X :將所有的chain的計數與流量統計都歸零
4、定義預設的策略(policy)
iptables [-t nat] -p [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
5、針對IP、網路及介面裝置的設定
iptables [-AI 鏈名] [-io 網路介面] [-p 協議] [-s 來源IP/網路] [-d 目標IP/網路]
-j [ACCEPT|DROP|REJECT|LOG]
-A :新增一條規則
-I ;插入一條規則
-i :資料包進入的網路介面,如eth0,lo等。需與INPUT鏈結合
-o :資料包出去的網路介面,需與OUTPUT鏈結合
-p :協議
6、針對連接埠的設定
iptables [-AI 鏈] [-io 介面] [-p tcp,udp] [-s 來源IP/網路] [--sport 連接埠範圍]
[-d 目標IP/網路] [--dport 連接埠範圍] -j [ACCEPT|DROP|REJECT|LOG]
7、iptables外掛模組:mac與state
iptables -A INPUT [-m state] [--state 狀態]
-m :iptables的外掛模組
state :狀態模組
mac :網卡硬體地址
--mac-source :來源主機mac
--state :一些資料包的狀態
INVALID :無效資料包
ESTABLISHED :已經串連成功的串連狀態
NEW :建立立串連的資料包狀態
RELATED :資料包是與主機發送出去的資料包有關
8、針對ICMP資料包規則設定
iptables -A INPUT [-p icmp] [--icmp-type 類型] -j ACCEPT
9、規則儲存
/etc/init.d/iptables save
10、IPV4的核心管理功能:/proc/sys/net/ipv4/*
1)/proc/sys/net/ipv4/tcp_syncookies(阻擋SYN Flooding)
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
2)/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
3)/proc/sys/net/ipv4/conf/網路介面/*
rp_filter:逆向路徑過濾
log_martians:記錄不合法的IP來源
註:可以修改系統設定,即/etc/sysctl.conf
vi /etc/sysctl.conf
……
sysctl -P
本文出自 “行走中成長,點滴記錄…” 部落格,請務必保留此出處http://poseidon2011.blog.51cto.com/7553825/1886813
iptables總結_01