防火墙工具之iptables

1. 安全技术和防火墙

1.1 防火墙概述

  • 拥有两种配置模式
    • 运行时配置
    • 永久配置

1.2 安全技术

入侵检测系统(Intrusion Detection Systems):不阻断任何网络访问,类似于监控,记录不追责

入侵防御系统(Intrusion Detection Systems):分析数据包,在判定为攻击行为后立即予以阻断,主动有效的保护网络的安全,一般采用在线部署方式

防火墙:隔离功能,对进出网络或主机的数据包基于一定规则检查,过滤数据包

1.3 防火墙分类

按保护范围划分:

  • 主机防火墙:服务范围为当前一台主机
  • 网络防火墙:服务范围为防火墙一侧的局域网

按实现方式划分:

  • 硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,如:华为, 山石hillstone,天融信,启明星辰,绿盟,深信服,PaloAlto , fortinet, Cisco, Checkpoint, NetScreen(Juniper2004年40亿美元收购)等
  • 软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows 防火墙 ISA --> Forefront

按网络协议划分:

  • 网络层防火墙:OSI模型下四层,又称为包过滤防火墙
  • 应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层

包过滤防火墙(4层)

网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制列表(ACL),通过检查数据流中每个数据的源地址,目的地址,所用端口号和协议状态等因素,或他们的组合来确定是否 允许该数据包通过

优点:对用户来说透明,处理速度快且易于维护

缺点:无法检查应用层数据,如病毒等

应用层防火墙(7层)

应用层防火墙/代理服务型防火墙,也称为代理服务器(Proxy Server)

将所有跨越防火墙的网络通信链路分为两段

内外网用户的访问都是通过代理服务器上的"链接"来实现优点:在应用层对数据进行检查,比较安全

缺点:增加防火墙的负载

提示:现实生产环境中所使用的防火墙一般都是二者结合体,即先检查网络数据,通过之后再送到应用层去检查

1.4 防火墙基本认识

  • Netfilter(网络过滤)

    • 真防火墙
    • 位于Linux内核中的包过滤功能体系
    • 称为Linux防火墙的"内核态"
  • Firewalld/Iptables(防火墙工具)

    • Linux防火墙是由Netfilter组件提供的

    • 调用Netfilter函数

    • CentOS 7默认的管理防火墙规则的工具(Firewalld)

    • 称为Linux防火墙的"用户态"

1.5 防火墙工具介绍Firewalld和Iptables

1.5.1 iptables的表、链结构

4表5链

表中有链,链中有规则
  • 规则链

    • 规则的作用:对数据包进行过滤或处理
    • 链的作用:容纳各种防火墙规则
    • 链的分类依据:处理数据包的不同时机
  • 默认包括5种规则链

    • INPUT:处理入站数据包
    • OUTPUT:处理出本站数据包
    • FORWARD:处理转发数据包
    • POSTROUTING链:在进行路由选择后处理数据包
    • PREROUTING链:在进行路由选择前处理数据包
  • 规则表

    • 表的作用:容纳各种规则链
    • 表的划分依据:防火墙规则的作用相似
  • 默认包括4个规则表

    • raw表:确定是否对该数据包进行状态跟踪,不作任何处理
    • mangle表:为数据包设置标记
    • nat表:修改数据包中的源、目标IP地址或端口,地址转换【不常用但重要】
    • filter表:确定是否放行该数据包(过滤) ,默认filter表 【常用】

1.5.2 默认的表、链结构示意图

  • 规则表之间的顺序
    • raw—>mangle—>nat—>filter
  • 规则链之间的顺序
    • 入站:PREROUTING—>INPUT
    • 出站:OUTPUT—>POSTROUTING
    • 转发:PREROUTING—>FORWARD—>POSTROUTING
  • 规则链内的匹配顺序
    • 按顺序依次检查,匹配即停止(LOG策略例外)
    • 若找不到相匹配的规则,则按该链的默认策略处理

1.6 实际操作

CentOS7默认使用firewalld防火墙,没有安装iptables,若想使用iptables防火墙。必须先关闭firewalld防火墙,再安装iptables

前期准备工作

systemctl stop firewalld.service

systemctl disable  --now  firewalld.service
##开机不自启  并且立即关闭
systemctl enable  --now  firewalld.service
##开机自启  并且 立即开启

yum -y install iptables iptables-services
systemctl start iptables.service
systemctl enable iptables.service

无论查看,添加,删除,只有filter 表可以省略

查看

iptables [ -t filter或者nat ] -vnL

-v  显示详细 

-n  数字形式显示

-L  查看规则列表
  • 前期关闭所有设备的防火墙和selinux
  • 设备一需要下载httpd服务并启动
[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#setenforce 0
#给第二台设备添加网卡并设置成仅主机模式
#将第三台设备网卡设置成仅主机模式

1.6.1 SNAT(让内网可以访问外网)






1.6.2 DNAT(让外网可以访问内网)

posted @   Candy独角兽  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示