[Linux安全运维] iptables包过滤

news2024/9/24 7:14:19

前言

防火墙是网络安全中非常重要的设备,是一种将内部网络和外部网络隔离开的技术。简单来说,防火墙技术就是访问控制技术,由规则和动作组成。

目录

    • 前言
    • 1. Linux 包过滤防火墙
      • 1 .1 概述
      • 1 .2 四表五链结构
        • 1 . 2 .1 规则表
        • 1 . 2 .2 规则链
        • 1 . 2 .3 表链结构关系图
        • 1 . 2 .4 匹配流程
      • 1 .3 iptables 命令
        • 1 . 3 .1 语法结构
        • 1 . 3 .2 常见控制类型
        • 1 . 3 .3 选项
        • 1 . 3 .4 匹配条件
        • 1 . 3 .5 规则备份还原

1. Linux 包过滤防火墙

1 .1 概述

iptables: 指的是管理Linux防火墙的命令程序,主要是针对网络层的,对象是IP数据包,这也是为什么叫做包过滤。

1 .2 四表五链结构

iptables的结构可以概括为四表五链

表中存放的是链,链中存放的是规则

1 . 2 .1 规则表

表分为四类:

规则表作用说明
raw流量跟踪确定是否对该数据包进行状态跟踪
mangle流量修改为数据包设置标记,负责对数据包进行修改和追踪
nat地址转换修改数据包中的源、目标IP地址或端口
filter过滤、筛选确定是否放行该数据包
1 . 2 .2 规则链

对数据包进行过滤和处理,链中存放着各种防护墙规则。

规则链作用说明
INPUT处理入站数据包数据访问的时候限制规则编写的位置
PREROUTING在进行路由选择前出处理数据包
FORWARD处理转发数据包是否允许数据进行转发
POSTROUTING在进行路由选择后处理数据包
OUTPUT处理出站数据包数据包向外方式所写的规则限制
1 . 2 .3 表链结构关系图

在这里插入图片描述

1 . 2 .4 匹配流程

表之间的顺序:raw -> mangle -> nat -> filter。

链路之间的顺序:

  • 入站:PREROUTING INPUT
  • 出站:OUTPUT POSTROUTING
  • 转发:PREROUTING FORWARD POSTROUTING

1 .3 iptables 命令

1 . 3 .1 语法结构
iptables [-t 表名] 选项 [数字] 链名 [匹配条件] [-j 控制类型]

核心思路: iptables操作哪张表、哪条链,符合什么流量,执行什么动作。

注意事项:

  • 不指定表名时,默认指filter表
  • 不指定链名时,默认指表内所有链
  • 必须设置匹配条件,除非设置链的默认策略
  • 选项、链名、控制类型使用大写,其他用小写
  • 不指定序号时,默认第一条规则
  • 如果匹配到了规则,立即执行动作,结束匹配
  • 如果没有匹配到规则,执行默认动作
1 . 3 .2 常见控制类型
控制类型说明
ACCEPT允许通过
DROP丢弃
REJECT解决通过,必要时会给提示
LOG记录日志信息,然后传给下一条规则进行匹配
1 . 3 .3 选项
类别选项说明
1. 添加新规则-A在链的末尾追加一条规则
-I在链的开头(或者指定序列号)插入一条规则
2. 查看规则表-L列出所有的规则条目
-n以数字形式显示地址、端口等信息
-v以更详细的方式显示规则信息
-line-numbers查看规则时,显示规则的序号
3. 删除、清空规则-D删除链内只当序号(或内容)的一条规则
-F清空所有的规则
4. 设置默认策略-P为指定的链设置默认规则

例子:

# 规则添加
# 插入一条规则,允许访问192.168.1.120
iptables -I INPUT -s 192.168.1.120 -j ACCEPT
# 追加一条规则,解决访问192.168.1.120
iptables -A INPUT -s 192.168.1.120 -j REJECT

# 查询信息
# 查看指定nat表,默认不加 -t 就是指filter表
iptables -t nat -L
# 查看指定raw表
iptables -t raw -L
# 列出INPUT链的详细信息
iptables -vL INPUT

# 规则删除
# 删除第2条规则
iptables -D INPUT 2

# 设置默认规则
# 将nat表的INPUT来拿的默认策略设置为ACCEPT
iptables -t nat -P INPUT ACCEPT
1 . 3 .4 匹配条件

匹配条件分为三种:通用匹配隐含匹配显示匹配

1)通用匹配

独立使用,可以直接使用。

