如何使用FirewallD限制网络访问

这篇具有很好参考价值的文章主要介绍了如何使用FirewallD限制网络访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作为一个Linux用户,你可以使用firewalld防火墙选择允许或限制对某些服务或者IP地址的网络访问,这是CentOS/RHEL 8以及诸如Fedora的大部分基于RHEL发行版原生的。

firewalld防火墙使用firewall-cmd命令行工具配置防火墙规则。

在我们执行任何配置前,首先使用systemctl工具启用firewalld服务,如下:

​[root@localhost blctrl]# systemctl enable firewalld

一旦启用了,我们现在可以通过执行以下命令启动firewalld:

[root@localhost blctrl]# systemctl start firewalld

你可以通过运行以下命令验证firewalld的状态并且以下输出确认了firewalld启动了并且在运行。

[root@localhost blctrl]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2022-07-21 19:40:25 CST; 4h 8min left
     Docs: man:firewalld(1)
 Main PID: 689 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─689 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

使用firewalld配置规则

现在我们使firewalld运行了,我们直接制定一些规则。firewalld允许你添加和阻塞端口,黑名单,以及白名单IP,提供对服务器访问的地址。一旦完成这些配置,总是确保你为了使新规则生效重载这个防火墙。

添加一个TCP/UDP端口

添加一个端口,用于HTTPS的443,使用以下语法。注意:你必须在这个端口号之后指定端口是TCP或UDP。

[root@localhost blctrl]# firewall-cmd --add-port=443/tcp --permanent
success

类似地,要添加一个UDP端口,按如下指定这个UDP选项:

[root@localhost blctrl]# firewall-cmd --add-port=53/udp --permanent
success

--permanent标记确保即使在重启后规则有效。

阻塞一个TCP/UDP端口

TCP 80端口先前已经被添加到了规则中了,用浏览器测试:

firewalld-cmd 限制ip范围访问某个端口,Linux笔记,linux,centos,服务器

要阻塞一个TCP端口,如TCP 80,运行以下命令:

[root@localhost blctrl]# firewall-cmd --remove-port=80/tcp --permanent
success
[root@localhost blctrl]# firewall-cmd --reload
success

再次用浏览器测试:

firewalld-cmd 限制ip范围访问某个端口,Linux笔记,linux,centos,服务器

 类似地,封锁一个UDP端口,将按照相同语法:

[root@localhost blctrl]# firewall-cmd --remove-port=53/udp --permanent
success
[root@localhost blctrl]# firewall-cmd --reload
success

允许一个服务

在/etc/services文件中定义了网络服务。要允许像https地服务,执行命令:

[root@localhost blctrl]# firewall-cmd --add-service=https
success

阻塞一个服务

要阻塞一个服务,例如,https,执行:

[root@localhost blctrl]# firewall-cmd --remove-service=https
success

白名单一个IP地址

要允许单个IP地址穿过防火墙,执行命令:

[root@localhost blctrl]# firewall-cmd --permanent --add-source=192.168.3.244
success
[root@localhost blctrl]# firewall-cmd --reload
success

你也可以使用CIDR标注允许一个IPs范围或者整个子网。例如,以255.255.255.0允许一整个子网。

[root@localhost blctrl]# firewall-cmd --permanent --add-source=192.168.3.0/24
success

移除一个白名单IP地址

如果你在防火墙上移除一个白名单IP,使用--remove-source标记:

[root@localhost blctrl]# firewall-cmd --permanent --remove-source=192.168.3.244
success

对于整个子网:

[root@localhost blctrl]# firewall-cmd --permanent --remove-source=192.168.3.0/24
success

阻塞一个IP地址:

到目前为止,我们已经看到了你如何添加和移除端口和服务以及添加和移除白名单IPs。要阻塞一个IP地址,'rich rules'用于这个目的。

例如,要阻塞这个IP 192.168.3.244,运行命令:

[root@localhost blctrl]# firewall-cmd --add-rich-rule="rule family='ipv4' source address='192.168.3.244' reject"
success

 在192.168.3.244上进行测试:

运行阻塞命令前:可以ping通

[blctrl@localhost ~]$ ping -c2 192.168.3.246
PING 192.168.3.246 (192.168.3.246) 56(84) bytes of data.
64 bytes from 192.168.3.246: icmp_seq=1 ttl=64 time=0.466 ms
64 bytes from 192.168.3.246: icmp_seq=2 ttl=64 time=0.559 ms

--- 192.168.3.246 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.466/0.512/0.559/0.051 ms

运行阻塞命令后,ping不通了

[blctrl@localhost ~]$ ping -c2 192.168.3.246
PING 192.168.3.246 (192.168.3.246) 56(84) bytes of data.
From 192.168.3.246 icmp_seq=1 Destination Port Unreachable
From 192.168.3.246 icmp_seq=2 Destination Port Unreachable

