Linux——Firewall防火墙(firewalld与iptables两种管理方式)

一、防火墙简介

  • 介绍:
    防火墙是整个数据包进入主机前的第一道关卡。是一种位于内部网络与外部网络之间的网络安全系统,是一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙主要通过Netfilter与TCPwrappers两个机制来管理的
  • 管理防火墙的两种方式
    (1)firewalld 管理火墙的工具,相对简单
    (2)iptables 复杂,功能强大

二、firewalld所有的域

Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第1张图片

三、firewalld管理防火墙

  • 可以通过三种方式来管理firewalld
  • 使用命令行工具firewall-cmd
  • 使用图形工具firewall-config
  • 使用/etc/firewalld/中的配置文件
  • 启用firewalld
  1. systemctl start firewalld   开启火墙
  2. systemctl stop firewalld   关闭火墙
  3. systemctl enable firewalld  设置火墙开机自启动
  4. systemctl disable firewalld  设置火墙开机禁用
  5. systemctl status firewalld   查看状态
  • firewall-cmd常用命令
    --get-default-zone    查询当前默认区域。
    --set-default-zone=   设置默认区域。此命令会同时更改运行时配置和永久配置。
    --get-zones       列出所有可用区域。
    --get-services      列出所有预定义服务。
    --get-active-zones    列出当前正在使用的所有区域(具有关联的接口或源)及接口和源信息。
    --add-source=      将来自IP地址或网络/掩码的所有流量路由到指定区域。
    --remove-source=    从指定区域中删除用于路由来自IP地址或网络/掩码的所有流量规则。
    --add-interface=    将来自该接口的所有流量到指定区域。
    --change-interface=  将接口已有绑定区域而与其他区域关联。
    --list-all       列出默认区域的所有配置(接口、源、服务和端口)。
    --list-all-zones    列出所有区域的所有配置(接口、源、服务和端口)。
    --add-service=     允许区域某服务的流量。
    --add-port=      允许区域某端口的流量。
    --remove-service=    从区域删除某服务规则。
    --remove-port=     从区域删除某端口规则。
    --reload        丢弃Runtime配置并应用Permanet配置。
  1. 查看火墙的状态
    在这里插入图片描述
  2. 查看火墙正在使用的域
    在这里插入图片描述
  3. 查看火墙默认的域
    在这里插入图片描述
  4. 查看火墙所有的域
    在这里插入图片描述
  5. 查看work域的信息
    在这里插入图片描述
  6. 列出可使用的服务
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第2张图片
  7. 火墙允许http服务
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第3张图片
  8. 火墙删除http服务
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第4张图片
  9. 将指定ip主机加入trusted域
    在这里插入图片描述
  10. 将指定ip主机从trusted域删除掉
    在这里插入图片描述
  11. 拒绝主机172.25.254.29的所有网络连接(有回应)
    在这里插入图片描述
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第5张图片
  12. 拒绝主机172.25.254.29的所有网络连接(无回应)
    在这里插入图片描述
    在这里插入图片描述
  13. 将eth0接口从public域 移除
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第6张图片
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第7张图片
  14. 添加eth0接口到trusted域
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第8张图片
  15. 直接将eth1从原来的区域转到public这个区域
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第9张图片
  16. 将8080端口加入public域
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第10张图片
  17. 查看firewalld的服务相关配置文件
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第11张图片
  • 添加一个http8080.xml
    在这里插入图片描述
    在这里插入图片描述
    修改端口信息
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第12张图片
    重启服务
    在这里插入图片描述
    修改成功
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第13张图片
  1. 查看firewalld的区域相关配置文件
    在这里插入图片描述
  • 查看默认public域的信息
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第14张图片
  • 编辑public域配置文件
    在这里插入图片描述
  • 将指定ssh一行删除掉(此处已删除)Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第15张图片
  • 再次查看默认public域的信息
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第16张图片
  1. firewall-cmd --permanent
    –reload 不改变状态的条件下重启防火墙
    firewall-cmd --permanent
    –complete-reload 状态信息将丢失,当防火墙有问题的时候可以使用
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第17张图片
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第18张图片
  2. 临时只接受ip为172.25.254.29的主机访问服务端的网页 (80端口是为http开放的)
    在这里插入图片描述
    在这里插入图片描述
  3. 删除这条规则
    在这里插入图片描述
    在这里插入图片描述

