科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道简释iptables防火墙

简释iptables防火墙

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

网络用户形象地简释iptables防火墙。

作者:51cto 2007年10月17日

关键字: 防火墙

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

 

  一般LINUX防火墙(iptalbes)的运用无非是用nat 表(PREROUTING、OUTPUT、POSTROUTING)和filter表 (FORWARD、INPUT、OUTPUT)。我们只有知道了数据的流向才能正确的配置防火墙。现用一个相对比较直观的图形解释数据的走向。(此处只作 最基本的iptables数据流走向说明。)

  

  

  上图是你的家,蓝色的圈是你家院子,有两扇大门①⑥进出,你家有两个房间,分别为eth0和 eth1房间,每个房间有两 个门可以进出②③④⑤。旁边是张三和李四的家,张三家和李四家之间的往返必须要过你家院子。

  现假设,eth0网卡IP为:192.168.5.1链接内网,eth1网卡IP为:218.100.100.111链接互连网。

  再假设,“张三家”为一个局域网,“李四家”为互连网。进我家院子用PREROUTING,出我家院子用FORWARD,进我家门 用INPUT,出我家门用OUTPUT。(当我们的操作是征对服务器本身而言的话,如SSH操作,此时肯定会用到PREROUTING、INPUT和OUTPUT,当数据 只是通过服务器去访问别的机器时会用到PREROUTING和FORWARD。)

  又假设,默认这六个门都是关的。生成如下代码。

  ###########################################################################

  *nat

  ################################

  :PREROUTING DROP [0:0]

  :OUTPUT DROP [0:0]

  :POSTROUTING DROP [0:0]

  ################################

  -F

  -Z

  -X

  ### 以后要新增语句请在此处增加。

  -L –v

  COMMIT

  ################################################

  *filter

  ##############################

  :INPUT DROP[0:0]

  :FORWARD DROP[0:0]

  :OUTPUT DROP[0:0]

  ##############################

  -F

  -Z

  -X

  ### 以后要新增语句请在此处增加。

  -L –v

  COMMIT

  ##########################################################################

  1、 局域网用户通过服务器共享上网 (即从张三家到李四家)

  1)首先进①号门,再从⑥号门走出。

  -A PREROUTING –p tcp --dport 80 –j ACCEPT #允许TCP 80端口通过服务器

  -A FORWARD –p tcp --dport 80 –j ACCEPT #允许TCP80 端口转发

  -A FORWARD –p tcp --sport 80 –j ACCEPT #允许接收对方为TCP80端口反回的信息

  2)其次,由于我们上网打的是域名,为此有一个公网DNS服务器为我们服务,那当然也要允许内网机器与DNS服务器的数据转发。DNS用UDP 53 或者 TCP 53端口。两者用其一个就行。

  -A PREROUTING –p udp --dport 53 –j ACCEPT

  -A FORWARD –p udp --dport 53 –j ACCEPT

  -A FORWARD –p udp --sport 53 –j ACCEPT

  3)再次,由于局域网的私有地址在公网上是不被允许的,所以在出公网前应该把其地址转为服务器地址进行伪装。

  -A POSTROUTING –s 192.168.5.0/24 –j SNAT --to 218.100.100.111

  2、允许局域网和公网可以访问服务器的SSH

  假设SSH采用默认端口TCP 22 。此要求相当于要进我的家的TCP 22号门,为此我们首先要进我家院子,然后再进我家门,最后走出我家门这 样的过程。此操作是征对服务器本身的操作。

  -A PREROUTING –p tcp --dport 22 –j ACCEPT

  -A INPUT –p tcp --dport 22 –j ACCEPT

  -A OUTPUT –p tcp --sport 22 –j ACCEPT

  3、 允许内网机器可以登录MSN和QQ。

  (MSN和QQ默认是不允许登录的)QQ一般来说可以从TCP 80、8000、443及UDP 8000、4000登录,而MSN可以从TCP 1863、443登录。我们登录 MSN和QQ的过程就象上网一样,也是去访问远程服务器的指定端口,故而我们只用数据转发即可。

  -A PREROUTING –p tcp --dport 1863 –j ACCEPT

  -A PREROUTING –p tcp --dport 443 –j ACCEPT

  -A PREROUTING –p tcp --dport 8000 –j ACCEPT

  -A PREROUTING –p udp --dport 8000 –j ACCEPT

  -A PREROUTING –p udp --dport 4000 –j ACCEPT

  -A FORWARD –p tcp --dport 1863 –j ACCEPT

  -A FORWARD –p tcp --sport 1863 –j ACCEPT

  -A FORWARD –p tcp --dport 443 –j ACCEPT

  -A FORWARD –p tcp --sport 443 –j ACCEPT

  -A FORWARD –p tcp --dport 8000 –j ACCEPT

  -A FORWARD –p tcp --sport 8000 –j ACCEPT

  -A FORWARD –p udp --dport 8000 –j ACCEPT

  -A FORWARD –p udp --sport 8000 –j ACCEPT

  -A FORWARD –p udp --dport 4000 –j ACCEPT

  -A FORWARD –p udp --sport 4000 –j ACCEPT

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章