防火牆的種類:
- 包過濾防火牆
- 代理防火牆
- 狀態檢測技術
通信原理:
一臺客戶端>iptables>服務器
數據包---》iptables把數據包分類進行處理(各種表rew,mangle,nat,filter表等)--
-》
filter:允許,不允許通過數據包。
nat:進行數據轉換的數據包。
mangle:對數據包做標記
raw:對狀態的跟蹤
默認的5種規則鏈:
INPUT鏈:進口
OUTPUT鏈:出口
FORWARD鏈:轉發
POSTROUTING鏈:路由選擇後處理 例:ip地址轉換後,
PREROUTING鏈:路由選擇前處理 例:ip地址轉換前
規則表之間的順序:
raw mangle nat filter
規則鏈之間的順序:
* 入站數據流向:到達防火牆--》PREROUTING鏈處理--》路由選擇---》目的地址是防火牆本
機,交給INPUT鏈處理,--》系統上層應用響應
* 轉發數據流向:到達防火牆--》PREROUTING鏈處理--》路由選擇--》數據包目標地址是其他
外部地址,交給FORWARD鏈處理---》POSTROUTING鏈處理
* 出站數據流向:防火牆本機向外部地址發數據包--》OUTPUT鏈處理--》路由選擇--》
POSTROUTING鏈處理
* 規則鏈內部各天防火牆規則之間的順序:從上往下,一旦匹配,立即終止。
Centos7中使用iptables:
先關閉firewalld防火牆:
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl is-enable firewalld:查看是否是開機自啓。
安裝iptables服務:
yum install iptables-services
systemctl start iptables
systemctl enable iptables
service iptables sava :保存設置
iptables語法格式:
iptables [-t 表名] 管理選項 [鏈名] [條件匹配] [-j 目標動作]
iptables -L 沒有-t 指定表名,默認查看的是fileter表中的信息
iptables -L --line-number 查看的是fileter表中的信息,並顯示行號
iptables -F 沒有-t 指定表名,默認清空fileter表中的信息
iptables -t fileter -A INPUT -d 127.0.0.1 -p tcp --dport 22 -j ACCEPT 在鏈尾追加一條規則
iptables -I INPUT -s 192.168.75.1 -d 127.0.0.1 -p tcp --dport 22 -j ACCEPT 在第一個位置插入一條規則
iptables -I INPUT 2 -s 192.168.75.1 -d 127.0.0.1 -p tcp --dport 22 -j DROP 在第2條規則前插入一條規則
iptables -D INPUT 1 刪除INPUT鏈中的第一條規則
iptables -P INPUT DROP 設置默認策略爲拒絕所有連接
iptables -P INPUT ACCEPT 設置默認策略爲允許已建立的規則進行連接
iptables -h 查看幫助信息
man iptables 查看iptables手冊
-A :在鏈尾追加一條新的規則
-l :在指定位置(或鏈首)插入一天新的規則
-P :設置指定鏈的默認策略
-L :列表查看各條規則信息
-D :刪除指定位置或內容的規則
-F :清空規則鏈內的所有規則
-h :查看iptables命令的使用幫助