一、iptables的说明及环境安装

(1)理论基础:当主机收到一个数据包后,数据包先在内核空间中处理,若发现目的地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目的不是自身,则会将包丢弃或进行转发。

    (2)iptables实现防火墙功能的原理是:在数据包经过内核的过程中有五处关键地方,分别是PREROUTING、INPUT、 OUTPUT、FORWARD、POSTROUTING,称为钩子函数,iptables这款用户空间的软件可以在这5处地方写规则,对经过的数据包进行 处理,规则一般的定义为“如果数据包头符合这样的条件,就这样处理数据包”。
iptables中定义有表,分别表示提供的功能,有filter表(实现包过滤)、nat表(实现网络地址转换)、mangle表(实现包修改)、 raw表(实现数据跟踪),这些表具有一定的优先级:raw–>mangle–>nat–>filter。

若为本地数据的传输,则数据进来内核的接口为input;出去的时候接口为output;

若目的地址不是本地时,数据传输的时候没有经过内核而出去的接口为postouting;响应的时候出去的接口叫做preouting.

(3)修改实验环境:

1、首先关闭firewalld火墙

systemctl  stop   firewalld.server

systemc   mask   firewalld.server

2、安装iptables火墙

yum   install  iptables-services.x86_64

systemctl   start  iptables

 二、 iptables的用法
    1)iptables的主配置文件:/etc/sysconfig/iptabls 
    2)iptables  -F                   ##刷新
         iptables  -nL                 ##查看iptables中的策略(默认为filter表)
         iptanles  -t  nat -nL       ##查看nat表中的策略;-t 指向表名
         service iptables  save    ##保存已有的策略(会保存在iptables的主配置文件中)

iptables -N  xniu          ##添加自定义链名

         iptables  -X  xniu         ## 删除自动链

iptables  -A INPUT -s  172.25.254.21  -p  tcp  --dport 22 -j REJECT    ##-A为添加一条策略到INPUT表;-s源地址;-p协议;--dport目的端口;-j 执行拒绝

在21端口进行测试:

iptables -D INPUT  -s 172.25.254.21  -p  tcp  --dport 22 -j REJECT              ##删除已有的策略

iptables  -I INPUT 2 -s  172.25.254.21  -p  tcp  --dport 22 -j REJECT            ##-I为插入,位置为INPUT表的第二个位置
        iptables  -P  INPUT  DROP                                                                         ## 修改input表的状态为drop

iptables -R INPUT 2 -s 172.25.254.21 -p tcp --dport 22 -j DROP                        ## 修改第二条的记录,把REJECT修改为DROP

3 ) 常用操作命令:

       -A 在指定链尾部添加规则
       -D 删除匹配的规则
       -R 替换匹配的规则
       -I 在指定位置插入规则

三、网络地址转换

       SNAT(源地址转换)是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包的来源是被替换的那个IP的主机
       DNAT(目标地址转换),就是指数据包从网卡发送出去的时候,修改数据包中的目的IP,表现为如果你想访问A,可是因为网关做了DNAT,把所有访问A的数据包的目的IP全部修改为B,那么,你实际上访问的是B

示例一:添加策略不同端口执行不同规则:
         iptables  -F                      ##首先清空
         iptables -nL                     ##查看
         iptables  -A INPUT  -m state  --state RELATED,ESTABLISHED -j ACCEPT
         iptables  -A INPUT  -m state  --state new  -i  lo  -j  ACCEPT
         iptables  -A INPUT  -m state  --state new  -p  tcp  --dport 22  -j  ACCEPT
         iptables  -A INPUT  -m state  --state new  -p  tcp  --dport 80  -j  ACCEPT

iptables  -A INPUT  -m state  --state new  -i  lo  -j  ACCEPT

示例二:目的地址的转换 (在nat表上)

          iptables -t  nat -A  PREROUTING -i eth0  -j  DNAT  --to-dest  192.168.0.111                 ##当连接的时候,使用接口转换为目的地址为111的主机

