- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務機構(gòu):新網(wǎng)數(shù)碼
一.iptables的安裝:yum -y install iptables
iptables開機自啟動:chkconfig iptables on
iptables啟動:/etc/init.d/iptables start
iptables關(guān)閉:/etc/init.d/iptables stop
iptables的狀況查看:chkconfgi --list | grep iptables
iptables的配置文件:/etc/sysconfig/iptables
二.防火墻基礎:
1.防火墻策略一般分為兩種,一種叫“通”策略,一種叫“堵”策略,通策略,默認門是關(guān)著的,必須要定義誰能進。堵策略則是,大門是洞開的,但是你必須有身份認證,否則不能進。所以我們要定義,讓進來的進來,讓出去的出去,所以通,是要全通,而堵,則是要選擇。
2.iptables就根據(jù)規(guī)則所定義的方法來處理這些數(shù)據(jù)包,如放行(accept)、拒絕(reject)和丟棄(drop)等。配置防火墻的主要工作就是添加、修改和刪除這些規(guī)則。
3.表(tables)提供特定的功能,iptables內(nèi)置了4個表,即filter表、nat表、mangle表和raw表,每個表的功能如下:
1.)filter:定義允許或者不允許的
2.)nat :定義地址轉(zhuǎn)換的
3.)mangle:修改報文原數(shù)據(jù)
4.)raw:數(shù)據(jù)跟蹤處理上
我們修改報文原數(shù)據(jù)就是來修改TTL的。能夠?qū)崿F(xiàn)將數(shù)據(jù)包的元數(shù)據(jù)拆開,在里面做標記/修改內(nèi)容的。而防火墻標記,其實就是靠mangle來實現(xiàn)的。
4.鏈(chains)是數(shù)據(jù)包傳播的路徑,每一條鏈其實就是眾多規(guī)則中的一個檢查清單,每一條鏈中可以有一條或數(shù)條規(guī)則。當一個數(shù)據(jù)包到達一個鏈時,iptables就會從鏈中第一條規(guī)則開始檢查,看該數(shù)據(jù)包是否滿足規(guī)則所定義的條件。如果滿足,系統(tǒng)就會根據(jù)該條規(guī)則所定義的方法處理該數(shù)據(jù)包;否則iptables將繼續(xù)檢查下一條規(guī)則,如果該數(shù)據(jù)包不符合鏈中任一條規(guī)則,iptables就會根據(jù)該鏈預先定義的默認策略來處理數(shù)據(jù)包。
5.小擴展:
對于filter表來講一般只能做在3個鏈(chain)上:INPUT ,F(xiàn)ORWARD ,OUTPUT
對于nat表來講一般也只能做在3個鏈(chain)上:PREROUTING ,OUTPUT ,POSTROUTING
對于mangle表則是5個鏈(chain)都可以做:PREROUTING,INPUT,F(xiàn)ORWARD,OUTPUT,POSTROUTING
6.當一個數(shù)據(jù)包進入時:
① 當一個數(shù)據(jù)包進入網(wǎng)卡時,它首先進入PREROUTING鏈,內(nèi)核根據(jù)數(shù)據(jù)包目的IP判斷是否需要轉(zhuǎn)送出去。
② 如果數(shù)據(jù)包就是進入本機的,它就會沿著向下移動,到達INPUT鏈。數(shù)據(jù)包到了INPUT鏈后,任何進程都會收到它。本機上運行的程序可以發(fā)送數(shù)據(jù)包,這些數(shù)據(jù)包會經(jīng)過OUTPUT鏈,然后到達POSTROUTING鏈輸出。
③ 如果數(shù)據(jù)包是要轉(zhuǎn)發(fā)出去的,且內(nèi)核允許轉(zhuǎn)發(fā),數(shù)據(jù)包就會如圖所示向右移動,經(jīng)過FORWARD鏈,然后到達POSTROUTING鏈輸出。
三.iptables命令格式
iptables的命令格式較為復雜,一般的格式如下:
iptables [-t table] 命令 [chain] [rules] [-j target]
table——指定表明
命令——對鏈的操作命令
chain——鏈名
rules——規(guī)則
target——動作如何進行
1.表選項
表選項用于指定命令應用于哪個iptables內(nèi)置表,iptables內(nèi)置包括filter表、nat表、mangle表和raw表。
2.命令選項iptables命令格式(command)
命令 說明
-P或–policy <鏈名> 定義默認策略
-L或–list <鏈名> 查看iptables規(guī)則列表
-A或—append <鏈名> 在規(guī)則列表的最后增加1條規(guī)則
-I或–insert <鏈名> 在指定的位置插入1條規(guī)則
-D或–delete <鏈名> 從規(guī)則列表中刪除1條規(guī)則
-R或–replace <鏈名> 替換規(guī)則列表中的某條規(guī)則
-F或–flush <鏈名> 刪除表中所有規(guī)則
-Z或–zero <鏈名> 將表中數(shù)據(jù)包計數(shù)器和流量計數(shù)器歸零
3.匹配選項(paraameters參數(shù)選項)
匹配 說明
-i或–in-interface <網(wǎng)絡接口名> 指定數(shù)據(jù)包從哪個網(wǎng)絡接口進入,如ppp0、eth0和eth1等
-o或–out-interface <網(wǎng)絡接口名> 指定數(shù)據(jù)包從哪塊網(wǎng)絡接口輸出,如ppp0、eth0和eth1等
-p或—proto協(xié)議類型 < 協(xié)議類型> 指定數(shù)據(jù)包匹配的協(xié)議,如TCP、UDP和ICMP等
-s或–source <源地址或子網(wǎng)> 指定數(shù)據(jù)包匹配的源地址
–sport <源端口號> 指定數(shù)據(jù)包匹配的源端口號,可以使用“起始端口號:結(jié)束端口號”的格式指定一個范圍的端口
-d或–destination <目標地址或子網(wǎng)> 指定數(shù)據(jù)包匹配的目標地址
–dport目標端口號 指定數(shù)據(jù)包匹配的目標端口號,可以使用“起始端口號:結(jié)束端口號”的格式指定一個范圍的端口
4.動作選項
動作 說明
ACCEPT 接受數(shù)據(jù)包
DROP 丟棄數(shù)據(jù)包
REDIRECT 與DROP基本一樣,區(qū)別在于它除了阻塞包之外, 還向發(fā)送者返回錯誤信息。
SNAT 源地址轉(zhuǎn)換,即改變數(shù)據(jù)包的源地址
DNAT 目標地址轉(zhuǎn)換,即改變數(shù)據(jù)包的目的地址
MASQUERADE IP偽裝,即是常說的NAT技術(shù),MASQUERADE只能用于ADSL等撥號上網(wǎng)的IP偽裝,也就是主機的IP是由ISP分配動態(tài)的;如果主機的IP地址是靜態(tài)固定的,就要使用SNAT
LOG 日志功能,將符合規(guī)則的數(shù)據(jù)包的相關(guān)信息記錄在日志中,以便管理員的分析和排錯
Iptables命令格式
Iptables過濾條件
四.iptables的語法
iptables定義規(guī)則的方式比較復雜:
格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION
-t table :3個filter nat mangle
COMMAND:定義如何對規(guī)則進行管理
chain:指定你接下來的規(guī)則到底是在哪個鏈上操作的,當定義策略的時候,是可以省略的
CRETIRIA:指定匹配標準
-j ACTION :指定如何進行處理
五.實戰(zhàn)演練——指定對端口的開放
1. Iptables查看現(xiàn)在都有那些規(guī)則,或者直接訪問:vi /etc/sysconfig/iptables
通過上圖,我們發(fā)現(xiàn)linux主機對所有的鏈INPUT/FORWARD/OUTPUT是允許訪問的。
2.關(guān)閉所有的INPUT/FORWARD/OUTPUT只對某些端口開放.
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
3.關(guān)閉之后發(fā)現(xiàn)我的SecureCRT不能登陸到字符界面了,那么現(xiàn)在來開通22端口。
Iptables -A INPUT -p TCP --dport 22 -j ACCEPT
Iptables -A OUTPUT -p TCP --Sport 22 -j ACCEPT
4打開80端口,否則其他人無法訪問網(wǎng)站
Iptables -A INPUT -p TCP --dport 80 -j ACCEPT
Iptables -A OUTPUT -p TCP --Sport 80 -j ACCEPT
5.我想ping 一下藍隊網(wǎng)絡的域名發(fā)現(xiàn)不同,這是因為DNS對應的端口是53以及使用的協(xié)議是UDP的。
iptables -A OUTPUT -p UDP --sport 53 -j ACCEPT 開放出源端口53
iptables -A INPUT -p UDP --dport 53 -j ACCEPT 開放進目標端口53
iptables -A INPUT -p UDP --sport 53 -j ACCEPT
6.設置好后記得保存一下。
service iptables save
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP