首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iptables系列教程(一)| iptables入门篇

iptables系列教程(一)| iptables入门篇

原创
作者头像
开源Linux
修改于 2020-05-13 07:15:09
修改于 2020-05-13 07:15:09
3.4K0
举报
文章被收录于专栏:开源Linux开源Linux

前言

在早期的 Linux 系统中,默认使用的是 iptables 配置防火墙。尽管新型

firewalld 防火墙已经被投入使用多年,但是大量的企业在生产环境中依然出于各种原因而继续使用 iptables。考虑到 iptables 在当前生产环境中还具有顽强的生命力,我觉得还是有必要再好好地讲解一下这项技术。

iptables 简介

1、什么是iptables?

iptables 是 Linux 防火墙工作在用户空间的管理工具,是 netfilter/iptablesIP 信息包过滤系统是一部分,用来设置、维护和检查 Linux 内核的 IP 数据包过滤规则。

2、iptables特点

iptables 是基于内核的防火墙,功能非常强大;iptables

内置了filternatmangle三张表。所有规则配置后,立即生效,不需要重启服务。

iptables 组成

iptables的结构是由表(tables)组成,而tables是由链组成,链又是由具体的规则组成。因此我们在编写iptables规则时,要先指定表,再指定链。tables的作用是区分不同功能的规则,并且存储这些规则。

注意:raw表:用于处理异常,包括的规则链有:prerouting,output; 一般使用不到。

总体说来,iptables是由“三表五链”组成。

1、三张表介绍:

  • filter

负责过滤数据包,包括的规则链有:inputoutputforward

  • nat

用于网络地址转换(IP、端口),包括的规则链有:preroutingpostroutingoutput

  • mangle

主要应用在修改数据包、流量整形、给数据包打标识,默认的规则链有:

INPUTOUTPUTforwardPOSTROUTINGPREROUTING

优先级:mangle > nat > filter

2、五条链:

  • input

匹配目标IP是本机的数据包

  • output

出口数据包 , 一般不在此链上做配置

  • forward

匹配流经本机的数据包

  • prerouting

修改目的地址,用来做 DNAT 。如:把内网中的 80 端口映射到互联网端口

  • postrouting

修改源地址,用来做 SNAT。 如:局域网共享一个公网IP接入Internet。

iptables 处理数据包流程:

  1. 当一个数据包进入网卡时,它首先进入 PREROUTING 链,内核根据数据包目的 IP 判断是否需要转送出去。
  2. 如果数据包就是进入本机的,它就会沿着图向下移动,到达 INPUT 链。数据包到了 INPUT 链后,任何进程都会收到它。
  3. 本机上运行的程序可以发送数据包,这些数据包会经过 OUTPUT 链,然后到达POSTROUTING 链输出。
  4. 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过 FORWARD 链,然后到达 POSTROUTING 链输出。

总结: 整体数据包分两类: 1、发给防火墙本身的数据包 ;2、需要经过防火墙的数据包

iptables 安装

1、关闭 firewall

代码语言:txt
AI代码解释
复制
systemctl stop firewalld //关闭firewalld服务
systemctl disable firewalld //禁止firewalld开机自启动

2、安装 iptables

代码语言:txt
AI代码解释
复制
yum -y install iptables-services

3、启动服务

代码语言:txt
AI代码解释
复制
systemctl start iptables //启动iptables
systemctl start iptables //设置iptables开机自启动

4、配置文件位置

代码语言:txt
AI代码解释
复制
[root@LB-01 ~]# ll /etc/sysconfig/iptables
-rw------- 1 root root 1027 May 12 18:40 /etc/sysconfig/iptables

最后给大家看下iptables配置实例:

小朋友你是否有很多问号

今天只是 iptables 入门篇,下个章节再为大家详细介绍iptables语法规则及企业实战案例。相信看完明天教程,多加练习后您不仅能看懂上面的配置实例,还可以利用iptables打造出铜墙铁壁级服务器~

结语