测试结果:

示例三:源地址的转换(在nat表上)

1、 首先把服务端要有两个物理网卡。ip分别为eth0:172.25.254.121 、eth1:192.168.0.2

iptables -t  nat -A POSTROUTING  -o eth0 -j  SNAT  --to-source 172.25.254.121                      ##此时eth0为172.25.254.121

iptables -t filter  -F                    ##刷新filter表

              iptables -t  filter -nL                  ##进行查看(此时为空)

2、 在192.168.0.111主机上测试结果如下:

防火墙---iptables的更多相关文章

  1. CentOS防火墙iptables的配置方法详解

    CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Linux ...

  2. [转] Linux下防火墙iptables用法规则详及其防火墙配置

    from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...

  3. Linux防火墙(Iptables)的开启与关闭

    Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...

  4. linux 防火墙iptables简明教程

    前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...

  5. Linux防火墙iptables简明教程

    前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...

  6. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  7. 【iptables】linux网络防火墙-iptables基础详解(重要)

    一:前言   防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...

  8. 转:linux关闭防火墙iptables

    ref:https://jingyan.baidu.com/article/066074d64f433ec3c21cb000.html Linux系统下面自带了防火墙iptables,iptables ...

  9. Linux防火墙iptables学习

    http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...

  10. Linux下防火墙iptables用法规则详及其防火墙配置

    转:http://www.linuxidc.com/Linux/2012-08/67952.htm iptables规则 规则--顾名思义就是规矩和原则,和现实生活中的事情是一样的,国有国法,家有家规 ...

随机推荐

  1. [转]将Eclipse设置为黑色主题 方式一

    将Eclipse设置为黑色主题 觉得黑色的主题&配色很高大上,于是花了点时间实践出下面一种方法. 修改代码编辑区配色 修改整个软件主题 先上成果图: 但是进度条依旧是白色的,不知道怎么弄了╮( ...

  2. jquery阻止事件冒泡的方法

    $("table tbody").click(function(e) { e.preventDefault(); //阻止自身的事件,并不能阻止冒泡 e.stopPropagati ...

  3. Activiti工作流引擎数据库表结构

    Activiti工作流引擎数据库表结构 一.数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. ACT_RE_ ...

  4. SaltStack应用grains和jinja模板-第四篇

    目标需求 1.使用jinja模板让apache配置监听本地ip地址 2.了解grains的基本使用方法 说明:实验环境是在前面的第二篇和第三篇基础上完成 实现步骤 使用grains获取ip地址信息 使 ...

  5. js梳理

    js引用类型 Object Function Array其他皆为基本类型,这和很多高级语言不一样,需要注意!!!! typeof对应基本类型来说更实用---- typeof undefined     ...

  6. Linux 服务器buff/cache清理

    使用Top命令查看内存及缓冲区使用情况 当磁盘频繁产生IO时会导致buff/cache占用很高的内存,导致可用物理内存很少 但是当真正需要内存时,缓冲区内存会自动释放. 如果需要清理可以用 cache ...

  7. CentOS 7 Fail2ban防暴力破解

    1.安装 yum install epel-release -y yum install fail2ban fail2ban-systemd -y 2.配置 //新建配置 vim /etc/fail2 ...

  8. sql 筛选表中指定字段包含26某个小写字母

    SELECT *from 表名WHERE 字段 COLLATE Chinese_PRC_CS_AS LIKE '%[abcdefghijklmnopqrstuvwxyz]%'筛选表中指定字段包含26某 ...

  9. Android开发-ADT Bundle安装

    此次安装是在Android Studio的机器上.安装Eclipse是因为目前很多Android程序是Eclipse开发的,要想快速看到运行效果就是安装Eclipse. 1.所有的资源都在:http: ...

  10. vue element new vue const

    new Vue{ el:"app", } ========= const app = new Vue({ router, data:{....} }).$mount('#app') ...