我已经在VPS上安装了一个新的CentOS 7小型安装程序(奇怪的是,从我一直在搜索的内容来看,firewalld应该已经安装在系统上了)。
我试着打开一些端口,但是当运行以下命令时
firewall-cmd --zone=public --add-port=80/tcp --permanent
我得到以下错误消息:Error: INVALID_ZONE: public。
当使用firewall-cmd --get-zones查看可用区域时,我什么也得不到。
它应该如何配置?
发布于 2017-03-08 18:52:06
这听起来像是一个非常奇怪的VPS设置和问题,但是如果您不介意编写一些XML,那么您可以很容易地构建自己的区域。
我的公共区域是:
<?xml version="1.0" encoding="utf-8"?>
<zone target="DROP">
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<port protocol="tcp" port="443"/>
</zone>它是默认public.xml的一个稍微修改的版本,它会丢弃而不是拒绝数据包,并允许HTTPS和SSH。
您可以将其放入(我认为)/etc/firewalld/zone/public.xml中。
发布于 2017-12-28 01:20:43
VPSes做了各种各样的蠢事。其中一些在内核级别上对SELinux进行核弹,因此您甚至无法启用它。首先,您需要使用uname -r检查内核。应该说是el7。
3.10.0-693.2.2.el7.x86_64如果是el7,你就好了。如果没有,您需要检查VPS是否可以使用股票EL内核,或者从您自己的CentOS ISO重新安装实例(这就是我在Vultr上所做的)。使用自定义内核修复firewalld仍然是可能的,但最好有正式的内核。
无论如何,如果firewalld实际上是功能性的,只是没有区域,那么只需创建区域并添加服务。
firewall-cmd --new-zone=public --permanent
firewall-cmd --reload
firewall-cmd --zone=public --add-service=ssh --permanent
firewall-cmd --reload注意:您必须在同一会话中执行这些操作,否则可能会被锁在SSH之外,并求助于控制台访问来修复防火墙。
https://serverfault.com/questions/685158
复制相似问题