Linux系统中的火墙策略——firewalld、iptables
文章目录
- 一、基本介绍
- 二、火墙管理工具切换
- 1. firewalld切换为iptablds
- 2. iptables切换为firewalld
- 三、iptables的使用
- 四、火墙默认策略
- 1. 默认策略中的5条链
- 2. 默认的3张表
- 3. iptables命令
- 4. 数据包状态
- 五、nat表中的SNAT和DNAT
- 1. SNAT
- 2. DNAT
一、基本介绍
- 防火墙是整个数据包进入主机前的第一道关卡。是一种位于内部网络与外部网络之间的网络安全系统,是一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙主要通过Netfilter机制来管理的。
- 管理方式:firewalld和iptables
二、火墙管理工具切换
在RHEL8中默认使用的是firewalld
1. firewalld切换为iptablds
(1)安装ipables服务:dnf install iptables-services.x86_64 -y
(2)设定停止,开启不启动,冻结firewalld:systemctl stop firewalld;systemctl disable firewalld;systemctl mask firewalld
(3)设定开启iptables:systemctl enable --now iptables.service
2. iptables切换为firewalld
(1)设定停止、开机不启动、冻结iptables:systemctl stop iptables;systemctl disable iptables;systemctl mask iptables
(2)启动firewalld:systemctl enable --now firewalld
三、iptables的使用
- iptables策略记录文件:/etc/sysconfig/iptables
2. 永久保存策略:iptables-save > /etc/sysconfig/iptables或者service iptables save
当火墙策略更改后,可采用命令永久保存,防止重启服务后更改的策略失效.
四、火墙默认策略
1. 默认策略中的5条链
简单理解“链”就是表格中的字段
链 | 含义 |
---|---|
input | 输入 |
output | 输出 |
forward | 转发 |
postrouting | 路由之后 |
prerouting | 路由之前 |
2. 默认的3张表
可使用命令man iptables查看
(1)filter: 经过本机内核的数据(input、output、forward)
(2)nat: 不经过内核的数据(postrouting、prerouting、input、output)
(3)mangle: 当filter和nat表不够用时使用(input、output、forward、postrouting、prerouting)
3. iptables命令
参数 | 作用 |
---|---|
-t | 指定表名称 |
-n | 不做解析 |
-L | 查看 |
-A | 添加策略 |
-p | 协议 |
- -dport | 目的地端口 |
-s | 来源 |
-j | 动作 |
-j ACCEPT | 允许 |
-j DROP | 丢弃 |
-j REJECT | 拒绝 |
-j SNAT | 源地址转换 |
-j DNAT | 目的地地址转换 |
-N | 新建链 |
-E | 更改链名称 |
-X | 删除链 |
-D | 删除规则 |
-I | 插入规则 |
-R | 更改规则 |
-P | 更改默认规则(不能更改为REJECT) |
(1)查看表信息:
(2)关于策略读取规则:
火墙中的策略读取是从上到下,当所读取到的策略和当前的资源达到的匹配的程度,就执行当前的策略。
尽管后面再有可读取的策略,也不读取了。策略读取并不是从上到下以此读取所有。
想要读取策略2可以使用插入规则,让策略2范围小的先读取。
(3)只允许192.168.1.105主机进行ssh服务:iptables -I INPUT -s 192.168.1.105 -p tcp --dport 22 -j ACCEPT
(4)默认策略是ACCEPT,如果想要更改可以使用-P,但注意-P后面不能指定为REJECT,只能跟ACCEPT或者DROP
(5)对链的操作命令:
4. 数据包状态
- 为什么要进行数据包的状态转变: 为了解决掉在传输数据包时由于火墙策略所导致的的延迟问题。可以让检测过的数据包再次传输时直接通过火墙策略。
- 数据包的三种状态:
状态 | 含义 |
---|---|
RELATED | 建立过连接的 |
ESTABLISHED | 正在连接的 |
NEW | 新的 |
- 添加火墙策略时写入数据包状态的命令:
(1)对于建立过的数据包添加火墙策略设定为允许:iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
(2)设定本机的回环接口允许新的数据包: iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
(3)对于新的指定服务的数据包添加火墙策略设定为允许:
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
(4)添加火墙策略,设定只有指定IP不可进行剩余所有主机都可以进行的服务:
iptables -A INPUT -m state --state NEW ! -s 192.168.1.105 -p tcp --dport 22 -j ACCEPT
(5)对于剩余其他新的数据包添加火墙策略设定为允许:iptables -A INPUT -m state --state NEW -j ACCEPT
五、nat表中的SNAT和DNAT
双网卡主机IP:192.168.1.104;172.25.254.104
单网卡主机IP:172.25.254.4
第三方主机IP:192.168.1.109(确保是正在使用的主机)
1. SNAT
SNAT:内核路由之后做的源地址转换
实验目的:可以让单网卡主机(172网段)连接到与自身不同网段(192网段)的主机
操作步骤:在双网卡主机中,确保路由地址伪装功能开启的前提下,执行命令添加火墙策略,将通过从双网卡主机的网卡ens160(192网段)出去的的数据伪装成相同的网段(192网段)
执行命令:iptables -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.1.104
注意一点:在测试时,要确保第三方主机网络通畅。
(1)在双网卡主机上测试第三方主机IP
(2)在单网卡主机上添加网关【172.168.1.104】,却还是ping不通第三方主机
(3)在双网卡主机上添加火墙策略:iptables -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.1.104
在路由之后做的动作是将从双网卡主机上的ens160网卡出去的数据做源地址转换,把源头转换为192.168.1.104。
(4)此时在单网卡主机上ping192网段,可以ping通
相当于就是IP为192.168.1.104的主机ping连接IP为192.168.1.109的主机。将源地址IP172.25.254.4转换为192.168.1.104
2. DNAT
DNAT:路由之前做的目的地地址转换
类似于SNAT
将从双网卡主机的ens160网卡进来的数据全部伪装成172.25.254网段
执行命令:iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.4
测试:
Linux系统中的火墙策略——firewalld、iptables相关推荐
- Linux中的火墙策略优化(iptables,firewalld)
一.火墙介绍 1.netfilter 2.iptables 3.iptables | firewalld 二.火墙管理工具切换 在rhel8中默认使用的是firewalldfirewalld----- ...
- 如何进行Linux中的火墙策略设计优化
Linux中的火墙策略设计 一.关于火墙的基础知识 1.火墙介绍 2.火墙管理工具切换 二.iptables 1. iptables 的使用 2.火墙默认策略 三.firewalld 1.关于fire ...
- Linux系统中的防火墙的实现:iptables/netfilter
防火墙:包括软件防火墙(基于iptables/netfilter的包过滤防火墙)和硬件防火墙,在主机或网络边缘对经由防火墙的报文以一定条件进行检测过滤的一系列组件. Linux系统中的防火墙的实现: ...
- 详细总结Linux中的火墙策略优化
文章目录 前言 一.火墙介绍 二.火墙管理工具切换 三.iptables 1.火墙策略的永久保存 2.火墙默认策略 (1)iptables命令 (2)filter 表 (3)nat表 四.firewa ...
- 第七章 LINUX中的火墙策略
火墙管理工具切换 firewalld----->iptables dnf install iptables-services -y systemctl stop firewalld system ...
- Linux中的火墙策略
1.火墙介绍 netfilter iptables iptables | firewalld 这个两个工具是用来管理火墙的 dnf install iptables-services -y 安装ip ...
- LINUX学习------3.6 Linux中的火墙策略优化
3.6.1 火墙介绍和火墙管理工具切换 1.netfilter 2.1iptables 2.2firewalld 2.1和2.2 都是为1服务 两者不可共存,有功能上的优劣 firewalld---- ...
- linux防火墙文件路径,防火墙问题 Linux系统 /etc/sysconfig/路径下无iptables文件
虚拟机新装了一个CentOs7,然后做防火墙配置的时候找不到iptables文件,解决方法如下: 因为默认使用的是firewall作为防火墙,把他停掉装个iptable systemctl stop ...
- linux下开放sftp端口,如何在 Linux 系统中如何更改 SFTP 端口
如何在 Linux 系统中如何更改 SFTP 端口 SFTP(SSH文件传输协议)是一种安全文件协议,用于通过加密连接在两个主机之间传输文件. 它还允许您对远程文件执行各种文件操作并恢复文件传输. S ...
最新文章
- CSS那些事笔记(一入门)
- lvm讲解 磁盘故障小案例
- fedora yum Another app is currently holding the yum lock
- flink的table/sql api的多种写法汇总
- shopxo 二次开发:设置(后台登录页)背景图
- day20 Python 高阶函数,函数,嵌套,闭包 装饰器
- Github-推送代码报错“error:RPC failed;curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL,errno 10054”解决方案
- mysql 把一列转多行_Oralce 按分隔符把一列转成多行
- 矩阵分解:奇异值分解(SVD)详解
- java集合复习笔记-java集合继承关系图
- 吃一堑长一智,作为程序员的我们记住这几点,2021年Android开发实战
- linux镜像下载和vmware虚拟主机部署
- 电力监控系统的研究与应用
- Android截图命令screencap
- Findbugs异常总汇
- selenium提示geckodriver‘ execut解决办法
- Vue的diff算法原理是什么?
- 如何搭建自己的网站别人可以直接访问
- 汽车4G车载TBOX智能信息终端
- 京东商品详情接口,京东详情页接口,宝贝详情页接口,商品属性接口,商品信息查询,商品详细信息接口,h5详情,京东APP详情,京东api接口,京东历史价格数据接口代码对接分享
热门文章
- CF845 A - B
- [ STK ](九)改变 3D 视图的背景颜色,设置卫星轨道的颜色,导出 3D 视图
- 软件魔方制作系统启动盘并安装win10系统
- 大数据课程——Storm综合应用
- EPC合同风险审核的若干重点问题
- 测控技术与仪器是计算机相关的,有关测控技术与仪器专业
- 【论文分享】Effective Seed Scheduling for Fuzzing with Graph Centrality Analysis
- 数据结构与算法课程设计——C语言《职员薪资查询系统》
- php 新闻分页,php原生开发新闻站之新闻列表分页
- 《项目管理总结报告》编写指南