IPTABLES

IPTABLES 軟防火墻

防火墻是做什么的:

在生活中顧名思義防火墻即是為了防止火勢、火情蔓延而設立的一道屏障,那么這道屏障在設置在那里后就可以保障內外兩地將無情火分隔,保證我的內地不受外地的火情影響,從而安全的生活下去;查看下圖幫助理解防火墻;

圖1-1.png

1-1    

1-1可以看出當數據流量從外網主機訪問內網主機時,因為網絡中有一道防火墻存在,而組織了惡意攻擊,并且將數據包直接丟棄在門外,這就是防火墻了;

 

在網絡環境中都有哪些防火墻 :   

    我們可以把iptables叫做防火墻;因為防火墻有兩種,分為硬件防火墻和軟防火墻;

硬件防火墻就是一個網絡設備,比如CISCO公司生產的ASA系列產品就屬于硬件防火墻了,那么軟件防火墻呢,軟件防火墻即是將防火墻的功能集成到系統之上,例如windos的防火墻,linuxiptables,這些都屬于軟件防火墻,但是我們稱軟件防火墻叫做軟防火墻;本文檔中只介紹軟防火墻iptables;

iptablesnetfilter的關系:

    這是第一個要說的地方,Iptablesnetfilter的關系是一個很容易讓人搞不清的問題。很多的知道iptables卻不知道netfilter。其實iptables只是Linux防火墻的管理工具而已,位于/sbin/iptables。真正實現防火墻功能的是netfilter,它是Linux內核中實現包過濾的內部結構。

 

iptables的實現:

iptables是集成在linux發行版本內核中的一個IP包過濾系統,以數據包過濾的方式來決定數據包的留去,怎么定義呢;通過表單查詢方式;在iptables中默認有以下幾表,表下面分為幾個鏈,鏈下面分了幾個2個規則:

表:filter、nat、mangle、raw

鏈:(filter的鏈)INPUTOUTPUT、FORWARD

規則:ACCEPT、DROP

INPUT鏈:從別的主機訪問我的主機才被INPUT鏈匹配

OUTPUT鏈:從我的主機訪問別的主機才被OUTPUT鏈匹配

FORWARD鏈:經過我的主機才被FORWARD鏈匹配

             把他們理解在一個平面上是這樣的:                                   

filter

INPUT

ACCEPT/DROP規則

ACCEPT

Tcp

1.1.1.1

1.1.1.2

23

23

OUTPUT

ACCEPT/DROP規則

規則

協議

ip

ip

源端口

目端口

FORWARD

ACCEPT/DROP規則

ACCEPT

Tcp

1.1.1.2

1.1.1.1

23

23

                               表1-1

同表1-1表示所示:這張表中設定了兩個規則;

當數據流量進入linux,linux會將數據包給到iptables,讓iptables進行解封數據包封裝,得出數據包中的源ip地址、目ip地址、源端口、目端口,進行對iptables的表進行比對;

 

舉例:

主機Aip地址1.1.1.1 向主機2ip地址1.1.1.2發送了一個telnet連接,數據包格式大概為:

IP

ip

協議

源端口

目端口

1.1.1.1

1.1.1.2

Tcp

23

23

                表1-2

在主機2中,Iptables解封數據包得出大概得出表1-2內容,獲取到這些基本信息后,對比iptables表單,這表單中有四個表,這里查看filter表,這個表中有三個鏈,因為這里是主機1發送給我的數據包,是進入主機的數據包,所以從INPUT這個進入鏈來查看規則;這些源ip,目ip能被iptablesfilter表單INPUT鏈的規則中的項所匹配后,才允許放行,缺一不可;

   

IP

ip

協議

源端口

目端口

1.1.1.2

1.1.1.1

Tcp

23

23

                 表1-3

數據包講究有去有回,在主機1的數據包到達主機2后,主機2需要將數據包返回給主機1,當返回主機1的時候數據包源目發生該表,如圖1-3

所以在iptablesfilter表中將由兩條規則;

 

Iptables的配置

Itables –t filter –P INPUT DROP

-t:指明表單

-P:指明哪個鏈

#指明filter表的INPUT鏈默認規則修改為DROP

Itables –t filter –P OUTPUT DROP

#指明filter表的OUTPUT鏈默認規則修改為DROP

 

Iptables –t filter –A INPUT –p tcp –s 1.1.1.1 –d 1.1.1.2 –sport 23 –dport 23 –j ACCEPT

-p:指明協議所用tcp協議

-s:指明表中匹配項的源端口地址

-d:指明表中匹配項的目的端口地址

–sport:指明匹配項的源端口地址

–dport:指明匹配項的目端口地址

-j:指明若數據包被這條規則所匹配后是ACCEPT放行還是DROP丟棄

#設置filter表中的INPUT鏈中匹配到源ip1.1.1.1ip1.1.1.2telnet數據允許放行

 

Iptables –t filter –A OUTPUT –p tcp –s 1.1.1.2 –d 1.1.1.1 –sport 23 –dport 23 –j ACCEPT

#設置filter表中的OUTPUT鏈中匹配到源ip1.1.1.2ip1.1.1.1telnet數據允許放行

 

      -m:指明所匹配項所用的模塊

 

 

 

原創文章,作者:system,如若轉載,請注明出處:http://www.www58058.com/66344

(0)
systemsystem
上一篇 2017-03-15
下一篇 2017-03-15

相關推薦

  • 初識Linux

    本文對計算機組成及其功能、Linux的發行版、以及Linux的哲學思想進行了簡單的介紹;同時對Linux系統中常用的基礎命令以及如何獲取幫助信息進行了詳細的說明。

    2018-01-14
  • N25第七周博客作業

    第七周博客作業 1、 創建一個10G分區,并格式為ext4文件系統; fdisk/dev/sdb à nàpàlast扇區:+10Gàwàpartx -a /dev/sdb   (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; mke2fs  -t ext4 -b 2…

    Linux干貨 2017-02-20
  • centos6的啟動流程和grub實驗

    一.centos的啟動流程         post–mbr grub 1stage–stage1.5–stage 2 /boot/grub—/boot/grub/grub.conf —kernel /vmlinuz.XXX root=— /boo…

    2017-07-08
  • lvs-DR模型構建高性能集群

    構建環境:centos7.1     Diretor server:172.16.15.131  (  VIP:172.16.15.138 )     Real server:172.16.15.132/133      配置163源 拓撲…

    Linux干貨 2016-08-22
  • linux 查找過濾及用戶和組管理命令的一些事例

    1.列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 ~]# who | cut -d' ' -f1 | sort | uniq 2.列出最后登錄到當前系統的用戶的相關信息。 ~]# last | head -1 3.列出當前系統上被用戶當作其默認shell的最多的那個shell。  ~]#…

    Linux干貨 2016-10-05
  • shell基礎if與case

    1.read   使用read來把輸入值分配給一個或多個shell變量;   -p 指定要顯示的提示;例如 read -p "SHURU" num   -t TIMEOUT   read 從標準輸入中讀取值,給每個單詞分配一個變量,所有剩余單詞都被分配給最后一個變量 2.流程控制   過程…

    Linux干貨 2016-08-18
欧美性久久久久