天天看點

shorewall 企業防火牆的完美實作

作者:xjdong

來自:LinuxSir.Org

目錄

第一篇:網絡接入情況;

  • 1.1、你得IP位址範圍;

    1.2、使用者端接入IP,以及局端IP;

    1.3、從上圖中我們可以看出;

    • 1.31、ISP配置設定給你得是一個C類公網位址;

      1.32、使用者端得接入IP 是 192.168.5.1,局端IP 是 192.168.5.2

第二篇:網絡結構得設計

  • 2.1、方案一:就是不對C類網段分段,還是用一個網段;

    2.2、方案二:就是對C類網段分段,分成兩個公網IP網段,有兩個防火牆如圖;

第三篇: 防火牆得實作

  • 3.1、安裝;

    3.2、配置;

關于本文

相關文檔

++++++++++++++++++++++++++++++++++++++++++++++++

正文

++++++++++++++++++++++++++++++++++++++++++++++++

相信大家一定很想自己做一個企業級應用得防火牆,看到大家在論壇上常常問到類似得問題,現在我将我自己身邊得一個防火牆企業級應用執行個體共享出來,希望能幫到需要幫助得朋友。

第一篇:網絡接入情況;

現在很多企業有的是用專線接入,有的是用ADSL 接入,但最終結果都是一樣,就是在網際網路上有一個公網IP(或者一個網段)得Route 到你得網關伺服器上或者接入路由器上。 好了,知道了這點我就來說一下網際網路得接入這一部分,我以專線接入為例子:

如圖:

Route A
                                      ( Internet or ISP  )
                                          /(192.168.5.2/255.255.255.252)
                                         /
                                      ///
                                     /  
                                    / (IP:192.168.5.1/255.255.255.252)
                                 (Route B)
                                    | (IP 211.111.111.1/255.255.255.0)
                                    |
                                    |_____ (區域網路) 
      

當你是專線接入得時候,一般都會有一個專線接入單,上面會有如下相關資訊:

1.1、你得IP位址範圍

1.2、使用者端接入IP,以及局端IP

1.3、從上圖中我們可以看出:

1.31、ISP配置設定給你得是一個C類公網位址

1.32、使用者端得接入IP 是 192.168.5.1,局端IP 是 192.168.5.2

好了,下面是我要重點說得了,很多人以為在一個防火牆得外網接口上一定得綁定公網IP,其實這是一個錯誤得認識,其實隻要有 Route 資訊,你就可以上網際網路。怎麼以上面得圖為例子,在 ISP 商得路由器那頭,就是綁定 192.168.5.2 那個路由器一定有一個 Route 資訊是這樣得:

ip route 211.111.111.0/24 via 192.168.5.1

通常得做法就是像如圖一樣在Route B 得以太網口處幫定一個公網IP 211.111.111.1 ,然後大家以這個為網關上網,通常會先接入防火牆,然後後面接區域網路使用者,如圖:

                                          Route A                                       ( Internet or ISP )                                           /(192.168.5.2/255.255.255.252)                                          /                                       ///                                      /                                     / (IP:192.168.5.1/255.255.255.252)                                  (Route B)                                     | (IP 211.111.111.1/255.255.255.0)                                     |                                     |                                     | (211.111.111.2/24)                                |----------|                                | Firewall |                                |----------|                    (10.1.2.0/24)/ /(10.1.1.0/24)                                / /                               / /                              / /              (區域網路 A) ____/ /_____ (區域網路 B)

解說:

這是一個很典型得企業應用,我想我說得沒錯吧,但是我覺得這裡面有幾個不好得地方:

1)就是公網IP不能很好得管理,在 Firewall 和 Route B 之間是通過公網IP 連接配接得,比如通過交換機連接配接,這樣如果有人在交換機上接一個計算機自己随意綁定公網IP 就可以上網了。

2)這是一個C類得IP ,在Firewall 上需要綁定很多公網IP ,才能使用這些IP ,這樣管理有很多弊端。

