(iptables)火牆策略讀取的先後順序 + 引入數據包狀態

實驗環境

本實驗使用了兩臺虛擬機,workstation(添加策略) + rhel8(進行訪問測試)

  • dnf install httpd -y進行安裝後,打開服務
    在這裏插入圖片描述
  • 此時ssh可訪問,apache也可以
    在這裏插入圖片描述
    在這裏插入圖片描述

測試步驟

1)設置apache可被訪問,iptables不可以

  • iptables -A INPUT -p tcp --dport 80 -j ACCEPT 設置httpd可以
    在這裏插入圖片描述
  • iptables -A INPUT -i lo -j ACCEPT 設置迴環接口允許,即本地可訪問
    此時80接口是允許的,迴環接口是允許的,其他都是REJECT拒絕的
    在這裏插入圖片描述
  • 使用rhel8進行連接測試,不能ping通,也不能連接上去。但是apache連接是正常的
    在這裏插入圖片描述
    在這裏插入圖片描述
    2)添加20端口,讓ssh也能夠被訪問
  • 火牆策略需要注意,因爲是具有先後順序的(從上到下依次讀取),比如說添加22端口,如果直接使用iptables -A INPUT -p tcp --dport 22 -j ACCEPT命令進行添加,就會在REJECT後面,依舊是不能進行訪問的
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 當我們使用iptables -I INPUT 3 -p tcp --dport 22 -j ACCEPT就能把策略添加到指定行
    在這裏插入圖片描述
    在這裏插入圖片描述
    在企業中的策略肯定不像我們這裏測試的只有短短几條,那麼就存在一種問題:每次我們的80都在最後一條,讀取起來就很麻煩,所以引入了監控數據包狀態這一點

數據包狀態

最開始的訪問狀態是NEW,後續就是ESTABLISHED和RELATED了。此設定會優化我們的火牆數據包狀態,使我們的數據包更易通過火牆。

命令 作用
RELATED 建立過連接的
ESTABLISHED 正在連接的
NEW 新的

【1】代碼

[root@workstation ~]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  #這兩種狀態的直接讓過
[root@workstation ~]# iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
[root@workstation ~]# iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
[root@workstation ~]# iptables -A INPUT -m state --state NEW -s 170.25.254.11 -p tcp --dport 22 -j ACCEPT  #不加!表示只有這個ip的可以來訪問,加上!表示只有此ip不可訪問
[root@workstation ~]# iptables -A INPUT -j REJECT
[root@workstation ~]# service iptables save #對我們的策略進行保存

在這裏插入圖片描述
【2】驗證

  • 自己訪問自己是可以成功的,因爲走的是lo迴環接口
    在這裏插入圖片描述
  • 使用170.25.254.11也是可以訪問的,使用其他主機是不可以的
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章