LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: xjdong

[绝对原创] shorewall 企业防火墙的完美实现

[复制链接]
 楼主| 发表于 2003-12-14 10:12:19 | 显示全部楼层

[绝对原创] shorewall 企业防火墙的完美实现 --- 重要更正!!

各位网友:

我于前些天发的帖子 http://www.linuxsir.cn/forum.php?mod=viewthread&tid=78668 当时由于写的太快,有几个非常重要的地方写错了,为了不让学习的网友们误解这个问题,现在特此更正。在此给大伙道个歉!!

也请版主帮个忙,看看能不能帮我改过来,或者将这两个帖子放在一起,谢谢!!

==================== 更正如下 ============================

第一个错误:在第三篇
  1. [b]
  2. cat /etc/shorewall/masq
  3. ================================================
  4. eth0    192.168.1.2/32                211.111.111.1         #----- Firwall To Internet
  5. eth0    10.1.1.1/24[color=red]改成 10.1.1.0/24 [/color]                211.111.111.1         #----- Lan A To Internet
  6. eth0    10.1.2.2/24[color=red]改成 10.1.2.2/32 [/color]                211.111.111.2         #----- mail server To Internet
  7. eth0    10.1.2.3/24[color=red]改成 10.1.2.3/32 [/color]                211.111.111.3         #----- pptp server To Internet
  8. eth0    10.1.2.4/24[color=red]改成 10.1.2.4/32 [/color]                211.111.111.4         #----- dns server To Internet
  9. eth0    10.1.2.5/24[color=red]改成 10.1.2.5/32 [/color]                211.111.111.5         #----- http server To Internet
  10. ================================================
复制代码


第二个错误:在第三篇
  1. [b]
  2. 现在防火墙的结果如下:

  3. Lan A 的用户     10.1.1.0/24      的用户全部伪装成 211.111.111.1 去访问互联网
  4. mail server:     10.1.2.2/24[color=red]改成 10.1.2.2/32 [/color]      以公网地址:211.111.111.2 访问互联网
  5. pptp vpn server: 10.1.2.3/24[color=red]改成 10.1.2.3/32 [/color]      以公网地址:211.111.111.3 访问互联网
  6. dns  server:  10.1.2.4/24[color=red]改成 10.1.2.4/32 [/color]      以公网地址:211.111.111.4 访问互联网
  7. http server:     10.1.2.5/24[color=red]改成 10.1.2.5/32 [/color]      以公网地址:211.111.111.5 访问互联网

  8. Firewall    可以任意访问所有区域,包括互联网
  9. Lan A       可以任意访问互联网
  10. DMZ         服务器可以任意访问互联网
  11. Lan A       可以任意访问和管理DMZ服务器区
  12. 互联网不能随意访问内部网络和DMZ
复制代码

发表于 2003-12-14 15:31:18 | 显示全部楼层

回复~~~~

搞明白了 ,谢谢楼主~~~~~
发表于 2003-12-14 19:06:21 | 显示全部楼层
谢谢楼主,真是好东西,学习中
 楼主| 发表于 2003-12-17 13:10:01 | 显示全部楼层

关于 Redhat 9下面出现不能启动防火墙的问题解决办法

有网友问到我,在 Redhat 9 下面出现

  1. 最初由 hellozwz 发表
  2. 启动shorewall的时候出现
  3. Error: Shore wall can'tstart with the ipchains kernel module loaded - see FAQ #8

  4. 现在系统是redhat9 kernel 2.4.20-8
复制代码

出现这个问题的解决办法是:

  1. service ipchains stop
  2. chkconfig --delete ipchains
  3. rmmod ipchains
复制代码
发表于 2003-12-21 16:38:38 | 显示全部楼层

少有的好文章,向楼主致意!

少有的好文章,实用性非常之强,向楼主致意!
楼主理论与实践功底深厚,实在是令人佩服,又写得如此深入简出,清晰明了,让我等受益非浅,更加敬佩。

