防火墙(iptables与firewalld)
防火墙
iptables
疏通和堵
进行路由选择前处理的数据包:prerouting
处理流入的数据包:input
处理流出的数据包:output
处理转发的数据包:forward
进行路由选择后处理的数据包:POSTROUTING
允许, 拒绝, 允许流入进行日志登记,不理睬
ACCEPT,REJECT, LOG, DROP
iptables
-P 设置默认策略
-F 清空规则链
-L 查看规则链
-I 在规则链的头部加入新规则
-A 在规则链的末尾加入新规则
==================================
-j 用来指定要'进行的处理动作
-s 匹配来源地址
-d 匹配目标地址
-i 匹配从这块网卡流入的数据
-o 匹配从这块网卡流出的数据
-p 接协议—匹配协议(TCP/UDP/ICMP)
-dport 匹配目标端口
-sport 匹配来源端口
保存iptables配置
iptbales-PINPUT DROP 白名单
iptbales -PINPUT ACCEPT 黑名单
如果是redhat8或者centos8以上版本,iptables-save
以下版本使用service iptables save
设置默认策略,对流入的数据包不理睬
firewalld
| 区域 | 默认规则策略 |
|---|---|
| trusted | 允许所有数据包 |
| home | 拒绝流入的流量,除非与流出的流量相关;如果流量与ssh、mdns、ipp-client、dhcpv6-clent服务相关,则允许流量 |
| internal | 等同于home |
| work | 拒绝流入的流量,除非与流出的流量相关;如果流量与ssh、dhcpv6-clent服务相关,则允许流量 |
| public | 拒绝流入的流量,除非与流出的流量相关;如果流量与ssh服务相关,则允许流量 |
| dmz | 拒绝流入的流量,除非与流出的流量相关;如果流量与ssh服务相关,则允许流量 |
| drop | 拒绝流入的流量,除非与流出的流量相关 |
firewall-cmd
| 参数 | 作用 |
|---|---|
| --get-default-zone | 查询默认的区域名称 |
| --set-default-zone | 设置默认区域,使其永久生效 |
| --get-zones | 显示可用的区域 |
| --get-services | 显示预先定义的服务 |
| --get-active-zones | 显示当前正在使用的区域与网卡名称 |
| --add-source= | 源自此ip或子网的流量导向到某个区域 |
| --remove-source= | 不源自此ip或子网的流量导向到某个区域 |
| --add-interface= | 源自此网卡的流量导向到某个区域 |
| --list-all | 显示当前区域的网卡配置参数、资源、端口以及服务等信息 |
| --list-all-zones | 显示当所有区域的网卡配置参数、资源、端口以及服务等信息 |
| --add-service=服务名称 | 设置默认允许该服务的流量 |
| --remove-port=端口/协议 | 设置默认区域不允许该端口的流量 |
| --reload | 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则 |
| -panic-on | 开启应急模式 |
| -panic-off | 关闭应急模式 |
| --permanent | 当前不生效,重启后生效,也叫永久生效 |




目的:让http协议在public区域,流量允许通过
firewall-cmd --zone=public --query-service=http 检查public区域是否允许http协议通过,yes为允许,no不允许
firewall-cmd --get-zone-of-interface=ens160 检查ens160网卡处于哪个区域,如果不在public区域我们就修改回来
firewall-cmd --permanent --zone=public --change-interface=ens160 将ens160网卡修改区域为public
firewall-cmd --zone=public--add-service=http --permanent 将http协议在public区域内永久允许通过
firewall-cmd --reload 重新加载firewall配置规则
目的:让8080和和8081端口在public允许通过
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp

端口流量转发
把888端口转发到22
firewa11-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.175.131
显示只有192.168.175.0/24 拒绝访问ssh
防火墙富规则
firewal1-cmd --permanent --Zone=public --add-rich-rule="rule family="ipv4”source address="192.168.175.0/24” service name="ssh” reject"
kali连接显示拒绝访问

练习:
redhat开启端口转发,win10访问redhat的8888端口,连接到kali的22端口

firewall-cmd --permanent --zone=public --add-forward-port=port=8888:proto=tcp:toport=22:toaddr=192.168.163.143
将访问本地8888端口转发到192.168.163.143的22端口
firewall-cmd --permanent --zone=public --add-port=8888/tcp
添加8888端口放行
firewall-cmd --permanent --add-masquerade
开启伪装IP
firewall-cmd --reload
重新加载服务


win10连接成功

