科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道如何用奔腾机和Linux构建防火墙(3)

如何用奔腾机和Linux构建防火墙(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

老奔腾机完全可以胜任小型商业或家庭办公室的网络防火墙工作。ipchains 是 Linux 下的防火墙软件,其源码可以免费获得,并能够在老式奔腾机的 T-1 连网环境下工作。

作者:51CTO.COM 2007年11月12日

关键字: ipchains 防火墙 Linux 奔腾机

  • 评论
  • 分享微博
  • 分享邮件

  您使用的 Linux 中可能附带着 ipchains 软件。如果您是偏执狂,可以在确认主要的Linux提供商已经认证其合格后,才使用该版本。

  首先要做的事情是确认您的机器上是否已经安装了防火墙。请查看 /etc/rc.d/init.d 目录下有没有类似于 packetfilter、ipchains、pifwadm、firewall 或 proxy 等名字的"开始/关闭"脚本。如果存在这样的文件,并且有来自 /etc/rc.d/rc2.d 或 /etc/rc.d/rc3.d 的符号连接,那么该机器上很可能已安装了防火墙,也许它还正运行在没有任何具体防火墙策略的环境下呢。要验证这一点,可以敲入如下命令:

  # cat /proc/sys/net/ipv4/ip_forward

  如果找不到这个文件,说明防火墙尚未安装。如果返回值为0,则意味着防火墙已经安装但没有运行;返回值为1表示正在运行。

  您也可以下载 ipchains 的源码来自己编译。这么的时候,要运行校验和程序来确认这份源码是可靠的。(通常采用 md5sum 命令)。ipchains 网站上列出了校验和的有效值,您校验的结果应该和它们完全匹配。当前的 ipchains 版本是 1.3.9。

  如果这些值全部无法匹配,就得查查编译内核时是否把 Masquerading 打开了。缺省情况下,这些选项在编译内核时是打开的。但如果您决定自己来编译 Linux 2.2.x 版本的内核,就必须对如下选项说 YES :

  CONFIG_EXPERIMENTAL

  CONFIG_MODULES

  CONFIG_NET

  CONFIG_FIREWALL

  CONFIG_INET

  CONFIG_IP_FORWARD

  CONFIG_IP_MASQUERADE

  CONFIG_IP_MASQUERADE_IPPORTFW

  CONFIG_IP_MASQUERADE_IPAUTOFW

  CONFIG_IP_MASQUERADE_ICMP

  CONFIG_IP_ALWAYS_DEFRAG

  CONFIG_DUMMY

  CONFIG_IP_MASQUERADE_MFW

  

  内核编译完毕,就要把防火墙安装为系统服务的一项。这样系统 初始化时就会启动它。系统服务是系统启动过程中由系统初始进程执行的,不同的系统服务有不同的初始化优先级别。级别 0 表示系统完全卸载可以关断电源;级别 1 则表示没有网络支持的单用户模式;级别 2 和 3 一般用作网络支持的多用户模式,也就是多数机器的运行模式。还有一些其他的级别,但都不常用。

  为了创建防火墙服务的开始脚本并安装在级别 2 和 3 下,首先要如下所示创建 ipchains 的系统"开始/关闭"脚本文件,并把它保存在 /etc/rc.d/init.d 或 /etc/init.d/ 目录下(保存在哪个目录据所使用 Linux 版本而定)。

  #!/bin/sh

  # Firewalling with ipchains, startup/shutdown script

  PATH=/sbin:/bin:/usr/sbin:/usr/bin

  [ -f /etc/packetfiler.rules ] || exit 0

  case "$1" in

  start)

  echo -n "Starting ipchains firewall:"

  /sbin/depmod -a

  # Comment the following line if you do not intend to support

  # using FTP through the firewall

  /sbin/modprobe ip_masq_ftp

  # Insert lines to support other application protocols here

  /sbin/ipchains-restore

  echo "1" >/proc/sys/net/ipv4/ip_forward

  # If you do NOT use PPP, SLIP or DHCP for any of your network

  # interfaces on this machine, comment the following line

  echo "1" >/proc/sys/net/ipv4/ip_dynaddr

  echo "."

  ;;

  stop)

  echo -n "Shutting down ipchains firewall:"

  echo "0" >/proc/sys/net/ipv4/ip_forward

  # Comment the following line if you do NOT use PPP, SLIP or DHCP

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章