天天看點

防火牆基本設定

防火牆基本設定

防火牆系統是保護系統免受侵害的最基本的一種手段。Netfilter/iptables是linux系統提供的一個非常優秀的防火牆工具。

該文檔内容主要将iptables作為主機防火牆的一些基本設定。

首先,普及一下iptables的基本内容

規則鍊是防火牆規則/政策的集合,預設iptables包括了5種規則鍊

INPUT處理入站的資料包

OUTPUT處理出站的資料包

FORWARD處理轉發資料包

PREROUTING在進行路由選擇前處理資料包

POSTROUTING在進行路由選擇後處理資料包

Redhat enterprise linux 的規則表是規則鍊的集合,預設的規則表有4個

raw表确定是否對該資料包進行狀态跟蹤

mangle表為資料包設定标記

nat表修改資料包的源,目标ip或端口

filter表确定是否放行該資料包

我們主要學到的表是filter表和nat表

Iptables指令規則

Iptables [-t 表名 ]<指令>[鍊名][規則号][規則][-j 目标]

Iptables中未指明表名的情況下預設使用filter表

參數

-A在指定的鍊的末尾添加一條或多條規則

-D從指定的鍊中删除一條或多條規則。可以按照規則的序号進行删除,也可以删除滿足比對條件的規則

-R在指定的鍊中用新的規則置換掉某一規則号的舊規則

-I在指定的規則序号前插入一條或多條規則,如果沒有指定規則号,則預設1

-L列出指定鍊中的所有規則,如果沒有指定鍊,則所有鍊中的規則都将列出來

-F删除指定鍊中的所有規則,如果沒有指定,則所有鍊中的規則都将列出

-N建立一個新的使用者自定義鍊

-X删除指定的使用者自定義鍊

-p指定上一層協定

-s指定源ip位址或子網

-d指定目的ip或子網

-i指定資料包進入的網絡接口名稱

-o指定資料包出去的網絡接口名稱

實驗需求:vmwareworkstation,rhel4

檢視filter表中的規則

防火牆基本設定

清空所有規則,在此檢視filter表

防火牆基本設定

删除使用者自定義鍊

防火牆基本設定

因為規則鍊中預設的處理入站資料包為ACCEPT,我們試着在用戶端上通路該伺服器上的web服務

防火牆基本設定

現在,我們試着把預設的規則鍊修改為DROP,再進行通路

防火牆基本設定

是以INPUT鍊阻止了用戶端的通路

防火牆基本設定

那麼,有什麼方法讓你的用戶端ip位址進行通路呢?答案是有的

添加規則

防火牆基本設定

檢視filter表

防火牆基本設定

我們再一次在用戶端測試是否可以通路web服務

防火牆基本設定

答案是可以的

添加新規則

防火牆基本設定

修改新添加的規則

防火牆基本設定

我們可以看到上面的規則中一個是ACCEPT,一個是DROP,當用戶端通路時應遵循哪一條規則呢?

防火牆基本設定

因為比對的兩條規則,前面的是放行的,是以後面的規則就不起作用啦

在伺服器上開啟ftp服務,并且讓用戶端可以通路

防火牆基本設定
防火牆基本設定

用戶端通路

防火牆基本設定

添加開啟ftp20号端口的規則

防火牆基本設定
防火牆基本設定

又或者是先開啟21端口可通過的規則鍊後,加入以下規則

iptables –A INPUT –p tcp –m state –state ESTABLISHED,RELAATED–j ACCEPT