Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3178674
  • 博文数量: 797
  • 博客积分: 10134
  • 博客等级: 上将
  • 技术积分: 9335
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 22:57
个人简介

1

文章分类

全部博文(797)

文章存档

2022年(1)

2021年(2)

2017年(2)

2016年(1)

2015年(4)

2014年(1)

2013年(6)

2012年(6)

2011年(10)

2010年(26)

2009年(63)

2008年(61)

2007年(51)

2006年(563)

我的朋友

分类: LINUX

2006-07-20 10:28:35

第一篇:网络接入情况;

现在很多企业有的是用专线接入,有的是用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 (),我先介绍一下 shorewall ,其实他是一个基于 iptables 得一个防火墙,他得优点在于配置方便,便于管理,用它很容易就能配出一个企业级得防火墙策略。

这里我说一下我个人观点,iptables 得命令过于复杂和麻烦,在管理方面和可读性方面比较差,我个人认为我们作为一个网管得精力应该放在如何设计防火墙策略,而不要陷身于一个命令得写法上。好了,废话不说了。

安装好 Redhat 8.0 ,并装好三块网卡后,下载 shorewall 的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 就可以启动防火墙了。

阅读(538) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~