防火墙(iptables与firewalld)的更多相关文章
- 第7章 Iptables与Firewalld防火墙。
第7章 Iptables与Firewalld防火墙. Chapter7_听较强节奏的音乐能够让您更长时间的投入在学习中. <Linux就该这么学> 00:00/00:00 ...
- 9.Iptables与Firewalld防火墙
第9章 Iptables与Firewalld防火墙 章节简述: 保障数据的安全性是继保障数据的可用性之后最为重要的一项工作.防火墙作为公网与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用 ...
- centos 防火墙 iptables firewalld SELinux
参考 Centos7 只启用iptables 禁用firewalld功能 java.net.NoRouteToHostException: 没有到主机的路由 相关内容 centos7 中才开始引用fi ...
- Linux中的防火墙(Netfilter、Iptables、Firewalld)
目录 Netfilter Iptables iptables做本地端口转发 Firewalld Netfilter Netfilter是Linux 2.4内核引入的全新的包过滤引擎,位于Linux内核 ...
- 【Redhat系列linux防火墙工具】firewalld与iptables防火墙工具的激烈碰撞
前言 iptables与firewalld防火墙管理工具在linux发行版Redhat7系列使用较为广泛. UFW则是在linux发行版Ubuntu下进行管理防火墙的一款管理工具. 在选用防火墙工具的 ...
- netfilter/iptables和firewalld的关系
1.netfilter 是linux 内核模块,其中包含了大量的内核规则,而要想对这些内核规则进行操作,就需要用户态的工具. iptables和firewalld就是一个用户态的工具. 2.iptab ...
- iptables和firewalld的配置
一.iptables 1.配置 vi /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -p tcp -m tcp ...
- 关于Linux防火墙'iptables'的面试问答
1. 你听说过Linux下面的iptables和Firewalld么?知不知道它们是什么,是用来干什么的? 答案 : iptables和Firewalld我都知道,并且我已经使用iptables好一段 ...
- centos7之iptables与firewalld
保障数据的安全性是继保障数据的可用性之后最为重要的一项工作.防火墙作为公网 与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用. firewalld与iptables iptables f ...
- 防火墙iptables介绍
防火墙: netfilter/iptables是集成在Linux2.4.X版本内核中的包过滤防火墙系统.该架构可以实现数据包过滤,网络地址转换以及数据包管理功能.linux中防火墙分为两部分:netf ...
随机推荐
- 【深度思考】聊聊CGLIB动态代理原理
1. 简介 CGLIB的全称是:Code Generation Library. CGLIB是一个强大的.高性能.高质量的代码生成类库,它可以在运行期扩展Java类与实现Java接口, 底层使用的是字 ...
- [Pytorch框架] 1.5 Neural Networks
文章目录 Neural Networks 定义网络 损失函数 反向传播 更新权重 Neural Networks 使用torch.nn包来构建神经网络. 上一讲已经讲过了autograd,nn包依赖a ...
- Spring之丐版IOC实现
文章目录 IOC控制反转 依赖注入 Bean的自动装配方式 丐版IOC实现 BeanDefinition.java ResourceLoader.java BeanRegister.java Bean ...
- 可视化—gojs 超多超实用经验分享(一)
目录 1. 设置分组模板,默认样式,统一最小宽度,展开收起状态监听 2. 分组名称显示成员个数: 分组名称+成员个数: name(children) 3. 分组成员为空时,不显示 placeholde ...
- Spring源码:Bean生命周期(三)
前言 在之前的文章中,我们已经对 bean 的准备工作进行了讲解,包括 bean 定义和 FactoryBean 判断等.在这个基础上,我们可以更加深入地理解 getBean 方法的实现逻辑,并在后续 ...
- iOS中的3种定时器
在iOS中有3种常见的定时器,它们会根据不同的场景进行选择使用. 1.DispatchSourceTimer: 基于GCD实现. 2.CADisplayLink:基于屏幕刷新实现. 3.Timer:基 ...
- 2022-07-09:总长度为n的数组中,所有长度为k的子序列里,有多少子序列的和为偶数?
2022-07-09:总长度为n的数组中,所有长度为k的子序列里,有多少子序列的和为偶数? 答案2022-07-09: 方法一:递归,要i还是不要i. 方法二:动态规划.需要两张dp表. 代码用rus ...
- 2022-04-24:位集 Bitset 是一种能以紧凑形式存储位的数据结构。 请你实现 Bitset 类。 Bitset(int size) 用 size 个位初始化 Bitset ,所有位都是 0
2022-04-24:位集 Bitset 是一种能以紧凑形式存储位的数据结构. 请你实现 Bitset 类. Bitset(int size) 用 size 个位初始化 Bitset ,所有位都是 0 ...
- 2022-03-14:一开始屏幕上什么也没有,粘贴板里什么也没有, 你只能在键盘上做如下4种操作中的1种: 输入:在屏幕上已经显示内容的后面加一个A, 全选:把屏幕上已经显示的全部内容选中, 复制:被
2022-03-14:一开始屏幕上什么也没有,粘贴板里什么也没有, 你只能在键盘上做如下4种操作中的1种: 输入:在屏幕上已经显示内容的后面加一个A, 全选:把屏幕上已经显示的全部内容选中, 复制:被 ...
- 2021-08-12:约瑟夫环问题。给定一个链表头节点head,和一个正数m,从头开始,每次数到m就杀死当前节点 ,然后被杀节点的下一个节点从1开始重新数, 周而复始直到只剩一个节点,返回最后的节点。
2021-08-12:约瑟夫环问题.给定一个链表头节点head,和一个正数m,从头开始,每次数到m就杀死当前节点 ,然后被杀节点的下一个节点从1开始重新数, 周而复始直到只剩一个节点,返回最后的节点. ...








