iptables 与 firewalld 防火墙

iptables

iptables 是一款基于命令行的防火墙策略管理工具

四种防火墙策略

ACCEPT(允许流量通过)
流量发送方会看到响应超时的提醒,但是流量发送方无法判断流量是被拒绝,还是接收方主机当前不在线
REJECT(拒绝流量通过)
流量发送方会看到端口不可达的响应
LOG (记录日志信息)
DROP(拒绝流量通过)

iptables 中常用的参数以及作用

-P
设置默认策略
-F
清空规则链
-L
查看规则链
-A
在规则链的末尾加入新规则
-I num
在规则链的头部加入新规则
-D num
删除某一条规则
-s
匹配来源地址 IP/MASK ,加叹号“ ! ”表示除这个 IP
-d
匹配目标地址
-i 网卡名称
匹配从这块网卡流入的数据
-o 网卡名称
匹配从这块网卡流出的数据
-p
匹配协议,如 TCP UDP ICMP
--dport num
匹配目标端口号
--sport num
匹配来源端口号

实验:

把INPUT规则链的默认策略设置为拒绝

[root@linuxprobe~]# iptables -P INPUT DROP

向INPUT链中添加允许ICMP流量进入的策略

[root@linuxprobe~]# iptables -I INPUT -p icmp -j ACCEPT

将INPUT链设置为只允许指定网段的主机访问本机的22端口

[root@linuxprobe~]# iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT
[root@linuxprobe~]# iptables -A INPUT -p tcp --dport 22 -j REJECT

向INPUT规则链中添加拒绝所有人访问本机12345端口的策略规则

[root@linuxprobe~]# iptables -I INPUT -p tcp --dport 12345 -j REJECT
想让配置的防火墙策略永久生效,还要执行保存命令
[root@linuxprobe~]# iptables-save

firewalld

firewalld服务是默认的防火墙配置管理工具,它拥有 基于 CLI(命令行界面)和基于 GUI (图形用户界面)的两种管理方式。

firewalld 中常用的区域名称及策略规则

trusted
允许所有的数据包
home
拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh mdns ipp-client 、 smba-client、 dhcpv6-client 服务相关,则允许流量
internal
等同于 home 区域
work
拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh ipp-client dhcpv6-client 服务相关,则允许流量
public
拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh dhcpv6-client 服务相关, 则允许流量
external
拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量
dmz
拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量
block
拒绝流入的流量,除非与流出的流量相关
drop
拒绝流入的流量,除非与流出的流量相关

基于CLI(命令行界面)

firewall-cmd firewalld 防火墙配置管理工具的 CLI (命令行界面)版本,它的参数一般都是
以“长格式”来提供的。

firewall-cmd 命令中使用的参数以及作用

--get-default-zone
查询默认的区域名称
--set-default-zone=< 区域名称>
设置默认的区域,使其永久生效
--get-zones
显示可用的区域
--get-services
显示预先定义的服务
--get-active-zones
显示当前正在使用的区域与网卡名称
--add-source=
将源自此 IP 或子网的流量导向指定的区域
--remove-source=
不再将源自此 IP 或子网的流量导向某个指定区域
--add-interface=< 网卡名称>
将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称>
将某个网卡与区域进行关联
--list-all
显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones
显示当前区域的网卡配置参数、资源、端口以及服务等信息
--add-service=< 服务名 >
设置默认区域允许该服务的流量
--add-port=< 端口号 / 协议 >
设置默认区域允许该端口的流量
--remove-service=< 服务名>
设置默认区域不再允许该服务的流量
--remove-port=< 端口号 / 协议>
设置默认区域不再允许该端口的流量
--reload
让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on
开启应急状况模式
--panic-off
关闭应急状况模式
使用 firewalld 配置的防火墙策略默认为 运行时(Runtime)模式 ,又称为当前生效模式,而且会随着系统的重启而失效。如果想让 配置策略一直存在,就需要使用 永久(Permanent)模式 了,方法就是在用 firewall-cmd 命令 正常设置防火墙策略时添加--permanent 参数
Runtime:当前立即生效,重启后失效。
Permanent:当前不生效,重启后生效。

 实验

查看firewalld服务当前所使用的区域。

[root@linuxprobe~]# firewall-cmd --get-default-zone
public

查询指定网卡在firewalld服务中绑定的区域。

[root@linuxprobe~]# firewall-cmd --get-zone-of-interface=ens160
public

把网卡默认区域修改为external,并在系统重启后生效。

[root@linuxprobe~]# firewall-cmd --permanent --zone=external --change-interface=ens160
The interface is under control of NetworkManager, setting zone to 'external'.
success
[root@linuxprobe~]# firewall-cmd --permanent --get-zone-of-interface=ens160
external

把firewalld服务的默认区域设置为public。

