iptables防火墙

                       iptables防火墙

      linux中防火墙分三张表,分别是filter,nat,mangle。filter表是用来做基于IP地址过滤的,nat表是用来进行网络地址转换,mangle表是用来给某些应用程序(http和https)打标记。

创新互联建站-专业网站定制、快速模板网站建设、高性价比黄埔网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式黄埔网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖黄埔地区。费用合理售后完善,10年实体公司更值得信赖。

      filter表分为INPUT链,OUTPUT链,FORWARD链。INPUT链是指目标地址是自己,OUTPUT链是指源地址是自己,FORWARD链只是提供转发功能(在linux内核中需打开转发功能)。

     nat表分为POSTROUTING链,PREROUTING链,POSTROUTING链是指先路由然后再NAT,PREROUTING链是指先NAT然后再路由。

    mangle表是用来给相应协议打标记用的。分为POSTROUTING链,PREROUTING链。

   实例:

一 包过滤型防火墙

 1.设置防火墙的默认规则

    iptables  -P  INPUT         ACCEPT

    iptables  -P  OUTPUT      ACCEPT

    iptables  -P  FORWARD  ACCEPT

 2.iptables的分层设计

    iptables  -N   NET1  为防火墙新建一条链,链名NET1。

    iptables  -A   INPUT  -s 192.168.1.0/24   -j NET1     跳转到NET1链.

    iptables  -A   NET1   -s  192.168.1.254    -j DROP    设置更详细的规则。

3. 删除一个链

    iptables -D INPUT  删除INPUT链(与NET1链有关)

    iptables -X NET1   删除NET1链

    iptables -F NET1    清空链规则

-F是清空指定某个 chains 内所有的 rule 设定。比方 iptables -F -t filter,那就是把 filter table 内所有的INPUT/OUTPUT/FORWARD chain 设定的规则都清空。

-X是删除使用者自订 table 项目,一般使用 iptables -N xxx 新增自订 chain 后,可以使用 iptables -X xxx 删除之。

-D是删除某个链。

二 状态检测型防火墙
      NEW 新建连接
  ESTABLISH  连接已经建立

      RELATED 由某个连接派生的子连接(如ftp派生的子连接)

      iptables -A  INPUT -m state --state RELATED,ESTABLISH -j ACCEPT

      iptables -A  INPUT -m state --state NEW -p tcp --dport 25  -j ACCEPT (25端口允许)

      iptables -A  INPUT -m state --state NEW -j DROP 其他端口都拒绝。

三 基于应用代理防火墙

      在Linux 上,可以用iptables 直接将对Web 端口80 的请求直接转发到Squid 端口3128,由Squid 接手,而用户浏览器仍然认为它访问的是对方的80端口。例如以下这条命令:

      iptables -t nat -A PREROUTING -s 192.168.0.0/32 -p tcp --dport 80 -j REDIRECT --to-ports 3128

所有设置完成后,关键且重要的任务是访问控制。Squid 支持的管理方式很多,使用起来也非常简单(这也是有人宁愿使用不做任何缓存的 Squid,也不愿意单独使用iptables 的原因)。

四  NAT地址转换

    iptables -t nat -A POSTROUTING -s 1922.168.1.0/24  -o eth2 -j SNAT --to-source 1.1.1.1

   iptables -t nat -A PREROUTING    -d  2.2.2.2 -p tcp --dport 80 -i eth2 -j DNAT --to-destination 192.168.0.1:80

   iptables -t nat -A POSTROUTING -s 1922.168.1.0/24 -o eth2 -j MASQUERADE(用于IP地址不固定)

   iptables -F -t nat   清空nat表的规则

五 保存iptables规则

       service iptables save

      规则保存在/etc/sysconfig/iptables 

注意:如果把/etc/sysconfig/iptables文件进行分发之后,每台系统都要执行/sbin/service iptables restart命令来使规则生效。


当前文章:iptables防火墙
本文URL:http://scyanting.com/article/jpcpjj.html