1.查看表中規(guī)則
# 查看filter表中所有規(guī)則
iptables -t filter -L
# 查詢(xún)filter表中INPUT鏈規(guī)則
iptables -t filter -L INPUT
2.查看規(guī)則詳情
# 加入-v參數(shù)淘衙,查看詳情
iptables -t filter -L -v
規(guī)則字段含義:
- pkts:對(duì)應(yīng)規(guī)則匹配到的報(bào)文的個(gè)數(shù)哼勇。
- bytes:對(duì)應(yīng)匹配到的報(bào)文包的大小總和契沫。
- target:規(guī)則對(duì)應(yīng)的target捧毛,往往表示規(guī)則對(duì)應(yīng)的”動(dòng)作”欺旧,即規(guī)則匹配成功后需要采取的措施姑丑。
- prot:表示規(guī)則對(duì)應(yīng)的協(xié)議,是否只針對(duì)某些協(xié)議應(yīng)用此規(guī)則切端。
- opt:表示規(guī)則對(duì)應(yīng)的選項(xiàng)彻坛。
- in:表示數(shù)據(jù)包由哪個(gè)接口(網(wǎng)卡)流入,我們可以設(shè)置通過(guò)哪塊網(wǎng)卡流入的報(bào)文需要匹配當(dāng)前規(guī)則踏枣。
- out:表示數(shù)據(jù)包由哪個(gè)接口(網(wǎng)卡)流出昌屉,我們可以設(shè)置通過(guò)哪塊網(wǎng)卡流出的報(bào)文需要匹配當(dāng)前規(guī)則。
- source:表示規(guī)則對(duì)應(yīng)的源頭地址茵瀑,可以是一個(gè)IP间驮,也可以是一個(gè)網(wǎng)段。
- destination:表示規(guī)則對(duì)應(yīng)的目標(biāo)地址马昨【好保可以是一個(gè)IP,也可以是一個(gè)網(wǎng)段鸿捧。
上圖中的源地址與目標(biāo)地址都為anywhere屹篓,iptables默認(rèn)為我們進(jìn)行了名稱(chēng)解析,但是在規(guī)則非常多的情況下如果進(jìn)行名稱(chēng)解析匙奴,效率會(huì)比較低堆巧,我們可以使用 -n
選項(xiàng),表示不對(duì)IP地址進(jìn)行名稱(chēng)反解,直接顯示IP地址
鏈括號(hào)中的參數(shù)含義:
Chain INPUT (policy ACCEPT 4883 packets, 342K bytes)
- policy表示當(dāng)前鏈的默認(rèn)策略谍肤,policy ACCEPT表示上圖中INPUT的鏈的默認(rèn)動(dòng)作為ACCEPT啦租,換句話說(shuō)就是,默認(rèn)接受通過(guò)INPUT關(guān)卡的所有請(qǐng)求荒揣,所以我們?cè)谂渲肐NPUT鏈的具體規(guī)則時(shí)篷角,應(yīng)該將需要拒絕的請(qǐng)求配置到規(guī)則中,說(shuō)白了就是”黑名單”機(jī)制系任,默認(rèn)所有人都能通過(guò)恳蹲,只有指定的人不能通過(guò)。
- packets表示當(dāng)前鏈(上例為INPUT鏈)默認(rèn)策略匹配到的包的數(shù)量赋除,0 packets表示默認(rèn)策略匹配到0阱缓。
- bytes表示當(dāng)前鏈默認(rèn)策略匹配到的所有包的大小總和。
3.顯示規(guī)則行號(hào)
iptables --line-number -nvL INPUT
// 查看精細(xì)的字節(jié)數(shù)可以加-x參數(shù)
iptables -nvxL INPUT
4.添加規(guī)則
使用 -I
或者 -A
來(lái)添加規(guī)則举农。
# 14.215.177.39 為百度的一個(gè)ip
iptables -t filter -I INPUT -s 14.215.177.39 -j DROP
iptables -t filter -A INPUT -s 14.215.177.39 -j ACCEPT
# 在INPUT鏈的第一行添加規(guī)則
iptables -t filter -A INPUT 1 -s 14.215.177.39 -j ACCEPT
使用-I選項(xiàng)荆针,指明將”規(guī)則”插入至哪個(gè)鏈中,-I表示insert颁糟,即插入的意思航背,所以-I INPUT表示將規(guī)則插入于INPUT鏈中,即添加規(guī)則之意棱貌。
使用-s選項(xiàng)玖媚,指明”匹配條件”中的”源地址”,即如果報(bào)文的源地址屬于-s對(duì)應(yīng)的地址婚脱,那么報(bào)文則滿(mǎn)足匹配條件今魔,-s為source之意,表示源地址障贸。
使用-j選項(xiàng)错森,指明當(dāng)”匹配條件”被滿(mǎn)足時(shí),所對(duì)應(yīng)的動(dòng)作篮洁,上例中指定的動(dòng)作為DROP涩维,在上例中,當(dāng)報(bào)文的源地址為14.215.177.39時(shí)袁波,報(bào)文則被DROP(丟棄)瓦阐。
5.刪除規(guī)則
# 刪除多少行,刪除第一行規(guī)則
iptables -t filter -D INPUT 1
6.修改規(guī)則
使用 -R
來(lái)更改指定行數(shù)規(guī)則
# 將INPUT鏈第一行規(guī)則改為接受14.215.177.39的報(bào)文,此處一定要加上-s,否者將默認(rèn)0.0.0.0/0篷牌,接受全部睡蟋。
iptables -t filter -R INPUT 1 -s 14.215.177.39 -j ACCEPT
7.設(shè)置鏈默認(rèn)規(guī)則
使用 -P
參數(shù)設(shè)置鏈默認(rèn)規(guī)則
# 設(shè)置filter表FORWARD鏈默認(rèn)規(guī)則為DROP
iptables -t filter -P FORWARD DROP
8.保存/恢復(fù)配置信息
使用iptables-save
指令
iptables-save > /data/iptables-rules
iptables-restore < /data/iptables-rules