您好,登錄后才能下訂單哦!
這篇文章主要介紹了linux下軟件防火墻iptables的示例分析,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
防火墻是用戶限制某些ip或用戶對其主機的訪問。防火墻從種類上分為兩大類,硬件防火墻以及軟件防火墻。軟件防火墻主要是對數據包進行過濾,硬件防火墻主要用來對惡意攻擊的防護以及數據包的過濾,比如DDOS攻擊。這里,我們來講解linux下的軟件防火墻——iptables。
iptables與firewalld
在centOS6下,默認的軟件防火墻是iptables,而到了centos7,則是firewalld。它們之間有什么聯系了,其實firewalld就是在原iptables上新封裝成的一個軟件。
學習iptables時,建議先關閉firewalld,并開啟iptables
yum install iptables-services systemctl stop firewalld systemctl start iptables
iptables的表和鏈
iptables的不同的表代表著不同的功能,默認有4個表
filter(過濾器) nat(地址轉換) mangle raw
不同的表下面,有著自己的規則鏈:
filter(INPUT/OUTPUT/FORWARD)
nat(prerouting/output/postouting)
這些鏈代表的意義如下:
INPUT鏈——進來的數據包應用此規則鏈中的規則
OUTPUT鏈——外出的數據包應用此規則鏈中的規則
FORWARD鏈——轉發數據包時應用此規則鏈中的規則
PREROUTING鏈——對數據包作路由選擇前應用此鏈中的規則
POSTROUTING鏈——對數據包作路由選擇后應用此鏈中的規則
iptables的規則查看與清除
規則查看
用法示例:iptables [-t tables] -L [-nv]
選項與參數:
-t后接表類型,省略該選項,則默認為filter表。
-L列出當前表的規則
-n 不進行域名與ip反查
-v 顯示更多信息
# 查看filter表的規則 # 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表的規則 iptables -t nat -L -nv
鏈下的規則選項的含義如下:
target:代表進行的操作,ACCEPT放行、drop丟棄、reject拒絕
prot:代表使用的數據包協議,有tcp、udp以及icmp
opt:說明信息
source:對某來源主機進行限制
destination:對某目標主機進行限制
上面顯示的INPUT鏈的5條規則含義如下:
只要數據包的狀態為RELATED,ESTABLISHED,都接受
只要是icmp包都接受
只要是本地回環網卡,所有數據都接受
只要是發送給22端口的主動式連接的TCP數據包都接受。
拒絕所有的數據包
清楚iptables的規則
默認安裝centOS7后,系統就已經有許多iptables的規則,這里教大家如何去清除這些規則。
用法示例:iptables [-t tables] [-FXZ]
選項與參數:
-F 清理所有已定制的規則
-X 清理所有用戶自定義的規則
-Z 將所有的統計計數置零
# iptables -F # iptables -X # iptables -Z
查看具體的規則
使用iptables-save可以查看具體的規則
用法: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
定義默認策略
當我們清楚完規則后,就只剩下默認的策略了。什么是默認的策略,就是當不滿足我們任何一條規則時,就采用默認規則。默認的策略有ACCEPT(接受數據包)和DROP(丟棄數據包)
用法:iptables [-t tables] -P [INPUT|OUTPUT|FORWARD……] [ACCEPT|DROP]
現在,我們嘗試將filter的INPUT鏈的默認修改為DROP、OUTPUT及FORWARD鏈修改為ACCETP
iptables -t filter -P INPUT DROP # 注意,該命令敲完后,你的終端就可能會斷開連接了 iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
感謝你能夠認真閱讀完這篇文章,希望小編分享linux下軟件防火墻iptables的示例分析內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。