iptables系列教程(一)| iptables入门篇
一个执着于技术的公众号
前言
在早期的 Linux 系统中,默认使用的是 iptables
配置防火墙。尽管新型
的 firewalld
防火墙已经被投入使用多年,但是大量的企业在生产环境中依然出于各种原因而继续使用 iptables。考虑到 iptables 在当前生产环境中还具有顽强的生命力,我觉得还是有必要再好好地讲解一下这项技术。
iptables 简介
1、什么是iptables?
iptables 是 Linux 防火墙工作在用户空间的管理工具,是 netfilter/iptables
IP 信息包过滤系统是一部分,用来设置、维护和检查 Linux 内核的 IP 数据包过滤规则。
2、iptables特点
iptables 是基于内核的防火墙,功能非常强大;iptables
内置了filter
,nat
和mangle
三张表。所有规则配置后,立即生效,不需要重启服务。
iptables 组成
iptables的结构是由表(tables)组成,而tables是由链组成,链又是由具体的规则组成。因此我们在编写iptables规则时,要先指定表,再指定链。tables的作用是区分不同功能的规则,并且存储这些规则。
注意:
raw表
:用于处理异常,包括的规则链有:prerouting,output;一般使用不到。
总体说来,iptables是由“三表五链
”组成。
1、三张表介绍:
filter
负责过滤数据包,包括的规则链有:input
,output
和forward
nat
用于网络地址转换(IP、端口),包括的规则链有:prerouting
,postrouting
和 output
mangle
主要应用在修改数据包、流量整形、给数据包打标识,默认的规则链有:INPUT
,OUTPUT
、 forward
,POSTROUTING
,PREROUTING
优先级:mangle > nat > filter
2、五条链:
input
匹配目标IP是本机的数据包
output
出口数据包 , 一般不在此链上做配置
forward
匹配流经本机的数据包
prerouting
修改目的地址,用来做 DNAT 。如:把内网中的 80 端口映射到互联网端口
postrouting
修改源地址,用来做 SNAT。如:局域网共享一个公网IP接入Internet。
iptables 处理数据包流程:
当一个数据包进入网卡时,它首先进入
PREROUTING
链,内核根据数据包目的 IP 判断是否需要转送出去。如果数据包就是进入本机的,它就会沿着图向下移动,到达
INPUT
链。数据包到了 INPUT 链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过
OUTPUT
链,然后到达POSTROUTING
链输出。如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过
FORWARD
链,然后到达POSTROUTING
链输出。
总结:整体数据包分两类:1、发给防火墙本身的数据包 ;2、需要经过防火墙的数据包
iptables 安装
1、关闭 firewall
systemctl stop firewalld //关闭firewalld服务
systemctl disable firewalld //禁止firewalld开机自启动
2、安装 iptables
yum -y install iptables-services
3、启动服务
systemctl start iptables //启动iptables
systemctl start iptables //设置iptables开机自启动
4、配置文件位置
[root@LB-01 ~]# ll /etc/sysconfig/iptables
-rw------- 1 root root 1027 May 12 18:40 /etc/sysconfig/iptables
最后给大家看下iptables配置实例:
小朋友你是否有很多问号
今天只是 iptables 入门篇,下个章节再为大家详细介绍iptables语法规则及企业实战案例。相信看完明天教程,多加练习后您不仅能看懂上面的配置实例,还可以利用iptables打造出铜墙铁壁级服务器~
结语
如果您觉得看完本文后有所收获, 还希望您随手帮忙点个在看
、或者分享转发
。您的支持是我坚持分享的最大动力!
往期精彩
iptables系列教程(一)| iptables入门篇的更多相关文章
- 【Python3.6+Django2.0+Xadmin2.0系列教程之三(入门篇-下)】学生信息管理系统
上一篇我们已经初步的构建起了一个学生管理系统的模型,现在接着来继续完善它吧. 1.上传图片/文件等资源 有时候需要添加一些附件,例如,新生刚入学,大家相互之间还不熟悉,希望能通过照片来加深印象,并且方 ...
- iptables系列教程(三)| iptables 实战篇
一个执着于技术的公众号 实战1 服务器禁止ping iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP // 禁止任何人ping通本机 &qu ...
- iptables系列教程(二)| iptables语法规则
一个执着于技术的公众号 iptables 命令基本语法 " iptables [-t table] command [链名] [条件匹配] [-j 目标动作] 以下是对 iptables 命 ...
- ABP框架搭建项目系列教程基础版完结篇
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...
- Dubbo3 源码系列 Dubbo“纠葛”(入门篇)
日期 更新说明 2022年5月28日 spring xml部分解读 2022年6月3日 spring annotation部分解读 人生不相见, 动如参与商. 今夕复何夕, 共此灯烛光. 少壮能几时, ...
- InfluxDB学习系列教程,InfluxDB入门必备教程
nfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统. 本文是一系列InfluxDB学习教程的目录,现主 ...
- HelloDjango 系列教程:第 04 篇:Django 迁移、操作数据库
文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们已经编写了博客数据库模型的代码,但那还只是 Python 代码而已,django 还没有把它翻译成数据库语言,因此实际上这 ...
- Python 基础教程 —— 网络爬虫入门篇
前言 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言,它由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年.自面世以后,Pytho ...
- MVC自学系列之一(MVC入门篇)
MVC是如何适用于ASP.NET中的 自从2002年ASP.NET 1.0版本的首次发布,就知道ASP.NET和Web Forms是同样一回事.ASP.NET由抽象两层类所支持: -->Sy ...
随机推荐
- 使用SpringDataJdbc的@Query注解实现自动映射结果集 ----- RowMapper接口
使用@Query注解的时候,常常需要写sql来映射非域类的实例,通常的做法就是 实现 RowMapper接口,然后new实例一个一个的设置值进去...为此.出世了自动映射工具类 注意事项:此抽象类只是 ...
- @Autowired 注解有什么用?
@Autowired 可以更准确地控制应该在何处以及如何进行自动装配.此注解用于在 setter 方法,构造函数,具有任意名称或多个参数的属性或方法上自动装配bean.默认情况下,它是类型驱动的注入. ...
- Shiro快速使用
INI的文件的介绍:https://baike.baidu.com/item/ini%E6%96%87%E4%BB%B6/9718973?fr=aladdin Shiro的INI配置文件:http:/ ...
- 学习Keepalived(三)
1.1Keepalived高可用软件 Keepalived起初是专为LVS设计的,专门用来监控LVS集群系统中各个服务节点的状态,后来又加入了VRRP的功能,因此除了配合LVS服务外,也可以作为其他服 ...
- 6_稳定性_李雅普诺夫_Lyapunov
李雅普诺夫方法参考
- css布局中左侧固定右侧自适应
float 单一层浮动法左侧固定成100px; 则核心代码 左侧:width:100px;float:left; 右侧 width:auto;margin-left:100px;绝大浏览器是没有任何问 ...
- C# 将Excel转为PDF时设置内容适应页面宽度
将Excel转为PDF格式时,通常情况下转换出来的PDF页面都是默认的宽度大小:如果Excel表格数据的设计或布局比较宽或者数据内较少的情况,转出来的PDF要么会将原本的一个表格分割显示在两个页面,或 ...
- mapreduce分区
本次分区是采用项目垃圾分类的csv文件,按照小于4的分为一个文件,大于等于4的分为一个文件 源代码: PartitionMapper.java: package cn.idcast.partition ...
- 什么是静态内部(Static Inner)类,语法要注意什么?
4静态内部类(Static Inner Classes) 马克-to-win:这里的内部类的static,意思是它可以不用实例化外部类,就自己单独被实例化,单独存在(有点像生活中的办公室和办公桌(独立 ...
- 【每日日报】第五十三天---安装My SQL
1 2今天安装了My SQL并学习了一些基础的命令 mysql下载及安装教程 2 没有成功安装SQL Server,误删了一些文件 3 明天继续看视频 ------------------------ ...