如何在rhel/centos7以及fedora中配置firewalld

author author     2023-05-03     790

关键词:

步骤1:安装Firewalld组件

1.Firewalld组件在RHEL/CentOS 7和Fedora 21默认已经安装了。如果没有可以使用如下YUM命令进行安装。

# yum install firewalld -y

2.安装完毕,查看一下iptables是否正在运行。如果是,你需要用以下命令来stop和mask(不再使用)iptables。

# systemctl status iptables

# systemctl stop iptables

# systemctl mask iptables

步骤2:Firewalld组件的讨论

3.在进行firewalld配置之前,我想来讨论一下区域(zones)这个概念。默认情况就有一些有效的区域。我们需要网络接口分配区域。区域
规定了区域是网络接口信任或者不信任网络连接的标准。区域(zone)包含服务和端口。接下来让我们讨论Firewalld中那些有用的区域
(zones)。

丢弃区域(Drop Zone):如果使用丢弃区域,任何进入的数据包将被丢弃。这个类似与我们之前使用iptables -j drop。使用丢弃规则意味着将不存在响应,只有流出的网络连接有效。

阻塞区域(Block Zone):阻塞区域会拒绝进入的网络连接,返回icmp-host-prohibited,只有服务器已经建立的连接会被通过。

公共区域(Public Zone):只接受那些被选中的连接,而这些通过在公共区域中定义相关规则实现。服务器可以通过特定的端口数据,而其它的连接将被丢弃。

外部区域(External Zone):这个区域相当于路由器的启用伪装(masquerading)选项。只有指定的连接会被接受,而其它的连接将被丢弃或者不被接受。

隔离区域(DMZ Zone):如果想要只允许给部分服务能被外部访问,可以在DMZ区域中定义。它也拥有只通过被选中连接的特性。

工作区域(Work Zone):在这个区域,我们只能定义内部网络。比如私有网络通信才被允许。

家庭区域(Home Zone):这个区域专门用于家庭环境。我们可以利用这个区域来信任网络上其它主机不会侵害你的主机。它同样只允许被选中的连接。

内部区域(Internal Zone):这个区域和工作区域(Work Zone)类似,只有通过被选中的连接。

信任区域(Trusted Zone):信任区域允许所有网络通信通过。

现在你对区域有个很好的认识了,让我们使用以下的命令来找出有用的区域、默认区域以及列出所有的区域吧。

# firewall-cmd --get-zones

# firewall-cmd --get-default-zone

# firewall-cmd --list-all-zones

注意:以上命令的输出不仅仅只有单页,因为它将会列出每种区域如block、dmz、drop、external、home、internal、
public、trusted以及work。如果区域还有其它详细规则(rich-rules)、启用的服务或者端口,这些区域信息也会分别被罗列出来。
参考技术A 以下是我的笔记;可以访问wiki学习更多内容 http://fedoraproject.org/wiki/FirewallD

firewall-cmd 参数
--list -all,-service

--status 状态

--reload 重新加载防火墙配置文件

--get-zones
获取支持的区域列表

--get-service 获取所有支持的服务

--get-icmptype

设置默认区域

--set-defualt-zone=<zone>

将接口增加到区域

firewall-cmd
[--zone=zone] --add-interface=<interface>

修改接口所属

--change

从区域中删除一个接口

--remove

查询区域中是否包含某个接口

--query

--get-zone-of
--interface=<interface>

应急模式:断网

firewall-cmd --panic-on
开启

firewall-cmd --panic-off 关闭

--add-service

--remove-service

==================
firewall常用配置

firewall-cmd --list-services 查看服务 --list-all

1. 写入配置文件,reload加载

firewall-cmd --permanent --zone=public --add-service=ftp

firewall-cmd
--reload
2.不加--permanent, 只能临时生效
firewall-cmd --zone=public --add-service=ftp

====================
例如

firewall-cmd --permanent
--zone=public --add-port=80/tcp

端口映射

firewall-cmd --permanent
--add-forward-port=port=33:proto=tcp:toport=22:toaddr=172.16.7.8

:toport=<port>[-<port>] | :toaddr=<address>|
:toport=<port>[-<port>]:totoaddr=<address>

--zone=? --add-fore

启用区域中的的ip伪装功能

--add-masquerade

