· [Java论坛][安全论坛][数据库论坛][操作系统论坛]
· [专题] IBM Rational高峰论坛 Windows 7十大功能
· [专题] 史上就危险7月 微软 BizSpark 计划介绍
· [IT技术周刊][IT资源下载专区][病毒求助专区]
· [热点] 我也能做CTO_赛迪连载 赛迪七夕特别行动
· [热点] Chrome 4.0采用V8引擎 Java开发编程规范

红旗Linux上的iptables使用简介(二)

发布时间:2006.03.22 05:06     来源:赛迪网    作者:ben

编写Iptables规则脚本

上一节中我们了解了Linux网络数据包在iptables数据链中的流向,这一节将要简单的介绍一下如何编写iptables规则。所谓规则,就是指在一条链上,对不同的连接和数据包进行阻塞或是允许它们的去向。所有的规则都需要插入到特定的链上才能产生效果。书写规则的语法的格式为:

  Iptables [-t table] command [match] [target | jump]

  -t 指定表名,一般情况下没必要指定使用的表,因为iptables默认使用filter表来执行所有的命令。

  command 指该条规则需要进行什么操作。如在该表中的某一链上插入或删除一条规则等

  match 此项描述与该规则匹配的数据包的特征。如指定数据包的来源IP,网络接口等等。

  target 是最后数据包的目的所在,对于符合match的数据包,由target处理。

  下面介绍几个简单的iptables规则:

  iptables –I INPUT 1 -i eth0 –p all –j ACCEPT

  该脚本的作用是在默认的filter表的INPUT链的第一个位置插入一条过滤规则——接受经过以太网卡0(eth0)所有协议的数据包。从链表图中可以看到,一个传入本机的数据包,在fiter表的INPUT链上被接受,则意味着应用程序能够接收到此数据包。

  iptables –A INPUT –i eth0 –p icmp –icmp-type 8 –j DROP

  在filter表的INPUT链的最后追加一条规则——丢弃通过eth0传入的序号为8icmp协议数据包,即ping request,这样其他主机将不能成功的ping通本机了。

  利用iptables还可以方便的架设一台网关。如果eth0连接的是外部网络,而eth1连接的是局域网(192.168.0.0/24),假设在外部网络上,本机的IP202.113.13.91,我们只需要一条命令,就可以使得局域网内部的所有主机都可以通过本机访问外部网络。

  iptables –t nat –A POSTROUTING –o eth0 –s 192.168.0.0/24 –j SNAT --to 202.113.13.91

  该脚本实际上是向nat表的POSTROUTING链增加了一条SNAT规则,对于所有来自局域网的需要转发的数据包,将其源地址伪装成本机IP,向外部网络发送。这样便实现了局域网网关的功能。

  要记住,在这之前还需要echo 1 > /proc/sys/net/ipv4/ip_forward 以开启IP转发功能。

  同样,利用iptables也可以轻松实现端口映射功能。例如,我们需要外部网络能够通过本机访问局域网内192.168.0.110主机的FTP服务,脚本如下:

  iptables-t nat –A PREROUTING –i eth0 –p tcp –d 202.113.13.91 --dport 21 –j DNAT –to 192.168.0.110

  该脚本描述的规则是:将外部网络对本机21号端口发送的TCP数据包全部DNAT给局域网内部的一台主机(当然您需要确保这台主机上开启了FTP服务),这样外部网络就可以通过202.113.13.91这个IP访问到局域网内部的FTP服务了。

  可以看出iptables的参数种类繁多,且规则组合方式多种多样,只要了解数据包的流向,以及各个表和链的作用,熟练的掌握它们,就能够方便的搭建出功能丰富的网络防火墙。

  iptables的网络控制功能及其强大,本文只是介绍了iptables的很小一部分,希望能起到抛砖引玉的作用,想要进一步学习可以在官方主页找到iptables指南,也可以到下面的网址找到该指南的中文译本。

  http://man.lupaworld.com/content/network/iptables-tutorial-cn-1.1.19.html
(e129)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 红旗Linux上的iptables使用简介(一) (03-21) · RedHat_Linux操作系统软件包的管理 (03-20)
· 在Linux环境下玩PlayStation模拟器 (03-20) · GNUC扩展:Linux操作系统的内核使用 (03-20)
· Linux操作系统以及各大发行版介绍 (03-20) · 以uClinux为核心 DS Linux即将发布NDS (03-20)
· 蓝点:一家本土Linux企业的跌宕浮沉 (03-20) · linux操作系统下建立mysql镜像数据库 (03-17)
· Linux系统在嵌入式系统上的实践和探讨 (03-17) · Linux操作系统下设置基本网络参数四法 (03-17)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
资讯 通信 IT产品 IT技术 信息化
专题:谷歌发布PC操作系统Chrome OS
·芯能量 新动力 兴经济:..
·专题:英特尔与AMD和解 ..
·专题:惠普27亿收购3Com..
专题:
·专题:诺基亚危局已现 ..
·六股势力角逐4G标准 中..
·专题:联通iPhone并不贵..
 
·惠普123459黑白激打家族..
·云计算格局初现 三大阵..
·分析:虚拟化在高性能计..
2009 IBM动态架构新动力论坛
·直播:第八届中国系统与..
·专题:置身智慧海洋——..
·专题:让物品开口说话 ..