好了,說了這麼多,下面引入正題,就是分享一下我得防火牆得實際解決方案。(續看第二篇)

第二篇:網絡結構得設計

對于一個C類得公網IP 我們可以重新設計一個網絡拓撲:

2.1、方案一:就是不對C類網段分段,還是用一個網段;

Route A
                                      ( Internet or ISP  )
                                          /(192.168.5.2/255.255.255.252)
                                         /
                                      ///
                                     /  
                                    / (IP:192.168.5.1/255.255.255.252)
                                 (Route B)
                                    | (IP 192.168.1.1/255.255.255.252)
                                    |
                                    |                                        
                                    | (192.168.1.2/255.255.255.252)
                               |----------|
                               | Firewall |
                               |----------|
                   (10.1.1.1/24)/        /(10.1.2.1/24)
                               /          /
                              /            /
                             /              /  
             (區域網路 A) ____/                /_____ (區域網路 B  DMZ 伺服器區)      
  
      

注意: 在 Route B 上需要添加一個靜态路由, ip route 211.111.111.0 255.255.255.0 192.168.1.2

好了,這樣 Firewall 就可以完全控制和配置設定這 254 個公網IP 了

2.2、方案二:就是對C類網段分段,分成兩個公網IP網段,有兩個防火牆如圖;

Route A
                                         ( Internet or ISP  )
                                             /(192.168.5.2/255.255.255.252)
                                            /
                                         ///
                                        /  
                                       / (IP:192.168.5.1/255.255.255.252)
                                  |----------|
                                  | Route B  |
                                  |----------|
                                       |(IP 192.168.1.1/255.255.255.248)
                                       |
                                 /------------/
(IP 192.168.1.2/255.255.255.248)/              / (IP 192.168.1.3/255.255.255.248) 
                    |-----------|          |-----------|
                    | Firewall A|          | Firewall B|
                    |-----------|          |-----------|                         
                      /                              /  
      (區域網路 A) ____/                                /_____ (區域網路 B)               

      
      在 Route B 上添加兩條靜态路由:

        ip route 211.111.111.0   255.255.255.128 192.168.1.2
        ip route 211.111.111.128 255.255.255.128 192.168.1.3

      

這樣一來,我們就将一個 C類得公網IP 拆分成了兩個:

Firewall A 得IP 範圍是211.111.111.1-127 Firewall B 得IP 範圍是211.111.111.129-254

好了,網絡設計好了,下面我就以 方案一 我來講如何配置防火牆 (續看第三篇)

第三篇: 防火牆得實作

我選用的平台是:

Redhat 8.0 + Shorewall 1.4.8 (其實就是基于iptables), 有三塊網卡,以方案一為例。