====================

将命令传递给防火墙。参数 <args> 可以是 iptables, ip6tables 以及 ebtables 命令行参数。

firewall-cmd --direct
--passthrough ipv4 | ipv6 | eb <args>

为表 <table> 增加一个新链 <chain> 。

firewall-cmd --direct --add-chain
ipv4 | ipv6 | eb <table><chain>

从表 <table> 中删除链
<chain> 。

firewall-cmd --direct
--remove-chain ipv4 | ipv6 | eb <table><chain>

查询 <chain> 链是否存在与表 <table>. 如果是,返回0,否则返回1.

firewall-cmd --direct
--query-chain ipv4 | ipv6 | eb <table><chain>

如果启用,此命令将有返回值。此命令没有输出信息。

获取用空格分隔的表 <table> 中链的列表。

firewall-cmd --direct
--get-chains ipv4 | ipv6 | eb <table>

为表 <table> 增加一条参数为 <args> 的链 <chain> ,优先级设定为 <priority>。

firewall-cmd --direct --add-rule
ipv4 | ipv6 | eb <table><chain><priority><args>

从表 <table> 中删除带参数 <args> 的链 <chain>。

firewall-cmd --direct
--remove-rule ipv4 | ipv6 | eb <table><chain><args>

查询 带参数
<args> 的链 <chain> 是否存在表 <table> 中. 如果是,返回0,否则返回1.

firewall-cmd --direct
--query-rule ipv4 | ipv6 | eb <table><chain><args>

如果启用,此命令将有返回值。此命令没有输出信息。

获取表 <table> 中所有增加到链 <chain> 的规则,并用换行分隔。

firewall-cmd --direct --get-rules
ipv4 | ipv6 | eb <table><chain>
参考技术B

安装firewalld 防火墙

yum install firewalld

开启服务

systemctl start firewalld.service

关闭防火墙

systemctl stop firewalld.service

CENTOS7 FIREWALLD防火墙管理

如何在centos7/rhel7运行单用户模式进行root的密码重置

参考技术A网上很多人在问如何重置CentOS7的Root密码?重置Centos7Root密码的方式和Centos6完全不同,下面脚本之家分享了重置CentOS7的Root密码的方法,需要的朋友可以参考下重置Centos7Root密码的方式和Centos6完全不同。让我来展示一下... 查看详情

如何在centos/rhel中启用/禁用cpu(限制cpu数量)

...)1.使用maxcpus参数此方法适用于RHEL/CentOS6系统。如果在RHEL/CentOS7系统中使用它可能会失败。尽管在较新版本的RHEL7系统中,此错误已得到修复。您可以在/boot/grub/grub.conf中添加内核参数maxcpus=N或在引导时添加到内核行。例如,要限... 查看详情

如何使用rhel/centos7安装创建和管理lxc

参考技术ACentOS7.0中一个最主要的改变,就是切换到了systemd。它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理。systemd兼容SysV和Linux标准组的启动脚本。Systemd是一个Linux操作系统下的系统和服务管理器... 查看详情

如何配置rhel/centos7中的xrdp远程桌面服务器

参考技术A本文中,我们将学习如何在Linux系统中配置XRPD远程桌面服务器,在此之前让我向您解释什么是XRDP。XRDP远程桌面服务器只是一个服务或守护进程,它允许用户从RDP(远程桌面协议)客户端远程使用Linux操作系统。众所周... 查看详情

如何在centos7/6.5/6.4下安装postgresql9.3与phppgadmin

...olaris、Tru64)、WindowsOS。在这篇教程里,我们将学习如何在CentOS7/6.5/6.4server中建立PostgreSQL。1.安装PostgreSQL首先根据你的服务器架构添加PostgreSQL库:对CentOS6.x32bit:rpm-Uvhhttp://yum.postgresql.org/9.3/RedHat/rhel-6-i386/pgdg-centos93-9.3-1.noarch.rpm对Ce... 查看详情

如何在centos7/6.5/6.4下安装postgresql9.3与phppgadmin

...olaris、Tru64)、WindowsOS。在这篇教程里,我们将学习如何在CentOS7/6.5/6.4server中建立PostgreSQL。1.安装PostgreSQL首先根据你的服务器架构添加PostgreSQL库:对CentOS6.x32bit:rpm-Uvhhttp://yum.postgresql.org/9.3/RedHat/rhel-6-i386/pgdg-centos93-9.3-1.noarch.rpm对Ce... 查看详情

