首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确配置firewalld

正确配置firewalld
EN

Server Fault用户
提问于 2014-07-29 13:18:57
回答 2查看 4.6K关注 0票数 3

自从我使用Centos以来,我就使用带有自定义防火墙脚本的iptables来解析规则。但是,由于Centos 7,firewalld是新的默认设置。这对我来说很好,是时候继续前进了。

无论如何,我认为firewalld的文档写得很糟糕,并举了几个例子。

所以我的问题很简单,但我会说明我想要达到的目标。

我有一个有两个接口的服务器。一个接口连接到互联网,另一个是内部网络。允许内部接口上的所有通信量,因此我将其添加到可信区域。到目前一切尚好。

我默认的想法是,所有的流量都被阻塞,除了它的服务目的(在我的例子中是http,https )。对于维护和备份,ssh应该为一些ip地址打开。

我考虑使用自定义服务为ssh创建规则,但这不起作用,因为服务不接受源标记。那我该怎么做?我想要创建一个文件,在这里我可以定义我的异常(ssh表示一个ip,http表示所有等等)。所以我可以把它们复制到其他服务器上。

提前感谢!

EN

回答 2

Server Fault用户

发布于 2014-12-09 07:59:47

最近我也遇到了这个问题,但是我能够添加对http和https服务的访问。但是我遇到了ssh服务限制在源地址的问题。这是我的工作。

首先,将接口添加到公共区域中。

代码语言:javascript
复制
sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --add-rich-rule='rule family="ipv4" source address="x.x.x.x" service name="ssh" log prefix="ssh" level="info" accept'
sudo firewall-cmd --reload

源地址可以是一个范围,只需指定子网。

因为ssh不是为公共区域添加的,默认情况下它将被阻塞。富规则将只为该源ip/范围启用它。

任何更好的解决方案,请添加。

我回答了我的问题

使用防火墙-cmd在centos 7中创建特定的地址限制.

票数 1
EN

Server Fault用户

发布于 2016-05-06 15:27:02

我不知道这是否是“最好”的方式,但我做到了增加一个新的区域。您可以在区域中放置源地址。因此,创建一个管理区域并添加所需的源地址、服务和端口。由于我经常需要这样做,所以我只保留了区域xml文件,并将其放到每个新服务器中。

例如。在/etc/firewalld/ zone目录中,创建一个名为mgt.xml或任何您想要调用的区域的文件。然后做这样的事情:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Management</short>
  <description>The services to manage the server and the ip addressees to manage it from.</description>
  <source address="2001:0DB8::/64"/>
  <source address="192.168.0.5"/>
  <service name="ssh"/>
  <port protocol="tcp" port="10000"/>
</zone>

然后需要重新启动firewalld。

实际上,我也使用同样的方法来修改其他区域。如果将public.xml或drop.xml放入同一文件夹,则将覆盖这些区域的默认设置。我有4个xml文件放在firewalld中,作为任何新服务器设置过程的一部分,以便为防火墙提供一个安全的起点。

只是一个FYI,您可以使用防火墙-cmd完成所有这一切,但我发现在构建新服务器时,删除xml文件的速度更快。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/616291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档