SNAT:源地址轉換
DNAT:目標地址轉換
PNAT:端口地址轉換
----------------------------------
iptables規則鏈
路由以後到本機:INPUT
本機出口:OUTPUT
路由到本機以後轉發:FORWARD
路由前:PREROUTING
路由後:POSTROUTING
---------------------------------
防火牆的功能
raw
mangle:拆包修改
nat:地址轉換
filter:過濾
---------------------------------
filter
處理動作
ACCEPT:放行
DROP:拒絕(直接丟棄包)
REJECT:拒絕(向對方回應拒絕)
---------------------------------
iptables 基本語法
iptables [-t TABLE](指定表名 raw|mangle|nat| filter<默認> ) COMMAND CHAIN(鏈) [CRETIRIA](匹配條件) -j ACTION
COMMAND:對鏈,或者鏈鏈中規則進行管理操作
鏈中規則:
-A 新加一條規則
-I [*] 插入一條規則
-R [*] 替換一條規則 OR , -R CRETERIA
-D [*] 刪除一條規則 OR , -D CRETERIA
鏈:
-N 新建一個自定義鏈
-X 刪除一個自定義空鏈
-E 重命名一條自定義鏈
-F 清空指定鏈,如果不指定鏈,則清空表中所有鏈
-P 設定默認策略
-Z 置零(每條規則,包括默認策略都有兩條計數器,一個是被本規則匹配的所有數據包的個數,另一個是被本條數據包匹配的大小之和)
-L 查看
-v 查看詳細
-vv 查看更詳細
-vvv 查看更加詳細
-- line-numbers 查看行號
-x 計數器的精確值
-n 不要對地址和端口進行名稱反解(顯示數字地址)
------------------------------------
iptabels服務腳本: /etc/rc.d/init.d/iptables
腳本配置文件:/etc/sysconfig/iptables-config
service iptables [status|start|stop|restart|save<保存>]
iptables 規則的目錄 /etc/sysconfig/iptables
匹配條件:
通用匹配
-s 源地址
-d 目標地址
| IP
| NETWORK/MASK
| ! (除指定IP或者網段以外)
-p [icmp|tcp|udp]
-i IN_INTERFACE 數據包流入接口
-o OUT_INTERFACE 數據包流出接口
擴展匹配
隱式擴展
-p tcp [icmp|tcp|udp]
|--sport 端口(必須為單個或者相連的端口)
|--dport 目標端口(必須為單個或者相連的端口)
|--tcp-flags [SYN,FIN,ACK,PSH,RST,URG](需要檢查的位) [SYN,FIN,ACK,PSH,RST,URG](須為1的位)
|--syn 相當於 --tcp-flags SYN,ACK,RTS,FIN SYN
-p udp
|--sport
|--dport
-p icmp
|--icmp-type
| 0:echo-reply 回應報文
| 8:echo-request 請求報文
顯式擴展
nitfilter擴展模塊引入的擴展,用於指定新的匹配條件,通常需要額外的專用選項來定義
-m state:用於使用連接狀態檢測
--state
NEW(新的鏈接),ESTABLISHED(建立的鏈接)
RELATED(有關系的),INVALID(非法的)
-------------------------------------
CentOS 7 保存方法
直接修改/etc/sysconfig/iptables保存
/usr/libexec/iptables/iptables.init save
http://xxxxxx/Linuxjc/1169734.html TechArticle