如何在centos/rhel7上借助ssm管理lvm卷

...存储池、LVM卷和存储快照的信息。输出结果来自新安装的CentOS7,它在默认情况下使用了LVM和XFS文件系统。$ sudo ssm list在这个例子中,有两个物理设备(“/dev/sda”和“/dev/sdb”)、一个存储池(“centos”),以及存储池... 查看详情

如何在centos8/rhel8上安装和使用cockpit

...储,以及检查系统和应用的日志。在本文中,我们将演示如何在CentOS8和RHEL8中安装和设置Cockpit。登录你的CentOS8/RHEL8,打开终端并执行以下dnf命令:运行以下命令启用并启动cockpit服务:使用以下命令在系统防火墙中允许Cockpit端... 查看详情

如何在centos8/rhel8上安装和使用cockpit

...储,以及检查系统和应用的日志。在本文中,我们将演示如何在CentOS8和RHEL8中安装和设置Cockpit。登录你的CentOS8/RHEL8,打开终端并执行以下dnf命令:运行以下命令启用并启动cockpit服务:使用以下命令在系统防火墙中允许Cockpit端... 查看详情

如何在centos/rhel7/6/5安装postfix

Postfix是广泛使用的快速和流行的SMTP服务器。postfix的主要工作是转发本地或外网的预期目标邮件。一些最流行的SMTP服务器是Sendmail,Postfix和Qmail。默认情况下Sendmail的是预安装在CentOS/RHEL5,我们需要将其删除,并安装Postfix。第1... 查看详情

如何在centos7中开启/停止/重启服务

当手机频繁重启,可通过以下方法处理:1.检查是否同时打开应用软件,建议可退出不用的软件;2.检查手机电池是否接触良好、松动等原因;除了以上原因仍无法处理,建议您可到手机售后维修点进行检查。参考技术Asystemctlstar... 查看详情

centos7.2如何修改主机名

在CentOS7.2或RHEL7.2中,有三种定义的主机名:静态的(static),瞬态的(transient),以及灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临... 查看详情

刚刚在rhel7中配置/etc/fstab这个文件的时候,不知道按到哪里了,然后导致无法开机了

rhel7系统在RHEL7/Centos7系统中如果fstab文件中有错误的挂载信息,或者设备名称写错等情况就会导致开机卡到黑屏界面。这种情况只要输入root用户密码进入到救援模式中删除错误信息再重启就可以了,可供参考:1.4重置root用户密... 查看详情

如何在centos/rhel上设置ssh免密码登录

参考技术A本文会告诉你怎样在CentOS/RHEL上设置SSH免密码登录。自动登录配置好以后,你可以通过它使用SSH(SecureShell)和安全复制(SCP)来移动文件。SSH是开源的,是用于远程登录的最为可靠的网络协议。系统管理员用它来执行... 查看详情

(如何)我可以在 Centos/RHEL 上使用新的 C++ 11 ABI 和 devtoolset-7 吗?

...发布时间】:2018-03-2020:51:27【问题描述】:我的目标是在Centos7上使用gcc7.2(和clang6)来构建与Centos7目标兼容的可执行文件,而无需安装devtoolset,但*使用较新的C 查看详情

centos7/rhel7双网卡绑定

....com/hukey/p/6224969.html1.简要   双网卡绑定技术在centos7中使用了teaming技术,而在rhel6/centos7中使用的是bonding技术,   在centos7中双网卡绑定既能使用teaming也可以使用bonding,这里推荐使用teaming技术,方便与查 查看详情

rhel/centos7.x/6.x/5.x开启epel仓库

...链接翻译:@adolphlwq项目地址这篇指南文章教你如何在RHEL/CentOS7.x/6.x/5.x系统中开启EPEL仓库支持,以便你可以使用yum命令安装额外的标准开源软件包。 您还可以参考:InstallandEnableRPMForgeRepositoryinRHEL/CentOS7/6/5/4EPEL是什么?EPEL(Ext... 查看详情

sh在rhel/centos7上编译并安装tmux2.9a(代码片段)

查看详情