iptables 高级学习笔记


iptables 是与最新的 2.6.x 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux系统上更好地控制 IP 信息包过滤和防火墙配置。netfilter/iptables IP 信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件 netfilter和 iptables 组成。netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。netfilter/iptables 的最大优点是它可以配置有状态的防火墙。有状态的防火墙能够指定并记住为发送或接收信息包所建立的连接的状态。防火墙可以从信息包的连接跟踪状态获得该信息。在决定新的信息包过滤时,防火墙所使用的这些状态信息可以增加其效率和速度。netfilter/iptables 的另一个重要优点是,它使用户可以完全控制防火墙配置和信息包过滤。您可以定制自己的规则来满足您的特定需求,从而只允许您想要的网络流量进入系统。

filter point        filter          nat        mangle

--------------------------------------------------------------------------------------------

INPUT              x                              x

FORWARD          x                              x

OUTPUT            x            x              x

PREROUTING                      x              x

POSTROUTING                      x              x

 


[root@localhost ~]# which iptables

/sbin/iptables

[root@localhost ~]# rpm -qf `whichiptables`

iptables-1.3.5-5.3.el5_4.1

 

[root@localhost ~]# ls/lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ ( ko 内核模块 kernel

object)

arptable_filter.ko            ip_conntrack_tftp.ko  iptable_nat.ko    ipt_MASQUERADE.ko

arp_tables.ko                  ip_nat_amanda.ko      iptable_raw.ko    ipt_NETMAP.ko

arpt_mangle.ko                  ip_nat_ftp.ko          ip_tables.ko      ipt_owner.ko

ip_conntrack_amanda.ko      ip_nat_h323.ko          ipt_addrtype.ko  ipt_recent.ko

ip_conntrack_ftp.ko          ip_nat_irc.ko          ipt_ah.ko          ipt_REDIRECT.ko

ip_conntrack_h323.ko          ip_nat.ko                ipt_CLUSTERIP.ko  ipt_REJECT.ko

ip_conntrack_irc.ko          ip_nat_pptp.ko          ipt_dscp.ko        ipt_SAME.ko

 

 

ip_conntrack.ko                ip_nat_sip.ko          ipt_DSCP.ko        ipt_TCPMSS.ko

ip_conntrack_netbios_ns.ko  ip_nat_snmp_basic.ko  ipt_ecn.ko          ipt_tos.ko

ip_conntrack_netlink.ko      ip_nat_tftp.ko          ipt_ECN.ko          ipt_TOS.ko

ip_conntrack_pptp.ko          ip_queue.ko              ipt_hashlimit.ko  ipt_ttl.ko

ip_conntrack_proto_sctp.ko  iptable_filter.ko      ipt_iprange.ko    ipt_TTL.ko

ip_conntrack_sip.ko          iptable_mangle.ko      ipt_LOG.ko          ipt_ULOG.ko

 

RHEL6 模块不能加载到 RHEL5(回忆加载模块)

 ===============================================================================

iptables [-t table] -A chain  rule-specification

-A, --append

iptables [-t table] -I chain[rulenum] rule-specification

-I, --insert

iptables [-t table] -D chain rulenum

-D, --delete

iptables [-t table] {-F|-L} [chain[rulenum]] [options...]

-F, --flush

-L, --list

iptables [-t table] -P chain target

-P, --policy

Rule :DROP,ACCEPT,LOG,REJECT

 

TARGETS

 


ACCEPT,  DROP,  QUEUE ,RETURN

 

TARGET EXTENSIONS    DNAT,LOG, MASQUERADE, REJECT, SNAT ... ... ...

  • 1
  • 2
  • 3
  • 4
  • 下一页

相关内容