可能很多朋友都不太清楚 shorewall (http://www.shorewall.net),我先介紹一下 shorewall ,其實他是一個基于 iptables 得一個防火牆,他得優點在于配置友善,便于管理,用它很容易就能配出一個企業級得防火牆政策。

這裡我說一下我個人觀點,iptables 得指令過于複雜和麻煩,在管理方面和可讀性方面比較差,我個人認為我們作為一個網管得精力應該放在如何設計防火牆政策,而不要陷身于一個指令得寫法上。好了,廢話不說了。

安裝好 Redhat 8.0 ,并裝好三塊網卡後,下載下傳 shorewall 的rpm 包shorewall-1.4.8-1.noarch.rpm(或者 tar 包都可以)

3.1、安裝;

#rpm -ivh shorewall-1.4.8-1.noarch.rpm

3.2、配置;

shorewall 得所有配置檔案都在 /etc/shorewall 下面,好了我将詳細得講解如何配置 shorewall

這裡我們假設 DMZ區域有如下一些的伺服器:

mail server: 10.1.2.2/24 公網位址:211.111.111.2 pptp vpn server: 10.1.2.3/24 公網位址:211.111.111.3 dns server:  10.1.2.4/24 公網位址:211.111.111.4 http server: 10.1.2.5/24 公網位址:211.111.111.5

在 /etc/shorewall 可以看到有很多配置檔案,我隻講我們要用到的配置檔案,其它得很少用到;大家可以自己去看幫助,很好了解得

zones (定義防火牆得區域) interfaces (定義接口) masq (定義僞裝IP) policy (定義預設政策) rules (定義防火牆規則)

下面是各個配置檔案的内容:

#cat /etc/shorewall/zones: wan Internet Internet dmz DMZ Dmz lan Lan Lan

#cat /etc/shorewall/interfaces wan eth0 detect lan eth1 detect dmz eth2 detect

#cat /etc/shorewall/masq eth0 192.168.1.2/32 211.111.111.1 #----- Firwall To Internet eth0 10.1.1.0/24 211.111.111.1 #----- Lan A To Internet eth0 10.1.2.2/32 211.111.111.2 #----- mail server To Internet eth0 10.1.2.3/32 211.111.111.3 #----- pptp server To Internet eth0 10.1.2.4/32 211.111.111.4 #----- dns server To Internet eth0 10.1.2.5/32 211.111.111.5 #----- http server To Internet

#cat /etc/shorewall/policy fw all ACCEPT # Firewall 可以任意通路所有區域,包括網際網路 lan wan ACCEPT # Lan A 可以任意通路網際網路 dmz wan ACCEPT # DMZ 伺服器可以任意通路網際網路 lan dmz ACCEPT # Lan A 可以任意通路和管理DMZ伺服器區 wan all DROP # 網際網路不能随意通路内部網絡和DMZ all all REJECT

#cat /etc/shorewall/rules #---------------------- Internet To mail Server ------------------------------- DNAT wan dmz:10.1.2.2 tcp smtp - 211.111.111.2 DNAT wan dmz:10.1.2.2 tcp POP3 - 211.111.111.2 #---------------------- Internet To PPTP Server ------------------------------- DNAT wan dmz:10.1.2.3 tcp 1723 - 211.111.111.3 DNAT wan dmz:10.1.2.3 47 - - 211.111.111.3 #---------------------- Internet To DNS Server ------------------------------- DNAT wan dmz:10.1.2.4 tcp 53 - 211.111.111.4 DNAT wan dmz:10.1.2.4 udp 53 - 211.111.111.4 #---------------------- Internet To http Server ------------------------------- DNAT wan dmz:10.1.2.5 tcp http - 211.111.111.5

好了,防火牆都配置好了,現在防火牆的結果如下:

Lan A 的使用者 10.1.1.0/24 的使用者全部僞裝成 211.111.111.1 去通路網際網路 mail server: 10.1.2.2/32 以公網位址:211.111.111.2 通路網際網路 pptp vpn server: 10.1.2.3/32 以公網位址:211.111.111.3 通路網際網路 dns server:  10.1.2.4/32 以公網位址:211.111.111.4 通路網際網路 http server: 10.1.2.5/32 以公網位址:211.111.111.5 通路網際網路 Firewall 可以任意通路所有區域,包括網際網路 Lan A 可以任意通路網際網路 DMZ 伺服器可以任意通路網際網路 Lan A 可以任意通路和管理DMZ伺服器區 網際網路不能随意通路内部網絡和DMZ

好了,到這所有配置檔案都已經配好了,然後删除 /etc/shorewall/startup_disable 檔案,用 shorewall restart 就可以啟動防火牆了。

關于本文

相信到現在,大家對 shorewall 的配置文檔有了一定的了解了,大家可以看出shorewall 的配置是很通俗易懂的,很容易的就可以配置好,希望我寫的這個文章能給大家一點幫助。

唉!!!! 寫了将近兩個小時,好累啊!

版權:這篇文章絕對原創,作者:xjdong (Andy_xjdong ) ,如需轉載,請注明出自 LinuxSir.org;

原文: 《shorewall 企業防火牆的完美實作》

相關文檔

繼續閱讀