首页 > Linux > Linux下防火墙设置

Linux下防火墙设置

      Iptables组件是一种工具,也称为用户空间(Userspace)。它使插入、修改和除去信息包过滤表中的规则变得容易。用户可以从http://netfilter.org下载该工具并安装使用它。

   安装Iptables

   Iptables的安装大家已经很熟悉了,下面只把相关的命令给出:

# bzip2 -d iptables-1.2.6a.tar.bz2
# tar -xvfiptables-1.2.6a.tar
# cd iptables-1.2.6a
# make KERNEL_DIR=/usr/src/linux/
# make install KERNEL_DIR=/usr/src/linux/

   匹配

      iptables命令的可选match部分指定信息包与规则匹配所应具有的特征(如源和目的地址、协议等)。这里将研究可用于采用任何协议的信息包的通用匹配。下面是一些重要的、且常用的通用匹配及其示例和说明:

      -p或–protocol 该通用协议匹配用于检查某些特定协议。协议示例有TCP、UDP、ICMP、用逗号分隔的任何这三种协议的组合列表和ALL。ALL是缺省匹配,用于所有协议。用户可以使用!符号表示不与该项匹配。示例如下:

# iptables -A INPUT -p TCP, UDP
# iptables -A INPUT -p ! ICMP

      在上述示例中,这两条命令都执行同一任务。它们指定所有TCP和UDP信息包都将与该规则匹配。通过指定! ICMP,用户可以允许TCP和UDP协议,而将ICMP排除在外。

      -s或–source 该源匹配用于根据信息包的源IP地址来与它们匹配。该匹配允许对某一范围内的IP地址进行匹配,使用!符号表示不与该项匹配。缺省源匹配与所有IP地址匹配。示例如下:

# iptables -A OUTPUT -s 192.168.0.0/24
# iptables -A OUTPUT -s ! 203.16.1.89

      第一条命令指定该规则与所有来自192.168.0.0到192.168.0.24的IP地址范围的信息包匹配。第二条命令指定该规则将与除来自源地址203.16.1.89外的任何信息包匹配。

      -d或–destination 该目的地匹配用于根据信息包的目的IP地址来与它们匹配。该匹配允许对某一范围内IP地址进行匹配,可以使用!符号,表示不与该项匹配。示例如下:

# iptables -A INPUT -d 192.168.0.0/24
# iptables -A OUTPUT -d ! 203.16.1.89

   目标

   目标是由规则指定的操作。下面是常用的一些目标及其示例和说明:
   ACCEPT 当信息包与具有ACCEPT目标的规则完全匹配时, 会被接受(允许它前往目的地),并且它将停止遍历链s。该目标被指定为-j ACCEPT。
   DROP 当信息包与具有DROP目标的规则完全匹配时,会阻塞该信息包,并且不对它做进一步处理。该目标被指定为-j DROP。
   REJECT 该目标的工作方式与DROP目标相同,但它比DROP好。和DROP不同,REJECT不会在服务器和客户机上留下死套接字。另外,REJECT将错误消息发回给信息包的发送方。该目标被指定为-j REJECT。示例如下:
   # iptables -A FORWARD -p TCP –dport 22 -j REJECT

   RETURN在规则中设置RETURN,目标是让与该规则匹配的信息包停止遍历包含该规则的链。如果链是INPUT之类的主链,则使用该链的缺省策略处理信息包。 它被指定为-jump RETURN。示例如下:
   # iptables -A FORWARD -d 203.16.1.89 -jump RETURN

   有了上面的基础后,用户可以使用相应的Iptables规则链来保护电脑。

分类: Linux 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

=3加8(必填)请输入两数相加的结果。