Netfilter和IPTables使用说明
创始人
2024-07-23 03:20:12
0

  NetfilterIPTables使用说明:

  Linux 内核中有一个功能强大的联网子系统 netfilter。netfilter 子系统提供了有状态的或无状态的分组过滤,还提供了 NAT 和 IP 伪装服务。netfilter 还具备为高级选路和连接状态管理而变形(mangle)IP 头信息的能力。netfilter 是通过 IPTables 工具来控制的。

  1、IPTables 总览

  netfilter 的强大功能和灵活性是通过 IPTables 界面来实现的。这个命令行工具和它的前身 IPChains 的语法很相似;不过,IPTables 使用 netfilter 子系统来增进网络连接、检验、和处理方面的能力;IPChains 使用错综复杂的规则集合来过滤源地和目的地路线以及两者的连接端口。IPTables 只在一个命令行界面中就包括了更先进的记录方式;选路前和选路后的行动;网络地址转换;以及端口转发。

  2、使用 IPTables

  使用 IPTables 的第一步是启动 IPTables 服务。这可以使用以下命令进行:

  1.   service iptables start  
  2.  

  警告:你应该使用以下命令关闭 IP6Tables 服务才能使用 IPTables 服务:

  1.   service ip6tables stop  
  2.  
  3.   chkconfig ip6tables off  
  4.  

  要使 IPTables 在系统引导时默认启动,你必须使用 chkconfig 来改变服务的运行级别状态。

  1.   chkconfig --level 345 iptables on  
  2.  

  IPTables 的语法被分成几个层次。主要层次为“链”(chain)。“链”指定处理分组的状态。其用法为:

  1.   iptables -A chain -j target  
  2.  

  -A 在现存的规则集合内后补一条规则。chain 是规则所在“链”的名称。IPTables 中有三个内建的链(即影响每一个在网络中经过的分组的链):INPUT、OUTPUT、和 FORWARD。这些链是永久性的,不能被删除。

  重要:在创建 IPTables 规则集合时,记住规则的顺序是至关重要的。例如:如果某个链指定了来自本地子网 192.168.100.0/24 的任何分组都应放弃,然后一个允许来自 192.168.100.13(在前面要放弃分组的子网范围内)的分组的链被补在这个规则后面(-A),那么这个后补的规则就会被忽略。你必须首先设置允许 192.168.100.13 的规则,然后再设置放弃规则。

  要在现存规则链的任意处插入一条规则,使用 -I,随后是你想插入规则的链的名称,然后是你想放置规则的位置号码(1,2,3,...,n)。例如:

  1.   iptables -I INPUT 1 -i lo -p all -j ACCEPT  
  2.  

  这条规则被插入为 INPUT 链的第一条规则,它允许本地环回设备上的交通。

  (1)基本防火墙策略

  在一开始就建立的某些基本策略为建构更详细的用户定义的规则奠定了基础。IPTables 使用策略(policy, -P)来创建默认规则。对安全敏感的管理员通常想采取放弃所有分组、只逐一允许指定分组的策略。以下规则阻塞网络上所有的出入分组。

  1.   iptables -P INPUT DROP  
  2.  
  3.   iptables -P OUTPUT DROP  
  4.  

  此外,还推荐你拒绝所有转发分组(forwarded packets) — 要从防火墙被选路发送到它的目标节点的网络交通 — 以便限制内部客户对互联网的无心暴露。要达到这个目的,使用以下规则:

  1.   iptables -P FORWARD DROP  
  2.  

  注记:在处理添加的规则时,REJECT(拒绝)目标和 DROP(放弃)目标这两种行动有所不同。REJECT 会拒绝目标分组的进入,并给企图连接服务的用户返回一个 connection refused 的错误消息。DROP 会放弃分组,而对 telnet 用户不发出任何警告;不过,为了避免导致用户由于迷惑不解而不停试图连接的情况的发生,推荐你使用 REJECT 目标。

  设置了策略链后,为你的特定网络和安全需要创建新规则。以下各节概述了一些你在建构 IPTables 防火墙时可能要实现的规则。

  (2)保存和恢复 IPTables 规则

  防火墙规则只在计算机处于开启状态时才有效。如果系统被重新引导,这些规则就会自动被清除并重设。要保存规则以便今后载入,请使用以下命令:

  1.   /sbin/service iptables save  
  2.  

  保存在 /etc/sysconfig/iptables 文件中的规则会在服务启动或重新启动时(包括机器被重新引导时)被应用。

【编辑推荐】

Iptables 实例分析

iptables常用命令及参数

Iptables 配置指南

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...