[root@linuxprobe~]# firewall-cmd --set-default-zone=public
Warning: ZONE_ALREADY_SET: public
success
[root@linuxprobe~]# firewall-cmd --get-default-zone
public
[root@linuxprobe~]# firewall-cmd --get-zone-of-interface=ens160
externa

启动和关闭firewalld防火墙服务的应急状况模式。

[root@linuxprobe~]# firewall-cmd --panic-on
success
[root@linuxprobe~]# firewall-cmd --panic-off
success

查询SSH和HTTPS协议的流量是否允许放行。

[root@linuxprobe~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@linuxprobe~]# firewall-cmd --zone=public --query-service=https
no

把HTTPS协议的流量设置为永久允许放行,并立即生效。

[root@linuxprobe~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@linuxprobe~]# firewall-cmd --zone=public --query-service=https
no

把HTTP协议的流量设置为永久拒绝,并立即生效。

[root@linuxprobe~]# firewall-cmd --permanent --zone=public --remove-service=http
Warning: NOT_ENABLED: http
success
[root@linuxprobe~]# firewall-cmd --reload
success

把访问8080和8081端口的流量策略设置为允许,但仅限当前生效。

[root@linuxprobe~]# firewall-cmd --zone=public --add-port=8080-8081/tcp
success
[root@linuxprobe~]# firewall-cmd --zone=public --list-ports
8080-8081/tcp

把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效。

firewall-cmd --permanent =-zone=<区域>,--add-forward-port=port=<源端口号>:proto=
<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

