• Linux学习(二十七)iptables (一) 认识Iptables


    一、Iptables

    iptables其实就是我们经常说的防火墙。通过防火墙我们都能做一些什么呢?

    通过防火墙我们可以过滤一些非法请求,比如恶意攻击你的网站的包。它还可以限制哪些端口的数据包可以接收,比如我们可以控制只有22端口,80端口能对外提供服务。除此之外,还可以做端口映射,等等。接下来,我们来具体学一下iptables相关的知识。

    二、iptables和netfilter的关系

    iptables其实是操作防火墙的工具,真正实现防火墙功能的其实是netfilter。

    三、selinux

    selinux也是防火墙。但是这个东西比较霸道,会影响很多服务,所以一般我们把它禁用掉。

    临时禁掉:

    setenforce 0

    查看当前selinux状态:

    [root@ruanwenwu-0002 ~]# getenforce
    Disabled

    如果需要永久停掉,需要修改selinux配置文件,然后重启:

    vim /etc/sysconfig/selinux

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=disabled   #改这里
    # SELINUXTYPE= can take one of three two values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected. 
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted

    四、开启iptables服务

    centos7默认开启的是firewalld防火墙,如果要开启netfilter防火墙的话,需要先关闭firewalld服务。

    停止firewalld服务:

    systemctl stop firewalld

    停止自动启动:

    systemctl disable firewalld

    如果你的系统不是centos7可以忽略上面的两条命令。

    关闭后,就可以启动netfilter服务了。如果没有安装的话,需要先安装。

    安装iptables:

    yum -y install iptables-services

    加入启动:

    systemctl enable iptables

    启动服务:

    systemctl start iptables

    五、认识iptables的五个表和规则链

     

    最常用的是filter表和nat表。默认情况下,我们运行iptables -nvL命令默认查看的是filter表。nat表的优先级比filter的优先级要高。

    规则链:

    1.INPUT——进来的数据包应用此规则链中的策略
    2.OUTPUT——外出的数据包应用此规则链中的策略
    3.FORWARD——转发数据包时应用此规则链中的策略
    4.PREROUTING——对数据包作路由选择前应用此链中的规则
    (记住!所有的数据包进来的时侯都先由这个链处理)
    5.POSTROUTING——对数据包作路由选择后应用此链中的规则
    (所有的数据包出来的时侯都先由这个链处理)

    六、iptables传包的过程

    ① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。 
    ② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。 
    ③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

     

  • 相关阅读:
    博客推荐
    2018
    2018
    学习推荐-Postgresql学习手册
    学习推荐-Redis学习手册
    odoo开发笔记 -- odoo源码解析
    前沿技术相关
    odoo开发笔记-tree列表视图拖拽排序
    odoo开发笔记-日期时间相关操作
    odoo开发笔记 -- 官方模块一览表
  • 原文地址:https://www.cnblogs.com/doubilaile/p/8094669.html
Copyright © 2020-2023  润新知