我会好好实践一下,遇到什么问题,再向楼主请教。
发表于 2003-12-21 17:00:02 | 显示全部楼层

如果我是用ADSL进行接入,会有哪些不同呢

如果我是用ADSL进行接入,会有哪些不同呢?我试着画了一下我想像的网络拓朴图,请各位指教这样是否可行。

我设想的结构中,内部网由两个分开的网段组成,局域网A和局域网B,A网可以访问到B网,但B网不能访问A网的机器。另外,在两个网段内,分别有自己的DHCP服务器,以及文件服务器、打印服务器等。当然,它们并不对Internet提供相应的服务。

在下面的图中,211.111.111.1是ADSL Modem在拔号后被分配的IP地址,而192.168.1.1则是ADSL Modem本身的IP地址,ADSL Modem通过网线与Firewall的eth0相连。Firewall另有eth1和eth2,分别连到局域网A的交换机和局域网B的交换机上。


  1.                                       ( Internet or ISP  )
  2.                                           /
  3.                                          /
  4.                                       /\/
  5.                                      /  
  6.                                     /  
  7.                                    (IP:211.111.111.1 /255.255.255.255)
  8.                          (带路由功能的ADSL Modem)
  9.                                     | (IP 192.168.1.1/255.255.255.252)
  10.                                     |
  11.                                     |
  12.                                     |     
  13.                                     | (192.168.1.2/255.255.255.252)
  14.                                |----------|
  15.                                | Firewall |
  16.                                |----------|
  17.                    (10.1.1.1/24)/        \(10.1.2.1/24)
  18.                                /          \
  19.                               /            \
  20.                              /              \  
  21.              (局域网 A) ____/                \_____ (局域网 B)  
  22.                 |----------|                  |----------|   
  23.                 | 交换机A  |                  | 交换机B  |
  24.                 |----------|                  |----------|
  25.                  /                              /
  26.                 /                              /
  27.                /                              /
  28.           |--------|                    |--------|
  29.           |局域网A |                    |局域网A |
  30.           | DHCP   |                    | DHCP   |
  31.           |服务器  |                    |服务器  |
  32.           |--------|                    |--------|   
复制代码

在这样的结构上,配置会有哪些不同呢?

本着举一反三的学习精神,请楼主和各位朋友一起探讨。
 楼主| 发表于 2003-12-22 10:52:26 | 显示全部楼层

可以如下配置


  1. cat /etc/shorewall/zones:
  2. ================================================
  3. wan        Internet         Internet
  4. lana        Lan_A              Lan_A
  5. lanb        Lan_B              Lan_A
  6. ================================================

  7. cat /etc/shorewall/interfaces
  8. ================================================
  9. wan     eth0    detect
  10. lana     eth1    detect
  11. lanb     eth2    detect
  12. ================================================

  13. cat /etc/shorewall/masq
  14. ================================================
  15. eth0    192.168.1.2/32          eth0         #----- Firwall To Internet
  16. eth0    10.1.1.0/24             eth0         #----- Lan A To Internet
  17. eth0    10.1.2.0/24                eth0         #----- Lan B To Internet
  18. ================================================

  19. cat /etc/shorewall/policy
  20. ================================================
  21. fw        all        ACCEPT                # Firewall 可以任意访问所有区域,包括互联网

  22. lana        wan        ACCEPT                # Lan A 可以任意访问互联网
  23. lanb        wan        ACCEPT                # Lan B 可以任意访问互联网
  24. lana        lanb        ACCEPT                # Lan A 可以任意访问 Lan B区

  25. wan     all     DROP        # 互联网不能随意访问内部网络和DMZ
  26. all     all     REJECT
  27. ================================================

  28. cat /etc/shorewall/rules
  29. ================================================
  30. ACCEPT        all        fw        icmp        echo-request        -        -

  31. ================================================
复制代码


