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

相关推荐

  • corosync + pacemaker + iscsi实现高可用mysql (上)

    一、实验图   二、准备实验环境:  1)确保sql服务器之间可以基于主机名通信 [root@SQL1 ~]# vim /etc/hosts 172.16.2.13  SQL1.linux.com  SQL1 172.16.2.14  SQL2.li…

    Linux干货 2015-07-09
  • N25-第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别统计这两类用户的个数;通过字符串比较来实现; #!/bin/bash     echo “可登录类型有有$(awk -F: ‘/[^\<nologin\>…

    Linux干货 2017-03-11
  • 马哥linux2014|2015全套教程

    1、本课程全程将基于集成了Openstack云环境、支持高精度时间(PTP)及虚拟化性能大大提升的RHEL 6.5或CentOS 6.6,间或介绍CentOS 7系统的使用; 2、此文章给出的只是个课程知识点框架,实际讲解过程相当精细;另外,知识点讲授的次序未必同此文章所标示的顺序相同; 3、第15期面授班定于2015年3月24号开课;本期将会是马哥教育数年…

    Linux干货 2015-07-14
  • Linux网络管理

                          Linux网络管理   本章内容: 网络概念 OSI七层模型 网络设备 TCP/IP IP地址 配置网络 实现网络组 测试网络 网络工具   网络用户应用程序: WEB浏览器(…

    系统运维 2016-09-12
  • LINUX–命令的格式、类型、别名的概述及运用

    命令格式       COMMAND [OPTIONS…] [ARGUMENTS..]      [OPTIONS..] 选项:用于启用或关闭命令的某个或某些功能                &n…

    2017-05-21
  • haproxy实战之haproxy实现mysql负载均衡

    haproxy实战之haproxy实现mysql负载均衡 实验目的haproxy + mysql实现负载均衡 1.准备机器,做好时间同步,域名主机名解析 192.168.42.151 [node2 haproxy] 192.168.42.152 [node3 mariadb] 192.168.42.153 [node4 mariadb] 2.node3,no…

    Linux干货 2017-06-29