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)
上一篇 2017-03-15 15:15
下一篇 2017-03-15 19:09

相关推荐

  • ACL实现灵活的权限管理

    ACL实现灵活的权限管理 除了文件的所有者,所属组和其它人,可以对更多的用户设置权限 CentOS7当中,无论是操作系统安装时还是之后手工创建的文件系统(xfs、ext4)均会开启ACL功能。 CentOS6及之前的版本,仅操作系统安装时创建的文件系统才会默认开启ACL,手工创建的文件系统,需要手工开启ACL功能。 mount -o acl /dev/sda…

    2017-07-27
  • shell脚本终结篇——数组

    数组定义: 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引: 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅仅是数值格式,自定义格式的数组即为关联数组,bash4.0版本之后开始支持 bash的数组支持稀疏格式(索引不连续) 声明数组: declare -a ARRAY_NAM…

    Linux干货 2016-08-24
  • bash脚本之数组及字符串切片,登陆配置文件

    一,概述 数组(就是一堆变量的集合) 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合/ 数组名和索引     索引:编号从0开始,属于数值索引     注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后…

    Linux干货 2016-09-01
  • inode、软硬链接区分、ln命令

    inode、软硬链接区分、ln命令 一、inode inode记录的是文件的属性及文件实际放在那块数据块中的。inode包含以下数据: 1. 该文件的可被访问的权限(read/write/excute) 2. 该文件的属主、属组(owner、group) 3. 该文件的大小 4. 该文件创建或者状态改变的时间(Ctim…

    Linux干货 2016-08-02
  • 马哥教育网络班22期-第4周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@zck ~]# cp -r /etc/skel /home/tuser1 [root@zck ~]# ll -d /hom…

    Linux干货 2016-09-02
  • 用户和组

    用户和组 touch /etc/nologin     系统做维护时不想普通用户登录,就可以创建这个文件,也可以在里面写一些提示。     维护完之后删除这个文件就可以自动恢复      touch /run/nolog…

    Linux干货 2016-08-03