如何理解Linux的iptables,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
成都創(chuàng)新互聯(lián)主營萊蕪網站建設的網絡公司,主營網站建設方案,重慶APP軟件開發(fā),萊蕪h5微信平臺小程序開發(fā)搭建,萊蕪網站營銷推廣歡迎萊蕪等地區(qū)企業(yè)咨詢所謂防火墻,實質上是指由軟硬件組合成的一個在內外網之間構造的一種保護屏障,它是一種隔離技術。因此從物理上區(qū)分,可以分為軟件和硬件防火墻,從邏輯上區(qū)分,可以分為主機和網絡防火墻,而我們現(xiàn)在要講到的iptables,是屬于防火墻中的軟件防火墻的范疇,但它只是一個命令行工具或者說是一種客戶端代理,并不是真正的防火墻,用戶通過這個代理,把安全設定執(zhí)行到真正的防火墻框架中,這個框架叫做Netfilter |
原理
Netfilter是 Linux 中的一個子項目,它的主要功能是進行數(shù)據(jù)包過濾、連接跟蹤、地址轉換等,而iptables則是netfilter提供的對用戶數(shù)據(jù)包進行過濾、修改等操作的一種命令行工具,當數(shù)據(jù)包通過網卡進入進入內核時,它得先經過iptables的五條鏈,這些鏈都有相應的處理數(shù)據(jù)包的規(guī)則,而我們正是通過在這些鏈上設置規(guī)則來控制管理數(shù)據(jù)包,從而達到防火墻的功能。每當數(shù)據(jù)包到達一個鏈時,iptables就會從鏈中的所有規(guī)則逐一開始校驗該數(shù)據(jù)包是否符合規(guī)則中限定的條件。若滿足,系統(tǒng)就會根據(jù)每個規(guī)則定義的方法來處理該數(shù)據(jù)包;若不滿足,iptables則繼續(xù)檢查下一條規(guī)則,如果該數(shù)據(jù)包不符合鏈中的任意規(guī)則,iptables則會該鏈的默認策略去處理該數(shù)據(jù)包。
四個表
iptables的結構是由tables組成,而tables是由鏈組成,鏈又是由具體的規(guī)則組成。因此我們在編寫iptables的規(guī)則時,通過要先指定表,再指定鏈。tables的作用是區(qū)分不同功能的規(guī)則,并且存儲這些規(guī)則。
tables的類型分別有:
五條鏈
鏈,也稱為鉤子函數(shù),它是一系列規(guī)則的一個組合,當數(shù)據(jù)包經過這些狗子函數(shù)時,她必須完全匹配每一個鉤子函數(shù)中的所有規(guī)則,方能進入下一個鉤子函數(shù)。
鉤子函數(shù)的類型分別有:
語法規(guī)則
語法:iptables [-t 表名] 命令選項 [鏈名] [條件匹配] [-j 目標動作或跳轉]
1)常用的命令選項:
-t:指定要操縱的表(四個表); -A:向規(guī)則鏈中添加條目; -D:從規(guī)則鏈中刪除條目; -i:向規(guī)則鏈中插入條目; -R:替換規(guī)則鏈中的條目; -L:顯示規(guī)則鏈中已有的條目; -F:清楚規(guī)則鏈中已有的條目; -Z:清空規(guī)則鏈中的數(shù)據(jù)包計算器和字節(jié)計數(shù)器; -N:創(chuàng)建新的用戶自定義規(guī)則鏈; -P:定義規(guī)則鏈中的默認目標; -h:顯示幫助信息; -p:指定要匹配的數(shù)據(jù)包協(xié)議類型; -s:指定要匹配的數(shù)據(jù)包源
2)常用的處理動作:
ACCEPT:允許數(shù)據(jù)包通過 DROP:直接丟棄數(shù)據(jù)包,不給任何回應信息 REJECT: 拒絕數(shù)據(jù)包通過,必要時會給數(shù)據(jù)發(fā)送端一個響應的信息。 LOG:在/var/log/messages文件中記錄日志然后將數(shù)據(jù)包傳遞給下一條規(guī)則 REDIRECT: 端口映射。 SNAT :源地址轉換,修改包來源IP為某IP或IP范圍,做內網和公網之間的轉換。 DNAT::目標地址轉換。 修改數(shù)據(jù)包目的地IP為某 Ip 或 IP 范圍。
3)常用的條件匹配:
1、狀態(tài)匹配:-m state --state 連接狀態(tài) NEW:與任何連接無關的 ESTABLISHED:響應請求或已建立連接的 RELATED:與已有連接有相關性的,如FTP數(shù)據(jù)連接 2、MAC地址匹配:-m mac --mac-source MAC地址 eg:iptables -A INPUT -m mac --mac-source f0:1b:12:12:22:4f -j DROP 3、IP范圍匹配:-m iprange --src-range IP范圍 eg:iptables -A FORWARD -p tcp -m iprange --src-range 192.168.0.1-192.168.0.10 -j ACCEPT 4、多端口匹配:-m multiport --sports 源端口列表 和 -m multiport --sports 目的端口列表 eg:iptables -A INPUT -p tcp -m multiport --dport 11,29,116,121 -j ACCEPT
4)常用的一些iptables策略:
1、拒絕轉發(fā)來自192.168.2.33主機的數(shù)據(jù) iptables -A FORWARD -s 192.168.2.33 -j REJECT 2、允許轉發(fā)來自192.168.2.1/99網段的數(shù)據(jù) iptables -A FORWARD -s 192.168.2.1/99 -j ACCEPT 3、允許本機開放從TCP端口20-1024提供的應用服務。 iptables -A INPUT -p tcp --dport 20:1024 -j ACCEPT iptables -A OUTPUT -p tcp --sport 20:1024 -j ACCEPT 4、只允許管理員從202.13.0.0/16網段使用SSH遠程登錄防火墻主機。 iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP 5、 允許轉發(fā)來自192.168.0.0/24局域網段的DNS解析請求數(shù)據(jù)包。 iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT iptables -A FORWARD -d 192.168.0.0/24 -p udp --sport 53 -j ACCEPT 6、屏蔽ip 110.1.1.1的訪問 iptables -I INPUT -s 110.1.1.1 -j DROP 7、屏蔽從123.0.0.1到123.255.255.254iptables -I INPUT -s 123.0.0.0/8 -j DROP 8、屏蔽從從123.45.0.1到123.45.255.254iptables -I INPUT -s 124.45.0.0/16 -j DROP 9、屏蔽從從123.45.6.1到123.45.6.254iptables -I INPUT -s 123.45.6.0/24 -j DROP 10、允許所有本機向外的訪問iptables -A OUTPUT -j ACCEPT 11、允許訪問22端口iptables -A INPUT -p tcp --dport 22 -j ACCEPT
5)常用的iptables命令:
1、查看當前 IPTABLES 規(guī)則 service iptables status 2、 將所有iptables以序號標記顯示 iptables -L -n --line-numbers 3、 比如要刪除INPUT里序號為22的規(guī)則 iptables -D INPUT 22
看完上述內容,你們掌握如何理解Linux的iptables的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)-成都網站建設公司行業(yè)資訊頻道,感謝各位的閱讀!
標題名稱:如何理解Linux的iptables-創(chuàng)新互聯(lián)
本文來源:http://aaarwkj.com/article4/hoiie.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、網站改版、做網站、網站制作、定制開發(fā)、網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)