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個規則:

表:filternat、mangleraw

鏈:(filter的鏈)INPUT、OUTPUT、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 15:15
下一篇 2017-03-15 19:09

相關推薦

  • Linux的哲學思想

    Linux的哲學思想 一切皆文件 不管是普通的文件、目錄,還是跟硬件相關的字符設備、塊設備、套接字等在Linux中都被當作文件來進行統一的操作管理。 單個程序完成簡單的功能,復雜的功能由多個程序組合而成 單個程序只實現簡單功能,保證了其高效運行,而復雜功能由多個簡單程序組合而成,也能保證一定的高效性。 盡量避免與用戶交互 程序從啟動開始到結束不需要用戶參與,…

    Linux干貨 2017-07-02
  • N22-love cat 博客作業 第3部分

    基于 heartbeat v2 crm 實現HA高可用性的 LAMP+wordpress 基本環境設置 OS   version:       CentOS release 6.7 (Final) Soft versio…

    Linux干貨 2016-08-15
  • httpd的安裝與使用

    httpd的安裝與使用

    2017-12-07
  • Linux發展史

    Linux發展史 一、歷史 (一)、Unix 1、Unix操作系統是一個強大的多用戶、多任務操作系統,支持多種處理器架構。 2、最早由KenThompson(湯普遜)、Dennis Ritchie(丹尼斯·里奇,C語言之父,Unix之父)和Douglas McIlroy(麥克羅伊,程式設計師)于1969年在AT&T的貝爾實驗室開發。 3、目前它的商標…

    Linux干貨 2016-10-14
  • Linux程序包管理rpm、yum、源碼編譯

    概述:     眾所周知,Linux操作系統本身,必須要借助額外的一些軟件,才能完成某些應用的,操作系統如果沒有應用程序的填充,就無法創造出生產力,這樣即使再完美的操作系統,也毫無用處。那么本章就簡要介紹一下Linux系統上對程序包的管理,分為以下三個部分:     1、程序包的…

    Linux干貨 2016-08-24
  • 腳本的進階與一些基本腳本

    1,腳本中用于表示數字大小寫和符號為: -gt(大于)-lt(小于)-ne(不等于)-eq(等于) 格式為 [[空格 ”符號”空格]] 2,測試文件類型的選項 -f(是否為普通文件)-l(是否為鏈接文件)-d(是否為目錄)-e(單獨測試文件是否存在) 3,if語句的格式:(其中path代表條件,elif鏈接多個條件,最后一個條件用else表示) if pat…

    Linux干貨 2017-05-22
欧美性久久久久