Linux私房菜——防火牆部分筆記

來源:互聯網
上載者:User

標籤:

#1 分類

對單一主機,主要有兩種:資料包過濾Netfilter和依據服務軟體分析的TCP Wrapper.

對地區型防火牆來說,即安裝防火牆的主機充當路由器的角色。防火牆類型主要有兩種:資料包過濾Netfilter和Proxy 伺服器。

對Netfilter(資料包過濾機制),Linux提供了iptables這個軟體來進行管理。下文的重點就是整理iptables常用的命令。

對TCP wraper(程式管理),是針對特定的軟體,如ssh,telnet等特定軟體進行IP限制,MAC地址限制等(不可用於apache)。

Proxy 伺服器往往也是NAT伺服器,以實現透明代理。

#2 iptables概念

iptables由多個table組成,每個table都有自己的策略和規則。預設的table為Filter,作用是過濾本地的資料包。除此之外,還有NAT table,功能是進行來源於目的地的IP或port轉換,與Linux本機無關。還有其他的table,此處不提。

每個table都有自己的鏈(chain),盜圖一張,具體如下:

對Filter來說,有三條鏈,分別為INPUT,OUTPUT,FORWARD。

一個資料包進入本機與從本機發出的過程,如所示,再次盜圖一張:

#3 iptables文法

1. 規則查看

iptables [-t target(預設為fliter)] [-L (查看當前table的規則)] [-v (更多資訊)]

查看filter表規則 : iptables -L

查看NAT表規則 : iptables -t nat -L

2. 規則查看2

iptables-save [-t target]

會列出完整的防火牆規則

3. 清空規則

iptables -F  清除所有已制定規則

iptables -X  清除所有使用者自訂的tables

iptables -Z  將所有chain的計數和流量清空

4. 定義預設策略

iptables [-t target] -P [INPUT,OUTPUT...] [DROP,ACCEPT]

5. 設定規則:針對IP

iptables [-AI 鏈名(-A為新增,-I為插入)] [-io 網路介面(-i為資料包進入的介面)] [-p 協議(主要有:tcp udp icmp all)] [-s 來源IP/網路] [-d 目標IP/網路] -j [ACCEPT|DROP|REJECT|LOG (接收,悄悄丟棄,向來源地址發送拒絕資料包,日誌記錄)]

LOG記錄的資料儲存在/var/log/message中,LOG並不影響後續的資料包對比。

例:

添加lo為信任裝置: iptables -A INPUT -i lo -j ACCEPT

來自內網的所有資料都接收:iptables -A INPUT -i eth1 -s 192.168.1.0/24 -j ACCEPT(假設eth1串連LAN)

6. 設定規則:針對連接埠

iptables [-AI 鏈名] [-io 網路介面] [-p tcp,udp] [-s 來源] [--sport 連接埠範圍] [-d 目的] [--dport 連接埠範圍] -j [ACCEPT|DROP|REJECT]

--sport表示來源IP/網路的連接埠範圍,--dsport表示目的IP/網路的連接埠範圍

因為僅有TCP、UDP資料包有連接埠,所以要想使用--sport或者--dport,都需要指定-p

例:

拒絕進入原生21號連接埠的資料包:iptables -A INPUT -i eth0 -p tcp --dport 21 -j REJECT

7. 設定規則:針對mac和state

iptables -A INPUT [-m 外掛模組名(state,mac等)] [--state 狀態]

常見的資料包狀態:INVALID(無效資料包) ESTABLISHED(串連成功的串連狀態) NEW(建立串連的資料包) RELATED(與主機發出去的資料包有關)

例:

通過所有已建立串連或與發出請求相關的資料包,不合法資料包丟棄:iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -m state --state INVALID -j DROP

允許存取mac地址為aa:bb:cc:dd:ee:ff的主機 iptables -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff -j ACCEPT

 

Linux私房菜——防火牆部分筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.