Linux之iptables防火墙( 二 )

  • 若在该链内找不到相匹配的规则,则按该链的默认策略处理(未修改的状况下,默认策略为允许)
  • #例1: filter表 input链: 1、放通 目的地址为192.168.80.0/24的 2、放通 目的地址为192.168.100.0/24的 此时192.168.100.0/24的IP数据包能够放行 。#例2: filter表 input链: 1、拒绝 源地址为100.100.100.0/24的 2、放通 目的地址为192.168.80.0/24的 3、放通 目的地址为192.168.100.0/24的 此时192.168.100.0/24的IP数据包会被拒绝,因为是自上向下按顺序依次进行检查,第一条规则已匹配到,就不会再向下匹配 。复制代码1.3.4 内核中数据包的传输过程
    1. 当一个数据包进入网卡时,数据包首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去 。
    1. 如果数据包是进入本机的,数据包就会到达INPUT链 。数据包到达INPUT链后,任何进程都会收到它 。本机上运行的程序可以发送数据包,这些数据包经过OUTPUT链,然后返回给发送方 。
    1. 如果数据包是要转发出去的,且内核允许转发,数据包就会经过FORWARD链,然后到达POSTROUTING链输出 。
    2 iptables的安装和规则配置2.1 iptables的安装Centos 7默认使用firewalld防火墙,没有安装iptables,若想使用iptables防火墙 。必须先关闭firewalld防火墙,再安装iptables。
    #步骤1、关闭firewalld [root@yuji ~]# systemctl disable --now firewalld//设置firwalld开机不自启,且现在就关闭 Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.#步骤2、安装iptables 和 iptables-services [root@yuji ~]# yum install -y iptables iptables-services#安装完后启动服务 [root@yuji ~]# systemctl start iptables复制代码
    Linux之iptables防火墙

    文章插图
     

    Linux之iptables防火墙

    文章插图
     
    2.2 iptables的配置方法
    1. 使用iptables命令行 。
    2. 使用图形化管理工具system- config- firewall
    2.3 使用iptables命令行配置规则命令格式:
    iptables[-t 表名]管理选项[链名][匹配条件] [-j 控制类型]复制代码注意事项:
    • 不指定表名时,默认指filter表
    • 不指定链名时,默认指表内的所有链
    • 除非设置链的默认策略,否则必须指定匹配条件
    • 控制类型使用大写字母,其余均为小写

    Linux之iptables防火墙

    文章插图
     
    常用控制类型:
    控制类型
    作用
    ACCEPT
    允许数据包通过(默认)
    DROP
    直接丢弃数据包,不给出任何回应信息
    REJECT
    拒绝数据包通过,会给数据发送端一个响应信息
    SNAT
    修改数据包的源地址
    DNAT
    修改数据包的目的地址
    MASQUERADE
    伪装成一个非固定公网IP地址
    LOG
    在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则 。LOG只是一种辅助动作,并没有真正处理数据包
    常用管理选项:
    管理选项
    作用
    -A
    在指定链的末尾追加(--Append)一条新的规则
    -I(大写i)
    在指定链的开头插入(--insert)一条新的规则,未指定序号时默认作为第一条规则
    -R
    修改、替换(--replace) 指定链中的某一条规则,可指定规则序号或具体内容
    -P
    设置指定链的默认策略(--policy)
    -D
    删除(--delete) 指定链中的某一条规则,可指定规则序号或具体内容
    -F
    清空(--flush)指定链中的所有规则,若未指定链名,则清空表中的所有链
    -L
    【Linux之iptables防火墙】列出(--list) 指定链中所有的规则,若未指定链名,则列出表中的所有链
    -n
    使用数字形式(--numeric) 显示输出结果,如显示IP地址而不是主机名
    -v
    显示详细信息,包括每条规则的匹配包数量和匹配字节数
    --line-numbers
    查看规则时,显示规则的序号
    匹配条件:
    匹配条件
    说明
    -p
    指定要匹配的数据包的协议类型
    -s
    指定要匹配的数据包的源IP地址
    -d
    指定要匹配的数据包的目的IP地址


    推荐阅读