四、firewalld管理的地址伪装(SNAT与DNAT)

  • 原地址转换(SNAT)
  1. 给路由器主机添加一个网卡(现在有两个)
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第19张图片
    设置一个内网与外网
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第20张图片
    路由器可以ping通主机
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第21张图片
    开始路由器的路由功能
    在这里插入图片描述
  2. 给测试端设置与内网在同一个区域的ip
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第22张图片
    添加网关(与路由器内网ip一直)
    在这里插入图片描述
    测试:可以ping通路由器内网,也可以ping通主机的网址(路由功能实现)
    在这里插入图片描述
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第23张图片
  • 但是,当测试端(1.1.1.229)通过ssh连接主机的时候,显示的却是路由器的外网ip
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第24张图片
  • 目的地地址转换(DNAT)
  1. 在路由器主机中添加转换端口——1.1.1.229
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第25张图片
  2. 在主机中连接路由器外网时,自动转换到1.1.1.229
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第26张图片

五、 iptables管理防火墙

  • 概念:
      iptables(网络过滤器)是一个工作于用户空间的防火墙应用软件。
    防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息包过滤表中,而这些表集成在linux内核中。

  • iptables有三张表五条链:
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第27张图片

  • 三表:
    Filter表:过滤数据包
    NAT表:用于网络地址转换(IP、端口)
    Mangle表:修改数据包的服务类型、TTL、并且可以配置路由实现QOS

  • 五链:
    INPUT链——进来的数据包应用此规则链中的规则
    OUTPUT链——外出的数据包应用此规则链中的规则
    FORWARD链——转发数据包时应用此规则链中的规则
    PREROUTING链——对数据包作路由选择前应用此链中的规则
    POSTROUTING链——对数据包作路由选择后应用此链中的规则

  • 首先先把firewalld关闭并冻结
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第28张图片

  1. 安装iptables-services
    在这里插入图片描述
  2. 开启服务并设置开机自启动
    在这里插入图片描述
  3. 显示iptables中的所有策略(做解析),默认列出filter表Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第29张图片
  4. 显示iptables中的所有策略(不做解析)
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第30张图片
  5. 列出指定nat表信息
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第31张图片
  6. 列出指定mangle表信息
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第32张图片
  7. 刷新火墙的信息(清空策略)
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第33张图片
  • 注意:此方式,在重启服务后不生效
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第34张图片
  • 因为这些策略信息都保存在/etc/sysconfig/iptables中
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第35张图片
  • 所以在刷新之后,要保存火墙的策略
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第36张图片
  1. 修改策略
    默认是ACCEPT
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第37张图片
    修改为DROP
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第38张图片
  2. 新建一个链westos
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第39张图片
  • 修改链的名称
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第40张图片
  • 删除链
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第41张图片
  1. 添加ip为172.25.254.29的主机对22端口访问拒绝的策略
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第42张图片
    在这里插入图片描述
  2. 已有策略的情况下新加策略默认加载最后面
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第43张图片
  • -I 插入到某一条,默认第一条(-I INPUT 3 表示插入到第三行,不写3的话默认添加到第一个)
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第44张图片
  1. 删除第三条策略
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第45张图片
  2. 修改第二条策略的动作为ACCEPT
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第46张图片
  3. !表示除了的意思
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第47张图片

六、iptables管理的地址伪装

  • 源地址转换(SNAT)
  1. 路由器端:添加SNAT策略
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第48张图片
  • 测试端:在做测试的时候如果测试端ping不通,要查看内核的路由功能是否打开
    在这里插入图片描述
    如果没有打开
    在这里插入图片描述
    则在/etc/sysctl.conf下添加如下内容
    在这里插入图片描述
    在这里插入图片描述
    重启网络,显示内核的路由功能已开启
    在这里插入图片描述
    测试可以ping通主机
    在这里插入图片描述
  • 测试:连接主机,显示的却是路由器的外网
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第49张图片
  • 目的地地址转换(DNAT)
  1. 路由器端:添加DNAT策略
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第50张图片
  2. 主机:连接路由器外网,转换到测试端
    Linux——Firewall防火墙(firewalld与iptables两种管理方式)_第51张图片

你可能感兴趣的:(Linux——Firewall防火墙(firewalld与iptables两种管理方式))