linux iptables 防火牆使用

2021-08-01 21:45:36 字數 2757 閱讀 4991

centos 7.0 更改了預設的防火牆 使用了 firewalld 程序做為防火牆(開啟關閉方法 分別是  service firewalld start      service firewlld stop)

在7.0之前,預設的防火牆軟體是 iptables        如果不習慣的話,完成可以把 firewalld 關閉,重新安裝 iptables

目前市面上比較常見的有3、4層的防火牆,叫

網路層的防火牆

,還有7層的防火牆,其實是

**層的閘道器

。這裡講一下 關於iptables 的規則配置及含義(iptables n屬於網路層防火牆)

我們一般用到的防火牆有兩個主要的功能

一種是  filter 定義允許或不允許     (filter  功能有三個鏈  分別是     input(進入本機)      forword(通過本機**  如本機是乙個閘道器時)    output(本機向外傳送))

別一種是 nat功能 定義位址轉的換的   如   squid 的透明**服務,就要使用防火牆的 nat 功能

iptables 可以在 /etc/iptables/iptable.conf 檔案中進行規則的書寫,一般不建議這樣做

可以在命令列檢視現有的規則 

#  iptables -l    或者可以檢視帶行號的    # iptables -l  --line-numbers

對鏈的操作 

1.修改鏈  -p   

格式:  # iptables -t filter -p input -j  accept    //-t  filter 表示操作的表   -p  input 表示操作的鏈  -j accept  表示對該錶該鏈的動作

// -t 不指定的話,預設為 filter    (另外兩個常用引數是nat  (位址轉換表)     mangle(修改報文原資料  這個不常用

)// -p  表示修改鏈  對filter表來說,有三種鏈  (分別是 input      forword    output)

// -j 表示執行的動作    一般就是   accept (接受)     drop(丟棄)    reject:明示拒絕

2.清空鏈  -f

# iptables -f           //表示把整個表都清空     慎用

格式:  # iptables -t filter -f  input     //表示清空 filter表中的 input 鏈

對規則的操作

1.刪除乙個規則  -d

格式: # iptables -d input  1        //這句表示刪除 input 鏈上的第1 條規則      規則的序號可能通過   iptables -l  --line-numbers  檢視得到

2.修改乙個規則  -r

格式: # iptables -r input 3 -s 192.168.1.2/24 -j drop     //  格式類似刪除的

3.新增一條規則  -a                        //這個是最常用的

格式:# iptables -a output -d www.baidu.com -j drop    //這裡是新增乙個規則,只要是向 www.baidu.com 傳送的資訊都會丟棄掉

規則中的匹配條件

1.針對資料的出 入的介面,   一般也就是網絡卡               從網絡卡流出用 -o        流入用  -i

例:    iptables -a  -i  eth0  -j  drop             // 這條規則是說 把流入 網絡卡 eth0  的資料全都丟棄掉    (這種方法不常用,  限制範圍太大)

2.針對源ip  或者  目的 ip                              -s 表示源ip             -d表示目的 ip

例:   iptables -a   -s 192.168.5.4/24   -d  192.168.6.2/24 -j drop   //這句是說 把源ip是192.168.5.0 網段發出的 ,傳送到192.168.6.0 網段的資料全丟掉

3.針對協義的     -p          -p  tcp 表示是tcp 協議     (注意:使用了協義就必須跟埠號  ,  或者 使用了埠號也必須跟協議)

例:  iptables  -a  -p tcp  --dport  80  -j  drop     //這句的意思是  把tcp協義的,    目的埠是80的訪問全都丟掉

4 針對埠的   -sport     -dport                     //--sport 表示源埠               --dport 表示目的埠上例

練習題1:

只要是來自於172.16.0.0/16網段的都允許訪問我本機的172.16.100.1的sshd服務

分析:首先肯定是在允許表中定義的。因為不需要做nat位址轉換之類的,然後檢視我們sshd服務,在22號埠上,處理機制是接受,對於這個表,需要有一來一回兩個規則,如果我們允許也好,拒絕也好,對於訪問本機服務,我們最好是定義在input鏈上,而output再予以定義就好。(會話的初始端先定義),所以加規則就是:

定義進來的: iptables -t filter -a input -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -j accept

定義出去的: iptables -t filter -a output -s 172.16.100.1 -d 172.16.0.0/16 -p tcp --dport 22 -j accept

Linux Iptables命令詳解

ipaddr ipaddr port port 可以指定乙個單一的新的ip位址,乙個ip位址範圍,也可以附加乙個埠範圍 只能在指定 p tcp 或者 p udp的規則裡 如果未指定埠範圍,源埠中512以下的 埠 會被安置為其他的512以下的埠 512到1024之間的埠會被安置為1024以下的,其他埠...

Linux iptables規則詳解

filter input drop 345 43237 forward accept 0 0 output accept 306 41346 ainput p tcp m tcp dport 10022 j accept ainput p tcp m tcp dport 80 j accept ai...

Linux iptables基本管理

1.iptables基本管理 問題本案例要求熟悉iptables工具的基本管理,分別練習以下幾方面的操作 檢視當前生效的防火牆規則列表 追加 插入新的防火牆規則,修改現有的防火牆規則 刪除 清空指定的防火牆規則 方案採用兩台rhel6虛擬機器,在其中svr5上配置iptables防火牆規則,pc20...