首頁 > 軟體

Iptables防火牆 基礎知識

2020-06-16 17:35:08

Iptables防火牆 基礎知識

1 位置

使用vim /usr/sysconfig/iptables

2 啟動、關閉、儲存

  • service iptables stop
  • service iptables start
  • service iptables restart
  • service iptables save

3 結構

iptables –> tables –> chains –>rules

3.1 iptables的表與鏈

iptables具有FilterNATMangleRaw四種內建表

3.1.1 Filter表

filter表示iptables的預設表,它具有三種內建鏈:

  • input chain  - 處理來之外部的資料
  • output chain - 處理向外傳送的資料
  • forward chain- 將資料轉發到本機的其它網絡卡上

3.1.2 NAT表

NAT有三種內建的鏈:

  • prerouting  - 處理剛到達本機並在路由轉發前的封包,它會轉換封包中的目標IP地址(destination ip address),通常用於DNAT(destination NAT)。
  • postrouting - 處理即將離開本機封包,它會轉換封包中的源目標IP地址(source ip address),通常SNAT(source NAT)
  • output        - 處理本機產生的封包

3.1.3 Mangle表

Mangle表用於指定如何處理封包,它能改變TCP頭中的Qos位,Mangle表具有5個內建鏈

  • prerouting
  • output
  • forward
  • input
  • postrouting

3.1.4 Raw表

raw表使用者處理異常,它具有2個內建鏈

  • prerouting chain
  • output chain

3.2 Iptables規則(Rules)

  • rules包括一個條件和一個目標(target)
  • 如果滿足條件就執行目標target中規則或者特定值
  • 如果不滿足條件,就判斷下一條Rules

3.2.1 目標值

  • accept - 允許防火牆接收封包
  • drop    - 防火牆丟棄封包
  • queue  - 防火牆將封包移交到使用者空間
  • return  - 防火牆停止執行當前鏈中的後續rules規則,並返回到呼叫鏈(the calling chain)

4 命令

#iptables -t filter -L  檢視filter表

#iptables -t nat  -L    檢視nat表

#iptables -t mangel -L 檢視mangel表

#iptables -t raw  -L 檢視Raw表

例如 以下例子表明在filter表的input鏈, forward鏈, output鏈中存在規則:

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# iptables --list
Chain INPUT (policy ACCEPT)
num  target    prot opt source              destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0
 
Chain FORWARD (policy ACCEPT)
num  target    prot opt source              destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0
 
Chain OUTPUT (policy ACCEPT)
num  target    prot opt source              destination
 
Chain RH-Firewall-1-INPUT (2 references)
num  target    prot opt source              destination
1    ACCEPT    all  --  0.0.0.0/0            0.0.0.0/0
2    ACCEPT    icmp --  0.0.0.0/0            0.0.0.0/0          icmp type 255
3    ACCEPT    esp  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT    ah  --  0.0.0.0/0            0.0.0.0/0
5    ACCEPT    udp  --  0.0.0.0/0            224.0.0.251        udp dpt:5353
6    ACCEPT    udp  --  0.0.0.0/0            0.0.0.0/0          udp dpt:631
7    ACCEPT    tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:631
8    ACCEPT    all  --  0.0.0.0/0            0.0.0.0/0          state RELATED,ESTABLISHED
9    ACCEPT    tcp  --  0.0.0.0/0            0.0.0.0/0          state NEW tcp dpt:22
10  REJECT    all  --  0.0.0.0/0            0.0.0.0/0          reject-with icmp-host-prohibited

欄位說明

num:編號

target:目標

prot:協定

source:封包的源IP地址

destination:封包的目標地址

4.1 清空所有的規則 

#iptables –flush

更多iptables相關教學見以下內容

CentOS 7.0關閉預設防火牆啟用iptables防火牆  http://www.linuxidc.com/Linux/2015-05/117473.htm

iptables使用範例詳解 http://www.linuxidc.com/Linux/2014-03/99159.htm

Linux防火牆iptables詳細教學 http://www.linuxidc.com/Linux/2013-07/87045.htm

iptables的備份、恢復及防火牆指令碼的基本使用 http://www.linuxidc.com/Linux/2013-08/88535.htm

Linux下防火牆iptables用法規則詳解 http://www.linuxidc.com/Linux/2012-08/67952.htm

Linux下iptables防火牆設定 http://www.linuxidc.com/Linux/2015-10/123843.htm

本文永久更新連結地址??http://www.linuxidc.com/Linux/2016-08/134410.htm


IT145.com E-mail:sddin#qq.com