這篇文章主要介紹了linux下軟件防火墻iptables的示例分析,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括康巴什網(wǎng)站建設(shè)、康巴什網(wǎng)站制作、康巴什網(wǎng)頁(yè)制作以及康巴什網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,康巴什網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到康巴什省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!防火墻是用戶(hù)限制某些ip或用戶(hù)對(duì)其主機(jī)的訪(fǎng)問(wèn)。防火墻從種類(lèi)上分為兩大類(lèi),硬件防火墻以及軟件防火墻。軟件防火墻主要是對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾,硬件防火墻主要用來(lái)對(duì)惡意攻擊的防護(hù)以及數(shù)據(jù)包的過(guò)濾,比如DDOS攻擊。這里,我們來(lái)講解linux下的軟件防火墻——iptables。
iptables與firewalld
在centOS6下,默認(rèn)的軟件防火墻是iptables,而到了centos7,則是firewalld。它們之間有什么聯(lián)系了,其實(shí)firewalld就是在原iptables上新封裝成的一個(gè)軟件。
學(xué)習(xí)iptables時(shí),建議先關(guān)閉firewalld,并開(kāi)啟iptables
yum install iptables-services systemctl stop firewalld systemctl start iptables
iptables的表和鏈
iptables的不同的表代表著不同的功能,默認(rèn)有4個(gè)表
filter(過(guò)濾器) nat(地址轉(zhuǎn)換) mangle raw
不同的表下面,有著自己的規(guī)則鏈:
filter(INPUT/OUTPUT/FORWARD)
nat(prerouting/output/postouting)
這些鏈代表的意義如下:
INPUT鏈——進(jìn)來(lái)的數(shù)據(jù)包應(yīng)用此規(guī)則鏈中的規(guī)則
OUTPUT鏈——外出的數(shù)據(jù)包應(yīng)用此規(guī)則鏈中的規(guī)則
FORWARD鏈——轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí)應(yīng)用此規(guī)則鏈中的規(guī)則
PREROUTING鏈——對(duì)數(shù)據(jù)包作路由選擇前應(yīng)用此鏈中的規(guī)則
POSTROUTING鏈——對(duì)數(shù)據(jù)包作路由選擇后應(yīng)用此鏈中的規(guī)則
iptables的規(guī)則查看與清除
規(guī)則查看
用法示例:iptables [-t tables] -L [-nv]
選項(xiàng)與參數(shù):
-t后接表類(lèi)型,省略該選項(xiàng),則默認(rèn)為filter表。
-L列出當(dāng)前表的規(guī)則
-n 不進(jìn)行域名與ip反查
-v 顯示更多信息
# 查看filter表的規(guī)則 # iptables -nvL Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 67 4444 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 2 286 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 38 packets, 4664 bytes) pkts bytes target prot opt in out source destination # 查看nat表的規(guī)則 iptables -t nat -L -nv
鏈下的規(guī)則選項(xiàng)的含義如下:
target:代表進(jìn)行的操作,ACCEPT放行、drop丟棄、reject拒絕
prot:代表使用的數(shù)據(jù)包協(xié)議,有tcp、udp以及icmp
opt:說(shuō)明信息
source:對(duì)某來(lái)源主機(jī)進(jìn)行限制
destination:對(duì)某目標(biāo)主機(jī)進(jìn)行限制
上面顯示的INPUT鏈的5條規(guī)則含義如下:
只要數(shù)據(jù)包的狀態(tài)為RELATED,ESTABLISHED,都接受
只要是icmp包都接受
只要是本地回環(huán)網(wǎng)卡,所有數(shù)據(jù)都接受
只要是發(fā)送給22端口的主動(dòng)式連接的TCP數(shù)據(jù)包都接受。
拒絕所有的數(shù)據(jù)包
清楚iptables的規(guī)則
默認(rèn)安裝centOS7后,系統(tǒng)就已經(jīng)有許多iptables的規(guī)則,這里教大家如何去清除這些規(guī)則。
用法示例:iptables [-t tables] [-FXZ]
選項(xiàng)與參數(shù):
-F 清理所有已定制的規(guī)則
-X 清理所有用戶(hù)自定義的規(guī)則
-Z 將所有的統(tǒng)計(jì)計(jì)數(shù)置零
# iptables -F # iptables -X # iptables -Z
查看具體的規(guī)則
使用iptables-save可以查看具體的規(guī)則
用法:iptables-save [-t tables]
# iptables-save -t filter # Generated by iptables-save v1.4.21 on Sat Nov 14 21:51:56 2020 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [56:7196] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited # Completed on Sat Nov 14 21:51:56 2020
定義默認(rèn)策略
當(dāng)我們清楚完規(guī)則后,就只剩下默認(rèn)的策略了。什么是默認(rèn)的策略,就是當(dāng)不滿(mǎn)足我們?nèi)魏我粭l規(guī)則時(shí),就采用默認(rèn)規(guī)則。默認(rèn)的策略有ACCEPT(接受數(shù)據(jù)包)和DROP(丟棄數(shù)據(jù)包)
用法:iptables [-t tables] -P [INPUT|OUTPUT|FORWARD……] [ACCEPT|DROP]
現(xiàn)在,我們嘗試將filter的INPUT鏈的默認(rèn)修改為DROP、OUTPUT及FORWARD鏈修改為ACCETP
iptables -t filter -P INPUT DROP # 注意,該命令敲完后,你的終端就可能會(huì)斷開(kāi)連接了 iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享linux下軟件防火墻iptables的示例分析內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!