Iptables防火墻自定義鏈表實現(xiàn)方式
1.為什么要自定義鏈
為什么需要自定義鏈呢?默認的四表五鏈不滿足基本使用嗎?其實并不是,四表五鏈完全滿足使用,但是當我們同一類程序有很多個防火墻規(guī)則時,例如都寫在INPUT鏈中,那么當我們要對其中的一條規(guī)則進行調整了,就會發(fā)現(xiàn)上下有關聯(lián)性,修改起來不是那么容器,因為這個INPUT鏈中還有其他的服務規(guī)則。
基于這種情況,我們就可以去自定義一張新的鏈,在這個鏈中,只定義這一類程序的防火墻規(guī)則。
自定義鏈的規(guī)則優(yōu)先級:
- 請求首先到達默認的鏈匹配相應的規(guī)則。
- 當發(fā)現(xiàn)請求是要轉發(fā)到自定義的鏈時,去自定義鏈中按照上下順序進行規(guī)則的匹配。
- 當自定義鏈中沒有合適的匹配規(guī)則時,會繼續(xù)執(zhí)行默認鏈中的規(guī)則。
2.自定義鏈的基本應用
1)創(chuàng)建一個自定義鏈
[root@jxl-1 ~]# iptables -t filter -N IN_HTTP
2)在自定義的鏈中添加防火墻規(guī)則
添加了一條防火墻規(guī)則,來自192.168.20.21源地址的客戶端禁止訪問192.168.20.20主機的80端口。
[root@jxl-1 ~]# iptables -t filter -I IN_HTTP -s 192.168.20.21 -d 192.168.20.20 -p tcp --dport 80 -j DROP
3)應用自定義的鏈
雖然已經創(chuàng)建了自定義鏈,鏈中也有具體的防火墻規(guī)則,但是實際上沒有任何作用,因為發(fā)過來的請求依舊會進入到INPUT鏈,還需要在Iptables中應用一下自定義的鏈,使請求轉發(fā)到自定義的鏈上。
應用自定義的鏈其實就是在INPUT鏈插入一條規(guī)則,這條規(guī)則就是將數(shù)據報文轉發(fā)給自定義的鏈。
將所有來自80端口的數(shù)據報文轉發(fā)到IN_HTTP鏈。
[root@jxl-1 ~]# iptables -t filter -I INPUT -p tcp --dport 80 -j IN_HTTP
3)查看設置的防火墻規(guī)則
4)測試效果
192.168.20.21無法請求192.168.20.20主機的80端口。
3.刪除自定義的鏈
首先刪除自定義鏈中的規(guī)則,然后刪除應用自定義鏈的規(guī)則,最后刪除自定義的鏈。
1.刪除自定義鏈中的規(guī)則 [root@jxl-1 ~]# iptables -t filter -D IN_HTTP 1 2.刪除應用自定義鏈的規(guī)則 [root@jxl-1 ~]# iptables -t filter -D INPUT 1 3.刪除自定義鏈 [root@jxl-1 ~]# iptables -t filter -X IN_HTTP
以上就是Iptables防火墻自定義鏈表實現(xiàn)方式的詳細內容,更多關于Iptables防火墻自定義鏈表的資料請關注腳本之家其它相關文章!