作者: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 企業防火牆的完美實作》
相關文檔