匹配方式参数
协议匹配-p 协议名 {all | tcp | udp | icmp}
地址匹配-s 源地址
-d 目的地址
接口匹配-i 入站网卡
-o 出站网卡

例子:

# 允许所有的TCP协议进入
iptables -A INPUT -p tcp -j ACCEPT
# 开启ssh 22端口
iptables -A INPUT -p tcp --dport ACCEPT

2)隐含匹配

要求以特定的协议匹配为前提。

匹配方式选项
端口匹配–sport 源端口
–dport 目的端口
TCP匹配–tcp-flags 检查范围 被设置的标记
ICMP匹配–icmp-type ICMP类型

例子:

# 允许外部主机ping内部主机
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

3)显示匹配

要求以"-m 扩展模块"的形式指出类型。

匹配方式选项
多端口匹配-m multiport --sport 源端口列表
-m multiport --drort 目的端口列表
IP 范围匹配-m iprange --src-range IP范围
MAC 地址匹配-m mac --mac-source MAC地址
连接状态匹配-m state --state 连接状态

例子:

# 允许22、80端口进入并开启ssh协议
iptables -I INPUT -p ssh -m multiport --dport 22,80 -j ACCEPT
1 . 3 .5 规则备份还原

导出备份规则:

iptables-save > /opt/iprules_all.txt

导入还原备份规则:

iptables-restore < /opt/iprules_all.txt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1963996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

扩散模型系列ControlNet: Adding Conditional Control to Text-to-Image Diffusion Models

向文本到图像扩散模型添加条件控制 摘要解读&#xff1a; 我对摘要英文的理解&#xff1a; 我们提出了一个神经网络架构ControlNet&#xff0c;可以向大规模的预训练好的文本到图像的扩散模型中添加空间条件控制。ControlNet锁住了准备生产的大规模扩散模型&#xff0c;并且重…

SLAM特征提取新变革:神经符号学结合自适应优化,实现环境适应性大飞跃!

论文标题&#xff1a; A Neurosymbolic Approach to Adaptive Feature Extraction in SLAM 论文作者&#xff1a; Yasra Chandio, Momin A. Khan, Khotso Selialia, Luis Garcia, Joseph DeGol, Fatima M. Anwar 导读&#xff1a; 本研究提出了一种创新的神经符号学方法&a…

Mybatis进阶提升-(一)Mybatis入门

前言 Mybatis是Java 项目开发使用率非常高的一款持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff08…

python+selenium+unittest自动化测试框架

前言 关于自动化测试的介绍&#xff0c;网上已有很多资料&#xff0c;这里不再赘述&#xff0c;UI自动化测试是自动化测试的一种&#xff0c;也是测试金字塔最上面的一层&#xff0c;selenium是应用于web的自动化测试工具&#xff0c;支持多平台、多浏览器、多语言来实现自动化…

【实战】SpringBoot整合ffmpeg实现动态拉流转推

SpringBoot整合ffmpeg实现动态拉流转推 在最近的开发中&#xff0c;遇到一个 rtsp 协议的视频流&#xff0c;前端vue并不能直接播放&#xff0c;因此需要对流进行处理。在网上查阅后&#xff0c;ffmpeg和webrtc是最多的解决方案&#xff0c;但是使用webrtc的时候没成功&#x…

交通 | 不确定条件下旅行者路径选择的K阶均值偏差模型

摘要 现实世界中的交通网络通常具有随机特性&#xff0c;旅行时间可靠性自然成为影响旅行者路线选择的关键因素。在这种情况下&#xff0c;仅凭平均路径旅行时间可能无法充分代表路径对旅行者的吸引力&#xff0c;本研究引入了 k k k 阶均值偏差模型&#xff0c;用于优化大型…

紫辉创投开启Destiny of Gods首轮投资,伯乐与千里马的故事仍在继续

近日&#xff0c;上海紫辉创业投资有限公司&#xff08;以下简称“紫辉创投”&#xff09;宣布开启GameFi链游聚合平台Destiny of Gods首轮投资500,000美金&#xff0c;并与其达成全面战略及业务层合作&#xff0c;双方将协同布局链上生态&#xff0c;共同推动链游行业健康发展…

研究人员可以采用什么策略来批判性地评估和综合其领域的不同文献

VersaBot Literature Review 一键生成文献综述 研究人员可以采用各种策略来批判性地评估和综合其领域内的不同文献&#xff1b; 评估策略 审查方法论&#xff1a; 分析每个来源中使用的研究设计、样本选择、数据收集和分析方法。考虑每种方法的潜在偏见、局限性和优势。评估…

