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   常用命令:      pwd: printing working directory                     显示工作目录       cd:cha…

    Linux干货 2016-10-28
  • N25第四周 chmod chown以及 grep命令的常用示例

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

    Linux干货 2016-12-22
  • Linux磁盘配额

    磁盘配额 什么是磁盘配额? 磁盘配额(Quota)是Linux系统中由于是多用户、多任务的环境,所以会有多用户共同使用一个硬盘空间的情况发生,如果其中少数几个用户大量占掉了磁盘空间的话,那肯定影响其他用户的使用权限。因此我们就需要对每个用户限制硬盘使用空间,来避免此种情况的发生,这就是磁盘配额。 Quota的一般用途: *针对WWW server,例如:每个…

    Linux干货 2016-09-01
  • N21_第x周_Storm_01_单机实践篇

       这2周没有按马哥安排的课程走,因公司需要,大家一直在试尝大数据这块。作业不能不做,也不知道马哥哪周的作业会有storm,只好先将这段时间的实验慢慢记录下来(其它flume、kafka、spark等本周会慢慢补充),等知道具体的作业题目后,再完善。 实验目的   了解storm的原理,并用storm单机版实验加深理解,为后面…

    Linux干货 2016-09-15
  • 马哥教育网络班22期+第5周课程练习

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@rhel677850 ~]# grep "^\(root\|fedora\|user1\)" /etc/passwd|awk -F: '{print $1,$7}&#039…

    Linux干货 2016-09-26
  • N21天天第十三周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;   3)添加s…

    Linux干货 2016-12-05