IPTABLES

IPTABLES 软防火墙

防火墙是做什么的:

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

图1-1.png

图1-1    

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

 

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

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

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

iptables和netfilter的关系:

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

 

iptables的实现:

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

表:filter、nat、mangle、raw

链:(filter的链)INPUT、OUTPUT、FORWARD

规则:ACCEPT、DROP

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表示所示:这张表中设定了两个规则;

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

 

举例:

主机A的ip地址1.1.1.1 向主机2的ip地址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能被iptables的filter表单INPUT链的规则中的项所匹配后,才允许放行,缺一不可;

   

源IP

目ip

协议

源端口

目端口

1.1.1.2

1.1.1.1

Tcp

23

23

                 表1-3

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

所以在iptables的filter表中将由两条规则;

 

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链中匹配到源ip为1.1.1.1目ip为1.1.1.2的telnet数据允许放行

 

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链中匹配到源ip为1.1.1.2目ip为1.1.1.1的telnet数据允许放行

 

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

 

 

 

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

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

相关推荐

  • redis主从复制(1)— 慢查询导致复制中断

    redis的异常行为是一件令人头疼的问题。redis提供的错误日志只提供了一些server的运行状态信息,而没有server在故障现场的操作日志,比如执行了什么命令,命令操作对象的数据结构信息。如果redis也有mysql的slow-log,那么很多性能和故障问题也很容易处理。1、redis rdb在redis2.8版本以前,redis主从数据复制在生产上存…

    Linux干货 2016-04-12
  • Code Review中的几个提示

    Code Review应该是软件工程最最有价值的一个活动,之前,本站发表过《简单实用的Code Review工具》,那些工具主要是用来帮助更有效地进行这个活动,这里的这篇文章,我们主要想和大家分享一下Code Review代码审查的一些心得。 首先,我们先来看看Code Reivew的用处: Code reviews 中,可以通过大家的建议增进代码的质量。 …

    Linux干货 2015-04-03
  • 如何安装VMware Workstation

    1、打开安装包,直接点击“下一步” 2、选择接受条款,单击“下一步” 3、选择安装路径,单击“下一步” 4、单击“下一步”,也可以勾选掉两个选项   5、单击“下一步”   6、点击“安装”   7、完成安装  

    2017-07-11
  • Lvm的创建

    一、LVM相关基础:     PE:类似与磁盘的block,这个的大小也会影响VG的大小     PV:是磁盘分区或逻辑上与磁盘分区具有相同功能的设备(RAID),是LVM的基本存储模块,但与基本的物理存储模块相比,却包含有lvm相关的参数     VG:类似于非lvm系统中的物理磁盘,包含多个pv     LV:类似于非lvm系统中的磁盘分区   PV相关…

    2016-04-10
  • 配置HTTPS

    环境为CentOS 7.3、httpd2.4.6 一 搭建证书 CA 主机为192.168.29.3 client主机为 192.168.29.100 1 生成私钥 [root@centos7 ~]# (umask 077 ; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096) Generating…

    2017-06-06
  • Linux LVM

    Linux LVM 前言     LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。无论在Linux或者其他类似…

    系统运维 2016-04-24