--- 192.168.3.246 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1000ms

要阻塞整个子网,运行:

[root@localhost blctrl]# firewall-cmd --add-rich-rule="rule family='ipv4' source address='192.168.3.0/24' reject"

保存防火墙规则

如果你对防火墙规则做了任何修改,为了立即应用更改,你需要运行以下命令:

[root@localhost blctrl]# firewall-cmd --reload
success

查看防火墙规则

要看一下在防火墙中所有规则,执行这个命令:文章来源地址https://www.toymoban.com/news/detail-618278.html

[root@localhost blctrl]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports: 443/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
        rule family="ipv4" source address="192.168.3.244" reject

到了这里,关于如何使用FirewallD限制网络访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 报错“FirewallD is not running”怎么办,如何解决?

    报错“FirewallD is not running”怎么办,如何解决?

    一、报错详情 二、解决方法—开启防火墙步骤 步骤一:先通过命令查看一下防火墙的状态。  步骤二:开启防火墙。 步骤三:再次查看防火墙状态 在docker创建redis容器,在进行window访问redis容器端口进行绑定设置时,执行 firewall-cmd --zone=public --add-port=6379/tcp --permanent 进行防

    2024年02月02日
    浏览(10)
  • shell脚本练习--安全封堵脚本,使用firewalld实现

    shell脚本练习--安全封堵脚本,使用firewalld实现

      安全封堵(security hardening)是指采取一系列措施来增强系统的安全性,防止潜在的攻击和漏洞利用。以下是一些常见的安全封堵措施: 更新和修补系统:定期更新操作系统和软件包以获取最新的安全补丁和修复程序。 配置防火墙:使用防火墙软件(如iptables或firewalld)来限

    2024年02月14日
    浏览(10)
  • Firewalld防火墙

    Firewalld防火墙

    • firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包

    2023年04月09日
    浏览(11)
  • Firewalld防火墙基础

    Firewalld防火墙基础

    目录 一、Firewalld 概述 1.1 Firewalld的简述 1.2 Firewalld 和 iptables的区别 1.3 firewalld的区域 1.3.1 firewalld的9个区域 1.3.2 firewalld的数据处理流向 1.3.3 数据包的规则 二、firewalld的配置 2.1 配置方法 2.1.1Firewall-config图形工具 2.1.2Firewall-cmd命令行工具   2.1.3/etc/firewalld/中的配置文件  2.2 区

    2024年02月04日
    浏览(8)
  • 8.FireWalld防火墙

    8.FireWalld防火墙

    firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也 是工作在网络层,属于包过滤防火墙。 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功 能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包过滤

    2024年02月05日
    浏览(11)
  • docker与firewalld冲突解决

    firewall的底层是使用iptables进行数据过滤,建立在iptables之上,而docker使用iptables来进行网络隔离和管理,这可能会与 Docker 产生冲突。当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。 iptables -L 查询iptables 链 解决方法: 让D

    2024年02月06日
    浏览(10)
  • Linux:Firewalld防火墙

    Linux:Firewalld防火墙

    目录 绪论 1、firewalld配置模式 2、预定义服务:系统自带 3端口管理 firewalld 防火墙,包过滤防火墙,工作在网络层,centos7自带的默认的防火墙 作用是为了取代iptables 运行时配置 永久配置 iptables是静态防火墙 firewalld是动态防火墙 firewalld按照区域来进行划分:9个区域 (需要人

    2024年02月12日
    浏览(8)
  • iptables防火墙和Firewalld

    iptables防火墙和Firewalld

    引言 在 Internet 中,企业通过各种应用系统来为用户提供各种服务,如 Web 网站、电子邮件系统、FTP 服务器、数据库系统等,那么,如何来保护这些服务器,过滤企业不需要的访问甚至是恶意的入侵呢,接下来,我们将学习 CentOS 6 系统中的防火墙——netfilter 与 iptables,以及

    2024年02月01日
    浏览(15)
  • Linux 之 firewalld 防火墙

    Linux 之 firewalld 防火墙

    firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过过滤子系统(属于内核态)来实现

    2024年02月06日
    浏览(11)
  • 防火墙firewalld 开启关闭端口

    对指定ip开放指定端口: 对指定ip关闭指定端口: 重启后生效: systemctl restart firewalld.service 列出全部生效的防火墙配置: firewall-cmd --list-all 开放指定端口: firewall-cmd --zone=public --add-port=8848/tcp --permanent 关闭指定端口: firewall-cmd --zone=public --remove-port=8848/tcp --permanent

    2024年01月21日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包