Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)

文章目录

  • 前言
  • 一:Firewalld,iptables概述
      • 1.1:Firewalld简介
      • 1.2:iptables简介
  • 二:Firewalld和iptables的关系
      • 2.1:netfilter
      • 2.2:Firewalld、iptables
      • 2.3:netfilter和Firewalld,iptables关系
      • 2.4:Firewalld和iptables的区别
      • 2:5:CentOS 6 和CentOS 7 防火墙的区别
  • 三:iptables详解
      • 3.1:Netfilter模块概念
      • 3.2:Netfilter与iptables之间的关系
      • 3.3:四表五链☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
          • 3.3.1:具体的四表
          • 3.3.2:具体的五链
          • 3.3.3:四表五链之间的关系
      • 3.4:iptables语法格式与常用参数
          • 3.5:设置防火墙策略,演示安装Apache服务
  • 四:Firewalld网络区域☆☆☆☆☆
      • 4.1:区域介绍
  • 五:Firewalld防火墙的配置方法
  • 六:Firewall-config图形工具(操作截图)

前言

  • Linux防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)
  • Linux系统的防火墙体系基于内核编码实现,具有非常稳定的性能和极高的效率,因此得到广泛的应用

一:Firewalld,iptables概述

1.1:Firewalld简介

  • 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
  • 支持IPv4,IPv6防火墙设置以及以太网桥
  • 支持服务或应用程序直接添加防火墙规则接口
  • 拥有两种配置模式
    • 运行时配置(一般测试的时候使用)
    • 永久配置

1.2:iptables简介

  • iptables是Linux的防火墙管理工具而已,真正实现防火墙功能的是Netfilter,我们配置类iptables规则后Netfilter通过这些规则来进行防火墙过滤等操作

二:Firewalld和iptables的关系

2.1:netfilter

  • 位于Linux内核中的包过滤功能体系
  • 称为Linux防火墙的“内核态”

2.2:Firewalld、iptables

  • CentOS 7默认的管理防火墙规则的工具(Firewalld)
  • 称为Linux防火墙的“用户态”

2.3:netfilter和Firewalld,iptables关系

只有iptables才能和内核态进行交互

Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第1张图片

2.4:Firewalld和iptables的区别

Firewalld iptables
配置文件 /usr/lib/firewalld,/etc/firewalld /etc/sysconfig/iptables
对规则的修改 不需要全部刷新策略,不丢失现行连接 需要全部刷新策略,丢失链接
防火墙类型 动态防火墙 静态防火墙

2:5:CentOS 6 和CentOS 7 防火墙的区别

  • centos7有firewalld,iptables

    centos6是iptables

  • 图形化管理工具 firewall-config

    命令管理工具:iptables(操作复杂) firewall-cmd

三:iptables详解

3.1:Netfilter模块概念

  • netfilter是主要的工作模块,位于内核中,在网络层的五个位置(就是防火墙四表五链中的五链)注册了一些函数,用来抓取数据包
  • 将数据包的信息拿出来匹配各个链位置在对应表中的规则:匹配之后,进行相应的处理ACCEPT,DROP等等

3.2:Netfilter与iptables之间的关系

  • 总结,只有iptables才能和内核态进行交互

Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第2张图片

3.3:四表五链☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

  • 链就是位置:共有五个
    • 进路由(PREROUTING)
    • 进系统(INPUT)
    • 转发(FORWARN)
    • 出系统(OUTPUT)
    • 出路由(POSTROUTING)
  • 表就是存储的规则
    • 数据包到了该链处,会去对应表中查询设置的规则,然后决定是否放行,丢弃,转发还是修改等操作
3.3.1:具体的四表
  • filter表——过滤数据包(filter是默认的表,在使用iptables命令进行配置规则的时候,不特指其他的表就会默认filter)
  • Nat表——用于网络地址转换(IP,端口)
  • Mangle表——修改数据包的服务类型,TTL,并且可以配置路由实现QOS
  • Raw表——决定数据包是否被状态跟踪机制处理
3.3.2:具体的五链
  • INPUT链——进来的数据包应用此规则链中的策略
  • OUTPUT链——外出的数据包应用此规则链中的策略
  • FORWARD链——转发数据包时应用此规则链中的策略
  • PREROUTING链——对数据包做路由选择前应用此规则链中的规则(所有的数据包进来的时候都先由这个链处理)
  • POSTROUTING链——对数据包作路由选择后应用此规则链中的规则(所有的数据包出来的时候都先由这个链处理)
3.3.3:四表五链之间的关系
  • 表包含链

    链包含规则

Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第3张图片

