Firewalld,iptables概述(netfilter和Firewalld,iptables三者之间的关系,四表五链,Firewalld防火墙的配置方发,SNAT,DNAT了解)
文章目錄
- Firewalld,iptables概述
- Firewalld了解
- iptables了解
- Firewalld和iptables的關系
- netfilter
- Firewalld、iptables
- netfilter和Firewalld,iptables三者之間的關系
- Firewalld和iptables的區別
- Netfilter與iptables區別
- 四表五鏈
- iptables的表,鏈
- 規則鏈
- 默認包含5種規則鏈
- 規則表
- 默認包括4個規則表
- 數據包的過濾的匹配流程
- 規則表之間的順序
- 規則鏈之間的順序
- iptables語法格式與常用參數
- 常用的顯示匹配條件
- Firewalld網絡區域
- 區域介紹
- Firewalld防火墻的配置方法
- Firewall-config圖形工具
- SNAT和DNAT策略及應用
Firewalld,iptables概述
Firewalld了解
支持網絡區域所定義的網絡鏈接以及接口安全等級的動態防火墻管理工具
支持IPv4,IPv6防火墻設置以及以太網橋
擁有兩種配置模式
支持服務或應用程序直接添加防火墻規則接口
- 運行時配置(一般測試的時候使用)
- 永久配置
iptables了解
c,真正實現防火墻功能的是Netfilter,我們配置類iptables規則后Netfilter通過這些規則來進行防火墻過濾等操作
Firewalld和iptables的關系
netfilter
- 位于Linux內核中的包過濾功能體系
- 稱為Linux防火墻的“內核態”
Firewalld、iptables
- CentOS 7默認的管理防火墻規則的工具(Firewalld)
- 稱為Linux防火墻的“用戶態”
netfilter和Firewalld,iptables三者之間的關系
Firewalld和iptables的區別
centos7有firewalld,iptables
centos6是iptables
| 配置文件 | /usr/lib/firewalld,/etc/firewalld | /etc/sysconfig/iptables |
| 對規則的修改 | 不需要全部刷新策略,不丟失現行連接 | 需要全部刷新策略,丟失鏈接 |
| 防火墻類型 | 動態防火墻 | 靜態防火墻 |
Firewall是不需要重啟服務,iptables要重服務
Netfilter與iptables區別
Netfilter的模塊越多,防火墻的功能也就越多,而且我們可以通過升級內核的方式來達到一起升級Netfilter的目的,iptables是Linux的防火墻管理工具而已,netfilter通過這些規則來進行防火墻過濾等操作
四表五鏈
iptables的表,鏈
規則鏈
規則的作用:對數據包進行過濾或處理
鏈的作用:容納各種防火墻規則
鏈的分類依據:處理數據包的不同時機
默認包含5種規則鏈
- PREROUTING:在進行路由選擇前處理數據包
- INPUT :進系統 處理入站數據包
- FORWARD: 處理轉發數據包
- OUTPUT: 處理出站數據包
- POSTROUTING: 在進行路由選擇后處理數據包
規則表
表的作用:容納各種規則
表的劃分依據:防火墻規則的作用形似
默認包括4個規則表
- Raw表:決定數據包是否被狀態跟蹤機制處理
- Mangle表:為數據包設置標記
- Nat表:修改數據包中的源,目標ip地址或端口
- filter表:確認是否放行該行數據包
數據包的過濾的匹配流程
規則表之間的順序
當數據到達防火墻時按順序進行對應的表:
raw》》》mangle》》》nat》》》filter
規則鏈之間的順序
入站:PREROUTING》》》INPUT 來自外界的數據包到達防火墻,首先被PREROUTING鏈處理,那么內核將其傳遞給INPUT鏈進行處理(決定是否允許通過等)
出戰:OUTPUT》》》POSTROUTING 防火墻本機向外部地址發送數據包(如在防火墻主機中測試公網DNS服務時),首先被OUTPUT鏈處理,然后進行路由選擇,再交給POSTROUTING鏈進行處理(是否修改數據包的地址等)。
轉發:PREROUTING》》》FORWARD》》》POSTROUTING 來自外界的數據包到達防火墻后,首先被PREROUTING鏈處理,然后在進行路由選擇;如果數據包的目標地址是其他外部地址(如局域網用戶通過網關訪問QQ服務器),則內核將其傳遞給FORWARD鏈進行處理(允許轉發或攔截、丟棄),最后交給POSTROUTING鏈進行處理(是否修改數據包的地址
PREROUTING》》》INPUT》》》FORWARN》》》OUTPUT》》》POSTROUTING
規則鏈的匹配順序
按順序依次排查,匹配即停止(LOG策略例外)
若找不到匹配規則,則按該鏈的默認策略處理
iptables語法格式與常用參數
iptables [-t 表名] 選項 [鏈名] [條件] [-j 控制類型] 如果不指定表名,則會默認指定filter表 不指定鏈名時,默認指表內所有鏈 選項,鏈名,控制類型使用大寫字母,其他小寫iptables常用參數
-P 設置默認策略:iptables -P INPUT(DROP|ACCEPT) -L 查看規則鏈 -n 以數字形式顯示地址,端口等信息 -v 以更詳細的方式顯示規則信息 -A 在規則鏈的末尾加入新規則 -I num 在規則鏈的頭部加入新規則 -D num 刪除某一條規則 -F 清空規則鏈 -s 匹配來源地址IP/MASK,加感嘆號“!”表示除了這個IP外 -d 匹配目標地址 -i 網卡名稱 匹配從這塊網卡流入的數據 -o 網卡名稱 匹配從這塊網卡流出的數據 -p 匹配協議,如tcp,udp,icmp --dport num 匹配目標端口號 --sport num 匹配來源端口號iptables命令使用總結
所有鏈名必須大寫 INPUT/OUTPUT/FORWARD/PREROUTING/POSTROUTING 所有表名必須小寫 filter/nat/mangle 所有動作必須大寫 ACCEPT/DROP/SNAT/DNAT/MASQUERADE 所有匹配必須小寫 -s/-d/-m <module_name>/-p常用的顯示匹配條件
[root@localhost~]# yum install httpd -y [root@localhost~]# systemctl start httpd [root@localhost~]# iptables -I INPUT -i ens33 -p tcp --dport 80 -s 192.168.197.141/24 -j ACCPET '在規則鏈頭部加入規則,指定從ens33網卡流入的,匹配tcp協議,匹配80端口(httpd的端口號)匹配源ip地址(win10),指定控制類型為接受' [root@localhost~]# iptables -L '查看策略是否設置成功'Firewalld網絡區域
區域介紹
| drop(丟棄) | 任何接收的網絡數據包都會被丟棄,沒有任何回復。僅能有發送出去的網絡連接 |
| block(限制) | 任何接收的網絡連接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒絕 |
| public(公共) | 在公共區域內使用,不能相信網絡內的其他計算機不會對您的計算機造成危害,只能接收經過選取的鏈接 |
| external(外部) | 特別是為路由器啟動了偽裝功能的外部網。您不能信任來自網絡的其他計算,不能相信他們不會對您的計算機造成危害,只能接收經過選擇的連接 |
| dmz(非軍事區) | 用于您的非軍事區內的電腦,此區域內可公開訪問,可以有限的進入您的內部網絡,僅僅接收經過選擇的連接 |
| work(工作) | 用于工作區,您可以基本相信網絡內的其他電腦不會危害您的電腦,僅僅接收經過選擇的連接 |
| home(家庭) | 用于家庭網絡,您可以基本信任網絡內的其他計算器不會危害您的計算機,僅僅接收經過選擇的連接 |
| internal(內部) | 用于內部網絡,您可以基本上信任網絡內的其他計算機不會威脅您的計算機,僅僅接受經過選擇的連接 |
| trusted(信任) | 可接收所有的網絡連接 |
- 區域如同進入主機的安全門,每個區域都具有不同限制程度的規則
- 可以使用一個或多個區域,但是任何一個活躍區域至少需要關聯源地址或接口
- 默認情況下,public區域是默認區域,包含所有接口(網卡)
- iptables沒有區域的概念
- 外部流量通過規則進入相應的區域接口(網卡)
irewalld數據處理流程
- 檢查數據來源的源地址
- 若源地址關聯到特定的區域,則執行該區域所指定的規則
- 若源地址未關聯到特定的區域,則使用傳入網絡接口的區域并執行該區域所指定的規則
- 若網絡接口未關聯到特定的區域,則使用默認區域并執行該區域所指定的規則
Firewalld防火墻的配置方法
- 運行時配置
- 實時生效,并持續至firewalld重新啟動或重新加載配置
- 不中斷現有連接
- 不能修改服務配置
- 永久配置
- 不立即生效,除非firewalld重新啟動和重新加載配置
- 中斷現有連接
- 可以修改服務配置
- firewall-config圖形工具(用的少)
- firewall-cmd命令行工具(用的多)
- /etc/firewalld/中的配置文件
- firewalld會優先使用/etc/firewalld/中的配置,如果不存在配置文件,則使用/usr/bin/firewalld/中的配置
- /etc/firewalld/:用戶自定義配置文件,需要時可通過從/usr/lib/firewalld/中拷貝
- /usr/lib/firewalld/:默認配置文件,不建議修改,若恢復至默認配置,可以直接刪除/etc/firewalld/中的配置
Firewall-config圖形工具
包含運行時配置/永久配置
重新加載防火墻
- 更改永久配置并生效
關聯網卡到指定區域
修改默認區域
服務端口
| 21/20 | ftp文件傳輸協議 | ftp 20數據端口、21監聽端口 |
| 22 | SSH遠程連接 | SSH |
| 23 | Telnet遠程連接 | 爆破、嗅探、弱口令 |
| 53 | DNS域名系統 | 允許區域傳送、DNS挾持、欺騙 |
| 67/68 | DHCP服務 | 挾持、欺騙 |
| 80 | 常見web端口 | http |
| 443 | 常見web加密端口 | https |
| 445 | SMB服務 | SMB |
| 3389 | 遠程桌面連接 | Windows遠程桌面服務 |
區域”選項卡
block :堵塞區域
dmz:非軍事化區域
drop :丟失區域
external :外部區域
home :家
internal :內部區域
public:公共區域
trusted :信任區域
work :工作區域
- 服務”子選項卡
- “端口”子選項卡
- “協議”子選項卡
- “源端口”子選項卡
- “偽裝”子選項卡
- “端口轉發”子選項卡
- “ICMP過濾器”子選項卡
區域”選項卡
SNAT和DNAT策略及應用
NAT(網絡地址轉換協議)
是將局域網里的內部地址(如192.168.0.x)轉換成公網(Internet)上合法的IP地址(如202.202.12.11),以使內部地址能像有公網地址的主機一樣上網。這個優于代理服務器,能做直接訪問外部IP地址
實現方式
AT的實現方式有三種,即靜態轉換Static Nat、動態轉換Dynamic Nat和端口多路復用OverLoad。
SNAT
源地址轉換即內網地址向外訪問時,發起訪問的內網ip地址轉換為指定的ip地址(可指定具體的服務以及相應的端口或端口范圍),這可以使內網中使用保留ip地址的[主機]訪問外部網絡,即內網的多部主機可以通過一個有效的公網ip地址訪問外部網絡。
A公司擁有多個[公網IP](60.191.82.105-107),A公司希望內部用戶(IP為192.168.1.50)使用某個特定的IP(60.191.82.107)訪問互聯網,則需在出口路由設備上需要配置源地址轉換。
DNAT策略的概述
就是指數據包從網卡發送出去的時候,修改數據包中的目的IP,表現為如果你想訪問A,可是因為網關做了DNAT,把所有訪問A的數據包的目的IP全部修改為B,那么,你實際上訪問的是B
(3)SNAT策略的應用
打開網關的路由轉發
設置SNAT策略
[root@promote ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens33 -j SNAT --to-source 218.29.30.31(4)DNAT策略的應用
設置DNAT策略
【6】規則的導入和導出
(1)規則的備份iptables-save命令[root@promote ~]# iptables-save > /opt/iprules.bak(2)規則的還原iptables-restore命令[root@promote ~]# iptables-restore < /opt/iprules.bak總結
以上是生活随笔為你收集整理的Firewalld,iptables概述(netfilter和Firewalld,iptables三者之间的关系,四表五链,Firewalld防火墙的配置方发,SNAT,DNAT了解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 影驰hof内存+锐龙处理器:游戏速度再升
- 下一篇: m8i内存:稳定可靠、超出预期的性能