IPTABLES

IPTABLES 软防火墙

防火墙是做什么的:

在生活中顾名思义防火墙即是为了防止火势、火情蔓延而设立的一道屏障,那么这道屏障在设置在那里后就可以保障内外两地将无情火分隔,保证我的内地不受外地的火情影响,从而安全的生活下去;查看下图帮助理解防火墙;

图1-1.png

1-1    

1-1可以看出当数据流量从外网主机访问内网主机时,因为网络中有一道防火墙存在,而组织了恶意攻击,并且将数据包直接丢弃在门外,这就是防火墙了;

 

在网络环境中都有哪些防火墙 :   

    我们可以把iptables叫做防火墙;因为防火墙有两种,分为硬件防火墙和软防火墙;

硬件防火墙就是一个网络设备,比如CISCO公司生产的ASA系列产品就属于硬件防火墙了,那么软件防火墙呢,软件防火墙即是将防火墙的功能集成到系统之上,例如windos的防火墙,linuxiptables,这些都属于软件防火墙,但是我们称软件防火墙叫做软防火墙;本文档中只介绍软防火墙iptables

iptablesnetfilter的关系:

    这是第一个要说的地方,Iptablesnetfilter的关系是一个很容易让人搞不清的问题。很多的知道iptables却不知道netfilter。其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构。

 

iptables的实现:

iptables是集成在linux发行版本内核中的一个IP包过滤系统,以数据包过滤的方式来决定数据包的留去,怎么定义呢;通过表单查询方式;在iptables中默认有以下几表,表下面分为几个链,链下面分了几个2个规则:

表:filternatmangleraw

链:(filter的链)INPUTOUTPUTFORWARD

规则:ACCEPTDROP

INPUT链:从别的主机访问我的主机才被INPUT链匹配

OUTPUT链:从我的主机访问别的主机才被OUTPUT链匹配

FORWARD链:经过我的主机才被FORWARD链匹配

             把他们理解在一个平面上是这样的:                                   

filter

INPUT

ACCEPT/DROP规则

ACCEPT

Tcp

1.1.1.1

1.1.1.2

23

23

OUTPUT

ACCEPT/DROP规则

规则

协议

ip

ip

源端口

目端口

FORWARD

ACCEPT/DROP规则

ACCEPT

Tcp

1.1.1.2

1.1.1.1

23

23

                               表1-1

同表1-1表示所示:这张表中设定了两个规则;

当数据流量进入linuxlinux会将数据包给到iptables,让iptables进行解封数据包封装,得出数据包中的源ip地址、目ip地址、源端口、目端口,进行对iptables的表进行比对;

 

举例:

主机Aip地址1.1.1.1 向主机2ip地址1.1.1.2发送了一个telnet连接,数据包格式大概为:

IP

ip

协议

源端口

目端口

1.1.1.1

1.1.1.2

Tcp

23

23

                表1-2

在主机2中,Iptables解封数据包得出大概得出表1-2内容,获取到这些基本信息后,对比iptables表单,这表单中有四个表,这里查看filter表,这个表中有三个链,因为这里是主机1发送给我的数据包,是进入主机的数据包,所以从INPUT这个进入链来查看规则;这些源ip,目ip能被iptablesfilter表单INPUT链的规则中的项所匹配后,才允许放行,缺一不可;

   

IP

ip

协议

源端口

目端口

1.1.1.2

1.1.1.1

Tcp

23

23

                 表1-3

数据包讲究有去有回,在主机1的数据包到达主机2后,主机2需要将数据包返回给主机1,当返回主机1的时候数据包源目发生该表,如图1-3

所以在iptablesfilter表中将由两条规则;

 

Iptables的配置

Itables –t filter –P INPUT DROP

-t:指明表单

-P:指明哪个链

#指明filter表的INPUT链默认规则修改为DROP

Itables –t filter –P OUTPUT DROP

#指明filter表的OUTPUT链默认规则修改为DROP

 

Iptables –t filter –A INPUT –p tcp –s 1.1.1.1 –d 1.1.1.2 –sport 23 –dport 23 –j ACCEPT

-p:指明协议所用tcp协议

-s:指明表中匹配项的源端口地址

-d:指明表中匹配项的目的端口地址

–sport:指明匹配项的源端口地址

–dport:指明匹配项的目端口地址

-j:指明若数据包被这条规则所匹配后是ACCEPT放行还是DROP丢弃

#设置filter表中的INPUT链中匹配到源ip1.1.1.1ip1.1.1.2telnet数据允许放行

 

Iptables –t filter –A OUTPUT –p tcp –s 1.1.1.2 –d 1.1.1.1 –sport 23 –dport 23 –j ACCEPT

#设置filter表中的OUTPUT链中匹配到源ip1.1.1.2ip1.1.1.1telnet数据允许放行

 

      -m:指明所匹配项所用的模块

 

 

 

原创文章,作者:system,如若转载,请注明出处:http://www.178linux.com/66344

(0)
systemsystem
上一篇 2017-03-15 19:09
下一篇 2017-03-15 19:09

相关推荐

  • Linux不同发行版之间的联系与区别

    Linux发行版有商业版、社区版两类。两者的共同点都是GNU/Linux发行版,区别在于商业版是由商业公司维护,社区版是社区组织维护。由于linux发行版都要遵循GPL协定,任何人都有使用、共享、修改软件源代码的自由,所以商业版的收入主要来自向企业提供支持服务,它的软件基本都是免费的。

    Linux干货 2018-03-04
  • Linux作业管理、并发执行、计划任务

    概述     本章将为大家介绍一些进程管理的补充部分作业管理和任务的并发执行,同时也将介绍一下Linux系统上计划任务的相关内容,具体分为:         1、Linux作业管理     &nbsp…

    Linux干货 2016-09-09
  • 关于shell脚本基础编程第五篇

                  shellb编程基础第五篇              本章内容:数组 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间…

    系统运维 2016-08-24
  • Linux系统上的人机交互

    众所周知,计算机上运行的数据流最后都会以二进制的方式流转,这对计算机来说确实没什么问题,但是对人类来说,这样的方式无疑太难理解,所以计算机通过转换,将二进制的0、1字符串转换成人们可以易于理解的字母和数字,来方便计算机与人类的沟通和交互。这样一来,人类可以读取和输入人类习惯的字母和数字;而计算机可以使用自己的0、1字符串接收任务和返回结果。然而,这一过程就少…

    Linux干货 2017-09-01
  • iptables基本知识

    1)Linux下的防火墙概念 a、一般谈到Linux下的防火墙,我们都会首先想到iptables,其实更确切的叫法应该是Netfilter/iptables,iptables和Netfilter其实是存在差别的。 b、尽管它们经常被用来相互替换使用,Netfilter是用来实现Linux内核中防火墙的Linux内核空间程序代码段,它要么被直接编译进内核,要么…

    Linux干货 2016-07-16
  • Linux系统基础(二)

    一、Linux文件管理命令及其常用方法 1、cd(切换目录)这个命令应该是Linux中用的最频繁的一个命令之一了,因为我们经常需要进行目录的切换。在详解这个命令之前,首先得补充一个重要的知识,就是我们常用的一些比较特殊的目录: .        代表当前目录 .. &n…

    Linux干货 2016-09-24