[root@linuxprobe~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10
success
[root@linuxprobe~]# firewall-cmd --reload
success


富规则的设置

富规则也叫复规则,表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。它的优先级在所有的防火墙策略中也是最高的。
拒绝
192.168.10.0/24 网段的所有用户访问本机的 ssh 服务( 22 端口):
[root@linuxprobe~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success
[root@linuxprobe~]# firewall-cmd --reload
success
在客户端使用 ssh 命令尝试访问 192.168.10.10 主机的 ssh 服务( 22 端口):
[root@client A~]# ssh 192.168.10.10
Connecting to 192.168.10.10:22...
Could not connect to '192.168.10.10' (port 22): Connection failed.

基于 GUI(图形用户界面)

firewall-config是 firewalld 防火墙配置管理工具的 GUI(图形用户界面)版本,几 乎可以实现所有以命令行来执行的操作

#yum install firewall-config   #下载工具
#firewall-config       #使用

linux系统中firewalld防火墙管理工具firewall-config:

http://t.csdnimg.cn/26a6yicon-default.png?t=N7T8http://t.csdnimg.cn/26a6y

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32的IAP技术,BootLoader

来源 三种下载方式&#xff1a; 1、ICP&#xff1a;ST-Link, 2、ISP: FlyMcu, 3、IAP IAP简介 IAP技术的核心在于BootLoader程序的设计&#xff0c;这段程序预先烧录在单片机中&#xff0c;正常的APP程序可以使用BootLoader程序中的IAP功能写入&#xff0c;也可以两部分代码一…

【JavaEE初阶系列】——常见的锁策略

目录 &#x1f6a9;乐观锁和悲观锁 &#x1f6a9;读写锁和普通互斥锁 &#x1f6a9;轻量级锁和重量级锁 &#x1f6a9;自旋锁和挂起等待锁 &#x1f6a9;公平锁和非公平锁 &#x1f6a9;可重入锁和不可重入锁 &#x1f6a9;关于synchronized的锁策略以及自适应 接下来讲解的锁策…

Springboot之RESTful风格

目录 1、概述&#xff1a; 1.1、传统风格的API&#xff1a; 1.2、RESTful风格的API&#xff1a; 1.3、GET、POST、PUT、DELETE&#xff1a; 2、RESTful风格相关的注解&#xff1a; ①PathVariable&#xff0c;用来获取url中的数据&#xff1b; ②GetMapping&#xff0c;接…

C++教学——从入门到精通 6.ASCII码与字符型

如何把小写字母转换成大写字母呢&#xff1f; 这个问题问的好&#xff0c;首先我们要新学一个类型——char 这个类型就是字符型 再来说说ASCII码 给大家举几个例子 空格————32 0————48 9————57 A————65 Z————90 a————97 z————122 我们…

Cortex-M7中断向量表的重定向

1 前言 系统上电后&#xff0c;PC会指向复位向量&#xff0c;即向量表中的Reset_Handler&#xff0c;而系统就是通过Vector Table Offset Register (VTOR)的值加上4字节来找到复位向量的入口的。 因为地址 0 处应该存储引导代码&#xff0c;所以它通常映射到 Flash 或者是 ROM …

Unity类银河恶魔城学习记录11-14 p116 Thunder strike item effect源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili ThurderStrike_Controller.cs using System.Collections; using System.C…

如何提高小红书笔记的收录率?

在小红书平台上&#xff0c;笔记的收录率是衡量一篇笔记是否受欢迎和有价值的重要因素。为了提高笔记的收录率&#xff0c;有几个关键点需要注意&#xff1a; 1.内容不涉及广告 在发布笔记前要先确保笔记内容不包含任何形式的广告或推广信息。小红书平台对于广告性质的内容有…

关于Ansible的模块②

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 接《关于Ansible的模块 ①-CSDN博客》&#xff0c;继续学习和梳理Ansible的常用文件类模块 1. copy模块 从当前机器上复制文件到…

关于 Unreal 的各种坐标系、输入与逻辑的转换问题

说明 已知&#xff1a; 在世界原点往 X 轴方向看去&#xff0c;ForwardVector 为 [ 1 , 0 , 0 ] [1,0,0] [1,0,0]&#xff0c;此时的右手边的方向为 [ 0 , 1 , 0 ] [0,1,0] [0,1,0] 手柄摇杆、鼠标移动朝右得到的 [ 1 , 0 , 0 ] [1,0,0] [1,0,0]&#xff0c;朝上得到的是…

代码随想录:字符串5-7

右旋字符串 题目 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k&#xff0c;请编写一个函数&#xff0c;将字符串中的后面 k 个字符移到字符串的前面&#xff0c;实现字符串的右旋转操作。 例如&#xff0c;对于输入字符…

货币与利率

货币与利率 货币及其职能什么是货币货币的职能货币带来了什么&#xff1f; 货币形式的演变商品货币代用货币信用货币货币的特性 现代社会货币的表现形式流通中的现金支票存款信用卡储存存款 货币层次划分目的划分标准划分种类我国的货币层次 货币与物价的关系利率什么是利息什么…

算法学习——LeetCode力扣补充篇1

算法学习——LeetCode力扣补充篇1 1365. 有多少小于当前数字的数字 1365. 有多少小于当前数字的数字 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个数组 nums&#xff0c;对于其中每个元素 nums[i]&#xff0c;请你统计数组中比它小的所有数字的数目。 换而言之&a…

推荐一本牛逼的入门 Python书!,如何试出一个Python开发者真正的水平

本书详细解说了 Python 语言和编程的本质&#xff0c;无论你是否接触过编程语言&#xff0c;只要是 Python 编程的初学者&#xff0c;都可阅读本书。 本书讲解的内容虽然基础&#xff0c;但并不简单。本书提供了 165 幅图表&#xff0c;可以让大家能够轻松地理解并掌握复杂的概…

Taro+vue3 监听当前的页面滚动的距离

1.需求 想实现一个这样的效果 一开始这个城市组件 是透明的 在顶部 的固定定位 当屏幕滑动的时候到一定的距离 将这个固定的盒子 背景颜色变成白色 2.Taro中的滚动 Taro中的滚动 有固定的api 像生命周期一样 这个生命周期是 usePageScroll import Taro, { useDidShow, useP…

外包干了5天,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入杭州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

Django源码之路由的本质(上)——逐步剖析底层执行流程

目录 1. 前言 2. 路由定义 3. 路由定义整体源码分析 3.1 partial实现path函数调用 3.2 图解_path函数 3.3 最终 4.URLPattern和Pattern的简单解析 5. 小结 1. 前言 在学习Django框架的时候&#xff0c;我们大多时候都只会使用如何去开发项目&#xff0c;对其实现流程并…

【C++】位图

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;手撕哈希表的闭散列和开散列 > 毒鸡汤&#xff1a; 坚持不懈&#xff0c;才能在困难面前看到光明的希望。 > 专栏选自&#xff1a;C嘎嘎进阶 >…

基于单片机病房温度监测与呼叫系统设计

**单片机设计介绍&#xff0c;基于单片机病房温度监测与呼叫系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机病房温度监测与呼叫系统设计概要主要涵盖了通过单片机技术实现病房温度的实时监测以及病人呼叫功能…

java字符串(一)-- 字符串API,StringBuffer 和 StringBuilder,Object

String字符串相关的类 String的特性 String类&#xff1a;代表字符串。Java 程序中的所有字符串字面值&#xff08;如"abc" &#xff09;都作为此类的实例实现。String类是引用数据类型。 在 Java 8 中&#xff0c;String 内部使用 char 数组存储数据。 public fi…

C++入门知识点

目录 一、命名空间 1.命名空间的定义 2.命名空间的使用 二、输入和输出 三、缺省参数 1.缺省参数的概念 2.缺省参数的分类 1&#xff09;全缺省参数 2&#xff09;半缺省参数 四、函数重载 五、引用 1.引用的概念 2.引用的特性 3.引用和指针的区别 六、内联函…