公众号『开源Linux』,专注分享Linux/Unix相关内容,包括Linux运维、Linux系统开发、网络编程、以及虚拟化云计算等技术干货。后台回复『学习』,送你一套学习Linux的系列书籍,期待与你相遇。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python编程实验一:流程控制结构
(1)通过本次实验,学生应掌握多分支语句 if …elif…else结构的用法; (2)掌握循环语句for、while结构的用法以及跳转语句continue、break的应用; (3)能应用print()函数和字符串的format方法控制输出内容的格式; (4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果)
Francek Chen
2025/01/22
1350
Python编程实验一:流程控制结构
一文读懂Python生成器和迭代器
在python中,我们经常会遇到需要对一系列的元素进行遍历或处理的情况,例如对列表中的每个元素进行求和或排序,或者对文件中的每一行进行读取或写入。为了实现这样的功能,我们通常会使用for循环或while循环来逐个获取元素,并进行相应的操作。例如:
Echo_Wish
2023/11/30
3020
Python进阶篇
大家好,我是易安!今天我们继续Python的学习,内容稍微有些多,不过我会尽可能举一些例子让你理解。
架构狂人
2023/08/16
1.1K0
Python进阶篇
【敬初学者】Python基础学完了,该怎么知道自己学的怎么样呢?十个经典实战小项目附源码
初学者要想成功,一句话,大量的实操,大量的练,乍一看我的这个答案似乎有点敷衍,但是这确实是我接触Python以来,总结出的最有价值的经验,接下来分享我自己初学时用来练手的经典实战小项目,适合初学者敲的代码。
全栈程序员站长
2022/08/31
4980
【敬初学者】Python基础学完了,该怎么知道自己学的怎么样呢?十个经典实战小项目附源码
python快速入门【二】----常见的数据结构
字典是将键(key)映射到值(value)的无序数据结构。值可以是任何值(列表,函数,字符串,任何东西)。键(key)必须是不可变的,例如,数字,字符串或元组。
汀丶人工智能
2022/12/01
1.1K0
Python数据结构与算法优化技巧:提高性能和效率的实用指南
Python是一种强大而灵活的编程语言,它提供了丰富的数据结构和算法库,但是在处理大规模数据或者需要高效运行的情况下,需要考虑一些优化技巧。本文将介绍一些Python中常用的数据结构与算法优化技巧,并附带代码实例,帮助你更好地理解和运用。
一键难忘
2024/08/13
5061
系统补白:流畅的python(1)
初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
一粒小麦
2019/07/18
8470
系统补白:流畅的python(1)
Python指南:控制结构与函数
Python通过if语句实现了分支,通过while语句与for…in语句实现了循环,还有一种通过if实现的条件表达式(类似于C语言的三目运算符)。
王强
2018/08/09
1.1K0
Python指南:控制结构与函数
Python流程控制:从条件语句到循环结构的完整指南
流程控制是编程中的核心概念,它允许我们根据条件执行不同的操作,以及重复执行特定的任务。Python提供了强大而灵活的流程控制工具,本文将深入探讨Python的条件语句、循环结构以及相关技术,帮助你更好地掌握流程控制。
海拥
2023/09/19
5550
Python流程控制:从条件语句到循环结构的完整指南
十分钟入门 Python 教程
去年和 amile 童鞋定了个小目标,决定带着点兴趣和热情,顺着全民学 Python 的热潮,随波逐流。奈何二零二零年是真的魔幻,唉,生活有你读不懂的诗,还有到不了的远方,我把那一年的辛酸过往,阉割成了一首诗。“生活似一杯苦茶,往事如逝水一般,邂逅一缕禅香,无数个赤夜里,抬头望见新月,繁星点点。“,好像还可以再阉割下,就变成了“苦茶,逝水,禅香,赤夜,新月,繁星”六个意象。而今,挤挤时间把这件事进行下去吧。。。。。。
江涛学编程
2021/01/28
7330
十分钟入门 Python 教程
不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...
pandas提供了很多方便简洁的方法,用于对单列、多列数据进行批量运算或分组聚合运算,熟悉这些方法后可极大地提升数据分析的效率,也会使得你的代码更加地优雅简洁。
超哥的杂货铺
2020/02/24
5.6K0
不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...
Python 数据分析(PYDA)第三版(一)
第 3 版的《Python 数据分析》现在作为“开放获取”HTML 版本在此网站wesmckinney.com/book上提供,除了通常的印刷和电子书格式。该版本最初于 2022 年 8 月出版,将在未来几个月和年份内定期修正勘误。如果您发现任何勘误,请在此处报告。
ApacheCN_飞龙
2024/05/24
2700
Python 数据分析(PYDA)第三版(一)
【利用Python进行数据分析】3-Python的数据结构、函数和文件
元组是一个固定长度,不可改变的Python序列对象,创建元组的最简单方式,是用逗号分隔一列值。当用复杂的表达式定义元组,最好将值放到圆括号内。
用户7886150
2020/12/24
9610
大数据技术之_24_电影推荐系统项目_02_Python 基础语法复习
第六章 Python 基础语法 6.1 Python 综述 6.1.1 Python 是什么   Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。   Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。   ython 是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于 PHP 和 Perl 语言。   Python 是交互式语言:这意味着,我们可以在一个 Python 提示符后面直接
黑泽君
2019/05/17
2.5K0
干货收藏!Python完整代码带你一文看懂抽样
导读:抽样是从整体样本中通过一定的方法选择一部分样本。抽样是数据处理的基本步骤之一,也是科学实验、质量检验、社会调查普遍采用的一种经济有效的工作和研究方法。
IT阅读排行榜
2019/09/26
2.1K0
干货收藏!Python完整代码带你一文看懂抽样
《利用Python进行数据分析·第3版》学习笔记2·Python语法基础
运行Python解释器很便捷,在终端里输入python就进入了Python解释器。如果要输出文本“Hello world”,则使用print语句print("Hello world")。
SeanCheney
2023/11/27
5630
《利用Python进行数据分析·第3版》学习笔记2·Python语法基础
Python全网最全基础课程笔记(六)——循环结构
count变量在每次循环开始时被检查。只要count小于5,循环就会继续执行。每次循环结束时,count的值都会增加1,直到它不再小于5,循环结束。
小白的大数据之旅
2024/11/20
8480
Python全网最全基础课程笔记(六)——循环结构
非计算机专业《Python程序设计基础》教学参考大纲
通过本课程的学习,使得学生能够理解Python的编程模式(命令式编程、函数式编程),熟练运用Python运算符、内置函数以及列表、元组、字典、集合等基本数据类型和相关列表推导式、切片等特性来解决实际问题,熟练掌握Python分支结构、循环结构、函数设计以及类的设计与使用,熟练使用字符串方法,适当了解正则表达式,熟练使用Python读写文本文件,适当了解二进制文件操作,了解Python程序的调试方法,了解Python面向对象程序设计模式,掌握使用Python操作SQLite数据库的方法,掌握Python+pandas进行数据处理的基本用法,掌握使用Python+matplotlib进行数据可视化的用法,同时还应培养学生的代码优化与安全编程意识。
Python小屋屋主
2018/07/23
1.5K0
Python 基础知识点归纳
Python 是一种跨平台的计算机程序设计语言,是一种面向对象的动态类型语言,笔记内容包括编译安装python,python列表,字典,元组,文件操作等命令的基本使用技巧。
王 瑞
2022/12/28
1.6K0
干货收藏!一文看懂8个常用Python库从安装到应用
导读:Python本身的数据分析功能并不强,需要安装一些第三方扩展库来增强其相应的功能。本文将对NumPy、SciPy、Matplotlib、pandas、StatsModels、scikit-learn、Keras、Gensim等库的安装和使用进行简单的介绍。
IT阅读排行榜
2020/03/24
2K0
干货收藏!一文看懂8个常用Python库从安装到应用
推荐阅读
相关推荐
Python编程实验一:流程控制结构
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入架构与运维学习入门群
系统架构设计入门 运维体系构建指南
加入架构与运维工作实战群
高并发系统设计 运维自动化实践
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档