宝通科技携手昇腾技术首席陈仲铭,共探工业大模型与生态发展

在人工智能技术的浪潮中&#xff0c;宝通科技始终致力于探索和应用前沿技术&#xff0c;推动工业智能化的发展。7月26日&#xff0c;宝通科技特邀昇腾生态技术首席陈仲铭博士&#xff0c;为宝通员工带来了一场主题为《工业大模型与业界发展生态》的技术分享会。本次分享会不仅为…

从CNN到Transformer:基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类教程

原文链接&#xff1a;从CNN到Transformer&#xff1a;基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247610610&idx5&snf973c3e430c89d6123ca8f4892086c55&chksmfa8271…

nameparser,一个强大的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个强大的 Python 库 - nameparser。 Github地址&#xff1a;https://github.com/derek73/python-nameparser 在处理用户数据时&#xff0c;尤其是涉及到用户姓名的场景下&am…

最佳需求管理工具:2024年10大主流工具

本文将分享2024年排名靠前的10款需求管理工具&#xff1a;PingCode、Worktile、Teambition、TAPD、禅道、明道云、CODING、Jama Connect、Jira、Codebeamer。 在选择需求管理工具时&#xff0c;你是否感到不知从何下手&#xff1f;面对市场上数不清的选项&#xff0c;确定哪一款…

远程办公访问优化指南:如何打造高效企业组网

当今数字化时代&#xff0c;远程办公已成为许多企业不可或缺的工作模式。面对地理位置分散、网络环境复杂等挑战&#xff0c;如何打造高效、稳定、安全的企业组网&#xff0c;成为企业IT部门亟需解决的问题。本文将为您提供一份远程办公访问优化指南&#xff0c;帮助您构建高效…

坐牢二十天 20240731(IO)

一.作业 1> 使用父子进程完成两个文件的拷贝 父进程拷贝前一半内容&#xff0c;子进程拷贝后一半内容 子进程结束后退出&#xff0c;父进程回收子进程的资源 #include <myhead.h> //定义求源文件长度的函数 int lenmain(const char *src,const char *dst) {int fd…

各类基于虚拟主机的应用及上线商城系统

一、基于域名访问 查看没有空行&#xff0c;没有注释的文件内容 [rootweb ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf [rootweb ~]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak [rootweb ~]# grep -Ev "#|^$"…

temu插件丨temu插件下载免费体验-特喵数据

在当今这个日新月异的电商时代&#xff0c;每一个细微的洞察都可能是商家决胜千里的关键。随着跨境电商平台的蓬勃兴起&#xff0c;Temu作为一股不可忽视的新兴力量&#xff0c;正以其独特的模式和强大的数据分析能力&#xff0c;引领着行业的新风尚。接下来看看让您的Temu店铺…

解决TensorFlow非法指令 (核心已转储)问题

背景 测试环境使用TensorFlow 1.14.0运行实体抽取和事项要素项目正常&#xff0c;打包项目和miniconda3环境进行部署&#xff0c;进行predict时报错。然后使用dockerfile生成环境镜像进行部署&#xff0c;发现仍报错。最后查资料解决该问题。 Using TensorFlow backend. 非法指…

《CSS创意项目实战指南》:点亮网页,从实战中掌握CSS的无限创意

CSS创意项目实战指南 在数字时代&#xff0c;网页不仅是信息的载体&#xff0c;更是艺术与技术的融合体。通过CSS&#xff0c;你可以将平凡的网页转变为引人入胜的视觉盛宴&#xff0c;让用户体验跃升至全新高度。《CSS创意项目实战指南》正是这样一本引领你探索CSS无限可能的…

【全志H616开发】SQLite打开/创建数据库的C接口

文章目录 打开/创建数据库的C接口函数介绍sqlite3_open函数sqlite3_close函数sqlite3_errmsg函数 代码示例 打开/创建数据库的C接口函数介绍 sqlite3_open函数 sqlite3_open 是 SQLite 数据库库中的一个函数&#xff0c;用于打开一个新的数据库连接。如果指定的数据库文件不存…

大厂linux面试题攻略一之网络基础

一、网络基础类面试题 1.简述ISO/OSI七层模型&#xff08;理论模型&#xff09;的分层与作用 ISO&#xff1a;国际标准化组织 OSI&#xff1a;开放系统互联 第7层应用层&#xff1a;为用户提供服务&#xff0c;给用户一个操作界面 第6层表示层&#xff1a;数据提供表示、加密…