3.4:iptables语法格式与常用参数

  • iptables语法格式

    iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
    如果不指定表名,则会默认指定filter表
    
  • iptables常用参数

    -P 设置默认策略:iptables
    -P INPUT(DROP|ACCEPT)
    -F 清空规则链
    -L 查看规则链
    -A 在规则链的末尾加入新规则
    -I num 在规则链的头部加入新规则
    -D num 删除某一条规则
    -s 匹配来源地址IP/MASK,加感叹号“!”表示除了这个IP外
    -d 匹配目标地址
    -i 网卡名称 匹配从这块网卡流入的数据
    -o 网卡名称 匹配从这块网卡流出的数据
    -p 匹配协议,如tcp,udp,icmp
    --dport num 匹配目标端口号
    --sport num 匹配来源端口号
    
  • iptables命令使用总结

    所有链名必须大写
    INPUT/OUTPUT/FORWARD/PREROUTING/POSTROUTING
    所有表名必须小写
    filter/nat/mangle
    所有动作必须大写
    ACCEPT/DROP/SNAT/DNAT/MASQUERADE
    所有匹配必须小写
    -s/-d/-m /-p
    
3.5:设置防火墙策略,演示安装Apache服务
  • 环境:

    VMware软件

    一台centos 7系统

    一台win10

  • 配置centos7

    [root@localhost~]# yum install httpd -y
    [root@localhost~]# systemctl start httpd
    '此时用win10浏览器访问本主机ip地址发现是无法连接的'
    [root@localhost~]# iptables -I INPUT -i ens33 -p tcp --dport 80 -s 192.168.197.141/24 -j ACCPET	'在规则链头部加入规则,指定从ens33网卡流入的,匹配tcp协议,匹配80端口(httpd的端口号)匹配源ip地址(win10),指定控制类型为接受'
    [root@localhost~]# iptables -L  	'查看策略是否设置成功'
    
  • 此时使用win10网页输入centos7ip地址,可以看到Apache服务,配置成功

四:Firewalld网络区域☆☆☆☆☆

4.1:区域介绍

区域 描述
drop(丢弃) 任何接收的网络数据包都会被丢弃,没有任何回复。仅能有发送出去的网络连接
block(限制) 任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝
public(公共) 在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的链接
external(外部) 特别是为路由器启动了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信他们不会对您的计算机造成危害,只能接收经过选择的连接
dmz(非军事区) 用于您的非军事区内的电脑,此区域内可公开访问,可以有限的进入您的内部网络,仅仅接收经过选择的连接
work(工作) 用于工作区,您可以基本相信网络内的其他电脑不会危害您的电脑,仅仅接收经过选择的连接
home(家庭) 用于家庭网络,您可以基本信任网络内的其他计算器不会危害您的计算机,仅仅接收经过选择的连接
internal(内部) 用于内部网络,您可以基本上信任网络内的其他计算机不会威胁您的计算机,仅仅接受经过选择的连接
trusted(信任) 可接收所有的网络连接
  • 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则
  • 可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口
  • 默认情况下,public区域是默认区域,包含所有接口(网卡)
  • iptables没有区域的概念
  • 外部流量通过规则进入相应的区域接口(网卡)
  • Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第4张图片
  • firewalld数据处理流程
    • 检查数据来源的源地址
      • 若源地址关联到特定的区域,则执行该区域所指定的规则
      • 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则
      • 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则

五:Firewalld防火墙的配置方法

  • 运行时配置
    • 实时生效,并持续至firewalld重新启动或重新加载配置
    • 不中断现有连接
    • 不能修改服务配置
  • 永久配置
    • 不立即生效,除非firewalld重新启动和重新加载配置
    • 中断现有连接
    • 可以修改服务配置
  • firewall-config图形工具(用的少)
  • firewall-cmd命令行工具(用的多)
  • /etc/firewalld/中的配置文件
    • firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/usr/bin/firewalld/中的配置
    • /etc/firewalld/:用户自定义配置文件,需要时可通过从/usr/lib/firewalld/中拷贝
    • /usr/lib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可以直接删除/etc/firewalld/中的配置

六:Firewall-config图形工具(操作截图)

[root@localhost ~]# firewall-config		'//在终端输入,不要远程'

Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第5张图片

  • 包含运行时配置/永久配置

    Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第6张图片

  • 重新加载防火墙

    • 更改永久配置并生效
    • Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第7张图片
  • 关联网卡到指定区域

    Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第8张图片

  • 修改默认区域

    Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第9张图片

  • 连接状态

    Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第10张图片

  • “区域”选项卡

  • Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第11张图片

    • “服务”子选项卡
    • “端口”子选项卡
    • “协议”子选项卡
    • “源端口”子选项卡
    • “伪装”子选项卡
    • “端口转发”子选项卡
    • “ICMP过滤器”子选项卡
  • “服务”选项卡

    Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)_第12张图片

你可能感兴趣的:(Linux网络服务)