请各位朋友多多举一反三,而不要光得到一个配置文件就完事了,这样的话是不会有提高的,shorewall 的配置文件是非常简单的,而且在他的配置文件中已经有了很多种情况的配置例子。只要稍微能看得懂英文得朋友相信一定能看得懂得。
发表于 2003-12-23 16:58:23 | 显示全部楼层

麻烦,用smoothwall不就行了吗?

同上
发表于 2003-12-23 23:43:08 | 显示全部楼层

进一步探讨

To:xjdong

谢谢先。

我问的不仅仅是这个配置文件,这个配置文件还是很容易想到的。

我想了解的是,我这样设计的网络是否行得通?

首先,在这个网络中,Firewall这台机器拥有三张网卡,eth0连接到ADSL Modem,eth1和eth2非别连接到不同的交换机上。因为是采用虚拟拔号连接,所以,在拔号成功后,还会有一个虚拟的网卡:PPP0,显然,这个才是连接到Internet的“网卡设备”。

所以,在你的方案中:

  1. cat /etc/shorewall/masq
  2. ================================================
  3. eth0    192.168.1.2/32          eth0         #----- Firwall To Internet
  4. eth0    10.1.1.0/24             eth0         #----- Lan A To Internet
  5. eth0    10.1.2.0/24                eth0         #----- Lan B To Internet

复制代码

这样,是否可行呢?因为在我现在的拔号上网方式上,我是通过iptables来实现内部上网的,由以下几行语句组成:
/home/source/dhcp_rp-pppoe/rp-pppoe-3.2/scripts/adsl-start
route add default ppp0
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

因此,我觉得你提供的方式可能会行不通。


另外的一个问题是,能否将Firewall这台机配置成为lanA和lanB两个网络的DHCP服务器呢?lanA和lanB是不同的网络段,应如何配置这个dhcp.conf文件,然后才能通过/usr/sbin/dhcp eth1 和/usr/sbin/dhcp eth2来实现这个设计目标?


哎,看电脑太多,眼睛有些痛,先下了,请版主、楼主及各位兄弟一起提些意见。
linn兄提的smoothwall是什么软件,能开个新贴介绍一下么?

在此,也提醒各位兄弟都要保护眼睛,顺向各位致以圣诞节日的问候,祝各位过个快乐的平安夜、圣诞节。
 楼主| 发表于 2003-12-24 11:13:51 | 显示全部楼层

To Kensin 兄:

从你的拓扑图中看出:
你不是说你的ADSL猫是带路由功能的吗?如果你用ADSL猫拨号的话就不存在firewall会多出一个ppp0接口啦,我家的就是这样情况啊! 如果你的ADSL拨号不带ADSL拨号的话,那么其实你的ADSL猫根本就没有发挥路由功能,因为一般有带路由功能的话就有带ADSL拨号功能了。

话再回到shorewall 问题上来,如果要在 firewall 上拨号的话,配置就不是这样的啦! 需要在zones 文件中增加一个区域,然后在interface 也要加上这个接口区域,然后还要在rc.local中增加default route ,shorewall 的配置详细情况可以看 www.shorewall.net 这是官方网站,文档非常清晰,我建议大家先学会看文档,然后再就看不懂的再来提问。我其实也是这样学习的。还有就是配置ADSL拨号会产生ppp0接口,这个配置和pptp 拨号的情况是一样的,我已经配置成功了。还有如果要在firewall 启动pptpd服务器的话,那配置就有一点不同了,因为作为vpn 服务器的话,每当有客户拨号进来的话就会产生一个接口,这个时候就需要在interfaces 中用 ppp+ 来代表所有接口了。大家还是先看看文档吧!有什么问题我们再一起探讨

在firewall 配置DHCP是最好的方法啦,完全可以实现的。你可以参考这个两个文档:
1:http://www.cn-cio.org/show.php?article_id=7292&col=article
2:http://www.chinalinuxpub.com/doc ... iguring-server.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表