找回密码
 立即注册
查看: 577|回复: 0

[linux] firewall-cmd限定特定的ip访问

[复制链接]

224

主题

0

回帖

773

积分

高级会员

积分
773
发表于 2024-6-8 13:26:32 | 显示全部楼层 |阅读模式
本帖最后由 御坂主机 于 2024-6-8 21:49 编辑

1. 简介

在现代网络环境中,配置防火墙以限制特定IP访问是一项重要的安全措施。FirewallD是基于iptables的一个动态管理工具,它提供了更为简洁和直观的防火墙管理方式。本文将介绍如何使用firewall-cmd命令来限定特定IP的访问权限,确保系统的安全性。

1.1 什么是FirewallD

FirewallD是一个用于配置和管理linux防火墙的动态工具。它通过提供一个更高层次的抽象来简化iptables规则的管理。firewall-cmd是FirewallD的命令行接口,可以用于添加、修改和删除防火墙规则。

2. 安装与启用FirewallD

在开始配置防火墙规则之前,我们需要确保FirewallD已安装并运行。

2.1 安装FirewallD

在大多数现代Linux发行版(如CentOS、Fedora、RHEL)中,FirewallD通常默认安装。如果没有安装,可以使用以下命令进行安装:

  1. sudo yum install firewalld    # CentOS, RHEL
  2. sudo apt-get install firewalld  # Ubuntu, Debian
复制代码

2.2 启用FirewallD

安装完成后,启用并启动FirewallD:

  1. sudo systemctl enable firewalld
  2. sudo systemctl start firewalld
复制代码


3. 限定特定IP的访问

FirewallD允许我们通过firewall-cmd命令轻松管理IP访问规则。下面介绍如何添加、查看和删除针对特定IP的防火墙规则。

3.1 添加IP访问规则

假设我们要允许特定的IP地址(如192.168.1.100)访问我们的服务器,可以使用以下命令:

  1. sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
复制代码


上述命令添加了一条永久规则,允许来自IP地址192.168.1.100的所有流量。为了使新规则生效,需要重新加载防火墙配置:

  1. sudo firewall-cmd --reload
复制代码


3.2 限制IP访问特定端口

如果我们只想允许特定IP访问某个端口(如端口80),可以使用以下命令:

  1. sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'
复制代码


上述命令允许来自192.168.1.100的IP访问服务器的HTTP服务(端口80)。同样,需要重新加载防火墙配置使规则生效:

  1. sudo firewall-cmd --reload
复制代码


3.3 拒绝特定IP的访问

如果需要拒绝特定IP(如192.168.1.200)的所有访问,可以使用以下命令:

  1. sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.200" reject'
复制代码


上述命令添加了一条永久规则,拒绝来自IP地址192.168.1.200的所有流量。重新加载防火墙配置以使规则生效:

  1. sudo firewall-cmd --reload
复制代码


4. 管理防火墙规则

4.1 查看当前规则

可以使用以下命令查看当前配置的所有规则:

  1. sudo firewall-cmd --list-all
复制代码


4.2 删除规则

如果需要删除之前添加的规则,首先需要知道规则的具体内容。例如,要删除允许192.168.1.100访问端口80的规则,可以使用以下命令:

  1. sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'
复制代码


重新加载防火墙配置以使更改生效:

  1. sudo firewall-cmd --reload
复制代码


5. 结论

通过本文的介绍,我们了解了如何使用firewall-cmd命令在FirewallD中限定特定IP的访问权限。FirewallD提供了一种灵活且强大的方式来管理防火墙规则,使得系统管理员能够更轻松地保护服务器免受未经授权的访问。定期检查和更新防火墙规则是维护系统安全的关键步骤。希望本文能帮助你更好地掌握FirewallD的使用,提升系统的安全性。



------------------------------------------------------------------------------------------------------------------------------------------

========  御 坂 主 机  ========

>> VPS主机 服务器 前沿资讯 行业发布 技术杂谈 <<

>> 推广/合作/找我玩  TG号 : @Misaka_Offical <<

-------------------------------------------------------------------------------------------------------------------------------------------

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-5 02:23 , Processed in 0.062483 second(s), 24 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表