12 NAT 及防火墙

2009-05-13 06:32:16来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


如果您家中有多台计算机需要同时上网,但却只有一个 IP 可以使用,这时 NAT 就派上用场了。NAT 可以让很多计算机经由一台 FreeBSD 服务器上网,而且还可以让 FreeBSD 的防火墙功能保护内部网络的计算机。本章将介绍以 FreeBSD 架设 NAT 服务器及使用 FreeBSD 防火墙功能。读完本章后,您将了解下列主题:

  • 如何使用 FreeBSD 架设 NAT 服务器。
  • 如何限制每一台计算机的最大上下传频宽。
  • 如何架设防火墙。
  • 如何架设具封包过滤功能的桥接器。

12.1 概论
这个部份我们将说明如何以 FreeBSD 做为防火墙,介绍 FreeBSD 内建的封包过滤功能。欲建立一台防火墙,就是要将一台机器放在二个网域的中间,并经由它来做封包过滤的工作。因此我们必须先确定网络封包能通过这台防火墙,再来设定要阻文件的规则。以 FreeBSD 作为二个网域中间的连接器,可以用路由器 (router)、网关、或是桥接器的方式来实作,再在该机器上设定防火墙的规则。当然,我们也可以只在一台单机上设定防火墙规则,以取代原本只能监控 inetd 服务的 TCP Wrapper。
我们举二种最常被应用结合防火墙设定来保护整个网络的方法,一个是 NAT,另一个是具封包过滤的桥接器。
12.1.1 NAT
所谓的 NAT 就是 (Network Address Translation),它可以让你在只有一个 IP 的情形下让多台计算机一起连上网络。举个实例而言,一个公司有三十台计算机,而 ISP 所提供的 ADSL 却只有八个实体 IP,这种情况下,我们可以将每台计算机的 IP 设定为 private IP,再让它们经由一台有实体 IP 的 NAT 服务器连上网络即可。
Private IP 是 RFC 所定义的私人 IP,这些 IP 不能够直接在因特网中出现,所以必需经由 NAT 的转换,将它们伪装成是由 NAT 服务器连向外部网络。这些可以用的私人 IP 如下:
Class
范围
子网掩码
Class A
10.0.0.0 ~ 10.255.255.255
255.0.0.0
Class B
172.16.0.0 ~ 172.31.255.255
255.255.0.0
Class C
192.168.0.0 ~ 192.168.255.255
255.255.255.0
我们只需在 NAT 服务器中做好设定,再将其它使用 private IP 的计算机设定 gateway 为该服务器的 IP 即可。另外,我们也可以在服务器中设定一些防火墙的规则,来保全内部网络。
12.1.2 具封包过滤的桥接器
如果我们的网络中有多台不同网域的计算机,这些计算机都有它们的 IP 及网络设定,我们可以将 FreeBSD 设定成为桥接器 (bridge),让这台桥接器作封包过滤的工作。这种做法对于网域内其它计算机原本的网络设定不会有影响,如果没有设定任何防火墙规则,对它们而言几乎不会发现桥接器的存在。我们可以使用桥接器来过滤同一个网域内的网络交通,如果您有一个很大的网域,想要降低同一网域内彼此网络封包的交互影响,却又不想将这个大网域分割成数个小网域,您可以使用具封包过滤功能的桥接器来达成网络封包分割的功能。我们也可以使用路由器来取代桥接器,但是路由器只能遶送二个不同网域,而且设定比较复杂,因此,我会使用桥接器来做为防火墙。
FreeBSD 内建有 ipfw 这个程序可以让我们轻易的设定一个简单的防火墙,我们只要在 kernel 中加上一些设定就可以打开它。在这里我们也将简单的介绍一些防火墙的语法,让我们可以保护我们不想、不需要被外界使用的网络服务。
在设定防火墙之前,有个观念必须先厘清。防火墙并不能够完全保护我们的网络安全,防火墙只是限制我们不想公开的服务、限制已知的 IP。就算架了防火墙,没有适当的管理也是枉然。
12.2 NAT
这里我们假设使用二张网络卡,一张是对外的网卡,代号是 fxp0;另一张是对内的网卡,代号 fxp1。以下的设定中请依您的网卡代号来加以修改。当然,你也可以只使用一张网络卡,将所有的计算机及对外网络都接在一台 HUB 上,再利用 alias 的功能将一张网卡设定二个 IP。在开始前,请先参考「网络设定」一章中的说明设定好第一张对外的网络卡喔。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:11 X Window 的使用

下一篇:13网页服务器