防火牆iptables和Firewalld


iptables有 4 種 狀態:
 
1.ESTABLISHED: 這個狀態是指出這個信息包屬於 已經建立的連接 . 這個連
    接一直用於發送很接收 信息包並且完全有效
 
2.INVALID: 這個狀態指出該信息包與任何已經知道 的流或者連接都不相關
    聯 . 它可能飽含錯誤的數 據或者頭
 
3.NEW: 這個狀態指出該信息包已經或者准備啟動 新的連接 . 或者它與尚未
    用於發送和接受的信息 包的連接相關聯
 
4.RELATED: 這個狀態指出該信息包正在啟動新的 連接 , 以及它與已經建立
    的連接相關聯 .
 
 
iptables 3個表:
1.filter(默認)
INPUT 鏈處理送入本機的流入報文
FORWARD 鏈處理經過本系統的報文
OUTPUT 鏈處理從本地發出的報文
 
2.nat
 
PREROUTING 鏈 : 在路由決策之前必須先由這個 鏈來處理 . 以完成地址轉
OUTPUT 鏈 : 從本地發送報文使用這個鏈
POSTROUTING: 如果是轉發或者是送出數據包 , 則由 POSTROUTING 來進行處
 
3.mangle
 
PREROUTING 鏈 : 主要用於
在路由決策之前對流入 報
文的過濾
OUTPUT 鏈 : 主要用於在路
由決策之前對從本地送 出
的報文過濾
 
 
命令 :
-t<表>:指定要操縱的表;
-A:向規則鏈中添加條目;
-D:從規則鏈中刪除條目;
-i:向規則鏈中插入條目;
-R:替換規則鏈中的條目;
-L:顯示規則鏈中已有的條目;
-F:清楚規則鏈中已有的條目;
-Z:清空規則鏈中的數據包計算器和字節計數器;
 
-N:創建新的用戶自定義規則鏈;
-P:定義規則鏈中的默認目標;
-h:顯示幫助信息;
-p:指定要匹配的數據包協議類型;
-s:指定要匹配的數據包源ip地址;
-j<目標>:指定要跳轉的目標;
-i<網絡接口>:指定數據包進入本機的網絡接口;
-o<網絡接口>:指定數據包要離開本機所使用的網絡接口。
 
動作包括:
ACCEPT:接收數據包。
DROP:丟棄數據包。
REDIRECT:重定向、映射、透明代理。
SNAT:源地址轉換。
DNAT:目標地址轉換。
MASQUERADE:IP偽裝(NAT),用於ADSL。
LOG:日志記錄。
 
清除預設表 (filter) 中的所有規則鏈中的規則
#iptables -F
清除預設表 (filter) 中的所有使用者定義的鏈
#iptables -X
將指定鏈中所有規則的包字節計數器清零
#iptables -Z
 
 
 
-------------------------------------------------------
 
雖然 firewalld 推薦使用 , 但仍屬於 inetfilter/iptables 作為底層 .
因此即可以使用 firewalld 也可以繼續使用 iptables 。但 firewalld 與
iptables 有沖突。如果使用 iptables 就必須關閉 firewalld 。
 
 
 
---------------------------------------------------------
 
firewalld
 
Linux防火牆采用包過濾技術,總體看防火牆發 展經歷了四個發展階段 靜態防火牆: ipfwadm(kernel 2.0) ipchains(kernel 2.2) iptables(kernel 2.4 later) 動態防火牆 firewalld(RHEL7新納入的防火牆)
雖然firewalld使用netfilter子系統,但仍然跟 iptables、ebtables出現沖突。因此如果使用 firewalld就必須關閉
 
iptables/ip6tables/ebtables
#systemctl mask iptables #systemctl mask ip6iptables
#systemctl mask ebtables
 
firewalld的工具包
#yum install firewalld system-configfirewall-base firewall-config
啟用firewalld
#systemctl enable firewalld
#systemctl start firewalld firewalld
 
配置文件
#cd /etc/firewalld/
#ls
擁有9種區域:
drop:任務進入網絡的包都被丟棄,並且不做任 何回應.至允許出包的鏈接Block:任何進入網絡的包都被丟棄,並返回對方 IPv4的icmp-host-prohibited(禁止)或IPv6的     icmap6-adm-prohibited報文.在此區域中至允 許由系統初始化的網絡鏈接
public(默認):認為當前網絡中的網絡信任度不 高,僅允許選中的服務通過。
external:用在路由器等啟用偽裝(NAT)的外部 網絡.當認為網絡不可信任時,可指定服務通過。 dmz:允許DMZ中指定的設備的指定服務,有 限的被外部網絡訪問。
work:工作網絡,對網絡信任度高,通過指定的 服務提供相關交互
home:家庭網絡,對網絡信任度高,通過指定的 服務提供相關交互internal:內部網絡,對網絡信任度高,通過指定 的服務提供相關交互trusted:允許所有網絡鏈接,即使關閉所有服務 ,服務仍然可以響應。
 
倆種狀態
運行狀態(臨時啟用)
永久狀態(配置文件修改后)
 
 
使用方法:
 
查看firewalld幫助
#firewall-cmd --help 查看firewalld狀態
#firewall-cmd --state
firewalld的預先存在的服務是用xml格式進行編 寫的,這些服務的xml存在
#cd /usr/lib/firewalld/services/
#ls可根據某個服務作為模板,來自定以額外的服務, 而后用firewall-cmd --reload命令重新讀取,這 樣額外服務的xml文件將直接被載入。
 
獲取支持的區域列表
#firewall-cmd --get-zones獲取所支持的服務
#firewall-cmd --get-services列出所有啟用的區域信息
#firewall-cmd --list-all-zones啟用應急模式阻斷所有網絡鏈接
#firewall-cmd --panic-on禁用應急模式
#firewall-cmd --panic-of
查詢應急模式
#firewall-cmd --query-panic
查看當前firewalld的默認區域
#firewall-cmd --get-default-zone
改變firewalld默認區域
#fireall-cmd --set-default-zone=drop


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM