Centos防火墻iptables詳解
在計算機網(wǎng)絡(luò)技術(shù)飛速發(fā)展的今天,網(wǎng)絡(luò)安全問題日益突出,防火墻技術(shù)也越來越受到人們關(guān)注。在一些信息敏感場所,需要自行設(shè)計與開發(fā)符合特定需求的防火墻系統(tǒng)。下面是學(xué)習(xí)啦小編收集整理的Centos防火墻iptables詳解,希望對大家有幫助~~
Centos防火墻iptables詳解
方法/步驟
Centos防火墻iptables是在kernel層實現(xiàn)的,工作在2至4層,iptables根本就沒有服務(wù),我們經(jīng)常在系統(tǒng)中使用的命令servie iptables只是客戶端的一個腳本或者工具,只是告訴kernel幫忙加個參數(shù)修改參數(shù)等交互,再次強調(diào)iptables沒有服務(wù)的概念。
普通用戶是不能用Ping命令的
當(dāng)我們使用命令su – testing,從超級用戶切換到普通用戶testing的時候,通過id可以看到已經(jīng)切換到普通用戶,普通用戶是沒有權(quán)限執(zhí)行ping命令,但實際是可以的,如下圖箭頭所指的地方,用戶權(quán)限這里增加s的意思是任何用戶在執(zhí)行ping命令的時候進(jìn)行身份切換用該文件的宿主權(quán)限執(zhí)行,也就是超級用戶。
包進(jìn)入防火墻處理過程
PREROUTING:數(shù)據(jù)包進(jìn)入路由表之前的狀態(tài),當(dāng)進(jìn)入路由表后,發(fā)現(xiàn)目的地不在本地的時候進(jìn)入轉(zhuǎn)發(fā)狀態(tài)FOWARDING,通過命令查看head /etc/sysctl.conf可以發(fā)現(xiàn)箭頭2的位置net.ipv4.ip.forward=0,設(shè)置為0的意思是發(fā)現(xiàn)目的地不在本地的時候直接丟棄,不再轉(zhuǎn)發(fā)包,設(shè)置為1的時候目的地不在本地的時候進(jìn)行轉(zhuǎn)發(fā)。
Iptables有3張表,分別是filter表、nat表、mangle表,filter是做包過濾的,nat是做地址轉(zhuǎn)換的,mangel是給第3方做開發(fā)的。Filter過濾表可以對INPUT、OUTPUT、FORWARD進(jìn)行過濾。在檢查點input這個地方是對進(jìn)入本地的數(shù)據(jù)包進(jìn)行檢查,在檢查點output這個地方是本地要發(fā)出的數(shù)據(jù)包進(jìn)行檢查,在檢查點forward這個地方是當(dāng)數(shù)據(jù)包進(jìn)入路由表后,發(fā)現(xiàn)目的地不在本地的時候需要轉(zhuǎn)發(fā)的數(shù)據(jù)包進(jìn)行檢查。Iptables –t filter -A INPUT –s 10.0.0.1/24 –j DROP,指定對filter表進(jìn)行過濾,默認(rèn)類型就是-t filter,可以不寫,-A是追加的意思,-s是源為10.0.0.0/24的包進(jìn)行drop。
刪除iptables條目,通過iptables –L查看iptables條目,看到有多條重復(fù)的Iptables條目,我們可以通過iptables -D INPUT –s 10.0.0.1/24 –j DROP進(jìn)行刪除一個條目,通過iptables –L再次查看,發(fā)現(xiàn)iptables條目已經(jīng)成功刪除了。
由于iptables條目都是從上往下逐條匹配,一旦匹配就不會往下匹配,當(dāng)我們增加一條規(guī)則的時候,是放在規(guī)則的最下面,很可能還沒有匹配到想要的條目是就已經(jīng)被其他條目匹配上,為了避免出現(xiàn)這種情況,我們可以用iptables –F先清空iptables規(guī)則表現(xiàn),再次通過iptables –L發(fā)現(xiàn)剛剛建立的規(guī)則已經(jīng)清空了,可以建立自己新建的規(guī)則了,我們還需要保存剛剛建立的iptables規(guī)則,否則下次重啟后,所有建立的規(guī)則都沒有保存,通過service iptables save永久保存iptables規(guī)則條目。當(dāng)我們想要通過端口號進(jìn)行精確設(shè)置iptables條目,又記不清端口號,我們可以通過命令vim /etc/services進(jìn)入配置文件,可以查看需要的端口號。
Linux防火墻的配置方法相關(guān)文章: