您好,登錄后才能下訂單哦!
Linux網(wǎng)絡(luò)防火墻
netfilter :frame 過(guò)濾,內(nèi)核中的過(guò)濾框架,規(guī)則生效的位置框架
iptables:附加在netfilter上,生成防火墻規(guī)則,真正實(shí)現(xiàn)數(shù)據(jù)報(bào)文過(guò)濾,NAT,mangle等規(guī)則生成的工具
防火墻:工作在主機(jī)或者網(wǎng)絡(luò)的邊緣,對(duì)于進(jìn)出的報(bào)文進(jìn)行檢查監(jiān)控,并根據(jù)事先定義好的規(guī)則(其中有匹配標(biāo)準(zhǔn)和處理辦法),一旦符合標(biāo)準(zhǔn),對(duì)這個(gè)報(bào)文進(jìn)行相應(yīng)的處理規(guī)則的組件稱為防火墻
iptables的實(shí)現(xiàn)實(shí)際上是基于報(bào)文的過(guò)濾,實(shí)例如下:
1.IP:源地址,目標(biāo)地址
TCP:源端口,目標(biāo)端口
UDP:源端口,目標(biāo)端口
ICMP:icmp報(bào)文類型
發(fā)展歷程:
linux2.0
ipfw/firewall
linux2.2
ipchain/firewall
linux2.4
iptables/netfilter
netfilter的過(guò)濾有下面五個(gè)規(guī)則鏈
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
四種表
filter,過(guò)濾表
INPUT,OUTPUT,F(xiàn)ORWARD
nat,地址轉(zhuǎn)換表
prerouting,output,postrouting
mangle(拆分,修改,封裝) 表
prerouting,forwarding,output,postrouting
raw表
prerouting,output
iptables:
500條規(guī)則
能否使用自定義鏈?
可以使用自定義鏈,但是只在被調(diào)用的時(shí)候才能發(fā)揮作用,而且如果沒(méi)有自定義鏈中的任何規(guī)則匹配,還應(yīng)該有返回機(jī)制
*用戶可以刪除自定義空鏈
*默認(rèn)鏈無(wú)法刪除
每個(gè)規(guī)則都有兩個(gè)內(nèi)置的計(jì)數(shù)器
被匹配的報(bào)文個(gè)數(shù)
被匹配的報(bào)文大之和
規(guī)則內(nèi)包含:匹配標(biāo)準(zhǔn),處理動(dòng)作
匹配標(biāo)準(zhǔn):
1.通用匹配
-s,--src 源地址
-d,--dst 目標(biāo)地址
-p(tcp,udp,icmp)指定協(xié)議
-i INTERFACE指定數(shù)據(jù)報(bào)文流入的接口(ethX)
可用于定義標(biāo)準(zhǔn)的鏈,PREROUTING ,INPUT,FORWARD
-o INTERFACE 指定數(shù)據(jù)報(bào)文流出的接口
可用于標(biāo)準(zhǔn)定義的鏈,OUTPUT,POSTROUTING,FORWARD,
2.擴(kuò)展匹配
a.隱含擴(kuò)展:不用特別指明哪個(gè)模塊進(jìn)行的擴(kuò)展,因?yàn)榇藭r(shí)使用-p(tcp/udp/icmp)
-p tcp 指定目標(biāo)端口,源端口
--tcp-flags mask comp :只檢查mask 指定的標(biāo)志位,是逗號(hào)分隔的標(biāo)志位列表;comp:此列表中出現(xiàn)的標(biāo)記位必須為1,comp中沒(méi)出現(xiàn),而mask中出現(xiàn)的,必須為0
可根據(jù)ACK,FIN,RST,SYN等標(biāo)志位的值來(lái)盤端報(bào)文的類型,例如當(dāng)SYN=1,其余為0,則這個(gè)報(bào)文時(shí)TCP/IP的第一次握手
-p-icmp
--icmp-type -8 被ping通
--icmp-type -1能夠發(fā)出ping 報(bào)文
-p-udp
指定目標(biāo)端口以及源端口
b. 顯示擴(kuò)展:必須指明由哪個(gè)模塊進(jìn)行的擴(kuò)展,在iptables會(huì)用-m選項(xiàng)即可完成功能
使用額外的匹配機(jī)制
-m EXTENSTION --spe-opt
state:狀態(tài)擴(kuò)展 -m state --state NEW -ij ACCEPT
結(jié)合ip_constrack追蹤會(huì)話的狀態(tài)
NEW:新連接請(qǐng)求
ESTABLISHED:已建立的連接
INVALID:非法連接
RELATED:相關(guān)聯(lián)的
-m multiport :離散的多端口匹配擴(kuò)展
--source-ports
--destination-ports
--ports
-m iprange 指定一段地址
--src-range
--dst-range
-m connlimit 連接數(shù)限制
! --connlimit-above n
-m limit
--limit RATE速率限定
#iptables-save> /etc/sysconfig/iptables.2021
#iptables-restore < /etc/sysconfig/iptables.2021
命令
管理規(guī)則
-A:附加一條規(guī)則,添加在鏈的尾部
-I CHAIN [num]:插入一條規(guī)則,插入為對(duì)應(yīng)CHAIN上的第num條
-D CHAIN [num]:刪除指定鏈中的第Num條規(guī)則
-R CHAIN [num]:替換指定的規(guī)則
管理鏈
-F [CHAIN]:flush用于清空指定規(guī)則鏈,如果省略CHAIN ,則可以刪除對(duì)應(yīng)表中的所有鏈
-P CHAIN :設(shè)定指定鏈的默認(rèn)策略
-N :自定義一個(gè)新的空鏈
-X:刪除一個(gè)自定義的空鏈
-Z:置零指定鏈中所有規(guī)則的計(jì)數(shù)器
-E:重命名自定義的鏈
查看類
-L:顯示指定表中的規(guī)則
-n:以數(shù)字形式顯示主機(jī)地址和端口號(hào)
-x:顯示計(jì)數(shù)器的精確值
-v:顯示鏈和規(guī)則的詳細(xì)信息 -vv:
--line-numbers:顯示規(guī)則號(hào)碼
執(zhí)行的動(dòng)作(target)
-j指定
ACCEPT放行,允許通過(guò)
DROP丟棄
REJECT拒絕
DNAT目標(biāo)地址轉(zhuǎn)換
SNAT源地址轉(zhuǎn)換
REDIRECT(端口重定向)
MASQUERADE:地址偽裝 MAC表的PREROUTING鏈實(shí)現(xiàn)
MARK打標(biāo)記
LOG 日志
iptables不是服務(wù),但有服務(wù)腳本:腳本服務(wù)的主要作用在于管理保存的規(guī)則
裝載或移除iptable/netfilter相關(guān)的內(nèi)核模塊
iptables_nat,iptales_filter,iptable_mangle,iptables_raw,ip_nat,
保存規(guī)則:
#service iptables save
/etc/sysconfig/iptables
#iptables-save> /etc/sysconfig/iptables.2021
#iptables-restore < /etc/sysconfig/iptables.2021
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。