溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

快速理解iptables入門教程

發(fā)布時(shí)間:2020-06-21 21:34:16 來源:網(wǎng)絡(luò) 閱讀:421 作者:lenglingx 欄目:安全技術(shù)

一、iptables安裝

一般系統(tǒng)已經(jīng)自帶,沒有安裝請參照下面安裝
(redhat系):Yum install iptables
(debian系)Sudo apt-get install iptables
iptables –version查看版本
iptables v1.4.14 即為OK,已正常安裝。iptables v1.x.x即為版本號(hào)。

二、三表五鏈

三個(gè)表: Filter、NAT、Mangle。默認(rèn)使用Filter。
Filter:用于一般信息包過濾,包含了INPUT、OUTPUT、FORWARD鏈。
NAT:用于需轉(zhuǎn)發(fā)(NAT)的信息包,包含了OUTPUT、PREROUTING、POSTROUTING。
Mangle:包含一些規(guī)則來標(biāo)記用于高級(jí)路由,包含PREROUTING和OUTPUT鏈。如查信息包及其頭內(nèi)進(jìn)行了任何更改,則使用該表。
五個(gè)內(nèi)置鏈:
PREROUTING  數(shù)據(jù)包進(jìn)入路由表之前,用于修改目的地址(DNAT)。
INPUT  通過路由表后目的地為本機(jī),匹配目的 IP 是本機(jī)的數(shù)據(jù)包。
FORWARD  通過路由表后,目的地不為本機(jī),匹配穿過本機(jī)的數(shù)據(jù)包。
OUTPUT  由本機(jī)產(chǎn)生,向外轉(zhuǎn)發(fā)。
POSTROUTING  發(fā)送到網(wǎng)卡接口之前,用于修改源地址 (SNAT)。
 

快速理解iptables入門教程
iptables(netfilter)五條鏈相互關(guān)系

 

快速理解iptables入門教程 
三表五鏈處理過程中的位置

三、目標(biāo)(target)

ACCEPT (-j ACCEPT) 當(dāng)信息包與ACCEPT目標(biāo)的規(guī)則完全匹配時(shí),會(huì)被接受即允許前往目的地,并將停止遍歷鏈。
DROP (-j DROP) 當(dāng)信息包與DROP目標(biāo)的規(guī)則完全匹配時(shí),會(huì)阻塞該包即丟棄該包。
REJECT (-j REJECT) 該目標(biāo)工作方式與DROP目標(biāo)相同,比DROP好的是REJECT不會(huì)在服務(wù)器和客戶機(jī)上留下死套接字,并將錯(cuò)誤消息發(fā)回給信息包的發(fā)送方。
RETURN (-j RETURN) 該目標(biāo)是讓與該規(guī)則相匹配的信息包停止遍歷所有鏈,如果該鏈?zhǔn)荌NPUT之類的鏈,則使用該鏈的缺省策略處理該信息包。
還有其它的高級(jí)點(diǎn)的目標(biāo),如LOG、REDIRECT、MARK、MIRROR和MASQUERADE等。
 

四、命令和語法

iptables基本語法
iptables [-t 表名] -命令 -匹配 -j 動(dòng)作/目標(biāo)
iptables內(nèi)置了filter、nat和mangle三張表,我們可以使用-t參數(shù)來設(shè)置對(duì)哪張表生效哈~也可以省略-t參數(shù),則默認(rèn)對(duì)filter表進(jìn)行操作。
命令(command):
-I (--insert) 插入
-A(--append)追加
-D(--delete)刪除
-P(--policy)策略
 
匹配(match):
-p(--protocol)協(xié)議
-s(--source)源
-d(--destination)目標(biāo)
--in-interface eth2短格式:-i eth2      表示從eth2進(jìn)
--out-interface eth0短格式:-o eth0       表示從eth0出
(--sport、--dport)來源端口、目的端口
附加模塊使用-m來匹配
按包狀態(tài)匹配   (state)
按來源 MAC 匹配(mac)
按包速率匹配   (limit)
多端口匹配   (multiport)
 
配置SNAT命令基本語法
iptables -t nat -A POSTROUTING -o 網(wǎng)絡(luò)接口 -j SNAT --to-source IP地址
配置DNAT命令基本語法
iptables -t nat -A PREROUTING -i 網(wǎng)絡(luò)接口 -p 協(xié)議 --dport 端口 -j DNAT --to-destination IP地址


五、策略保存

iptables 的保存和自動(dòng)啟動(dòng)
開機(jī)自動(dòng)啟動(dòng)服務(wù)用chkconfig iptables on
所有iptables命令都輸入后都是當(dāng)時(shí)有效,系統(tǒng)重啟后就無效了。
#service iptables save
提示將iptables規(guī)則保存到/etc/sysconfig/iptables 文件中
iptables還提供了保存工具iptables-save,其實(shí)service iptables save也是調(diào)用iptables-save,也提供了恢復(fù)iptables規(guī)則的工具iptables-restore。
 
建議使用統(tǒng)一的iptables規(guī)則文件/etc/sysconfig/iptables(可以是其它位置如/etc/iptables.d/iptables.rule)。
iptables-save > /etc/sysconfig/iptables
iptables-restore < /etc/sysconfig/iptables
 
這個(gè)也能實(shí)現(xiàn)上面的功能:echo '/sbin/iptables-restore < /etc/sysconfig/iptables' >>/etc/rc.d/rc.local

六、常用實(shí)用策略

該內(nèi)容來自其互聯(lián)網(wǎng)。
注意:確保規(guī)則循序正確,弄清邏輯關(guān)系,學(xué)會(huì)時(shí)刻使用 -vnL
先開啟轉(zhuǎn)發(fā):echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -F       清除預(yù)設(shè)表filter中的所有規(guī)則鏈的規(guī)則
iptables -X      清除預(yù)設(shè)表filter中使用者自定鏈中的規(guī)則
iptables -Z       清除預(yù)設(shè)表filter中使用計(jì)數(shù)器
iptables -F -t nat 
iptables -X -t nat 
iptables -Z -t nat     
可根據(jù)需求設(shè)置默認(rèn)策略
iptables –P INPUT DROP
iptables –P FORWARD DROP
iptables –P OUTPUT ACCEPT 
這樣默認(rèn)把INPUT 、FORWARD 設(shè)置成DROP,只有OUTPUT是ACCEPT,如需要也可以設(shè)置成DROP。

(以后再來完成)按拓?fù)鋱D進(jìn)行一個(gè)案例設(shè)置:

FTP

SSH

MYSQL

NAT1-3389

NAT2-web

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI