我刚刚构建了 centos7,并尝试设置防火墙,当我输入命令时
firewall-cmd --zone=internal --change-interface=eth0
我收到错误:Error: COMMAND_FAILED
我已经开始了
systemctl start firewalld.service
并且firewall-cmd --state
正在运行
我不知道为什么?我也找不到解决方法...
这个 centos 版本有什么问题吗,还是我错过了什么?
我之前没有看到任何与此 Firewalld 设置错误相关的命令,列出所有:
yum update
更新 gcc
yum install centos-release-scl
yum install devtoolset-3-toolchain
scl enable devtoolset-3 bash
安装 nginx
yum install epel-release
yum install nginx
systemctl start nginx
systemctl enable nginx
安装 postgres
yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
yum install postgresql95-server postgresql95
/usr/pgsql-9.5/bin/postgresql95-setup initdb
systemctl start postgresql-9.5.service
systemctl enable postgresql-9.5.service
安装 mongodb
...
安装 nodejs
...
防火墙
systemctl start firewalld.service
systemctl enable firewalld.service
firewall-cmd --zone=internal --change-interface=eth0
更新
在我尝试重新加载防火墙后,我现在无法使用 ssh 连接,
ssh: connect to host ... port 22: Connection refused
如何连接和修复firewalld?
答案1
要重新连接到您的服务器,您可以转到 linode 机器上的“远程访问”选项卡,然后转到“启动 Lish 控制台”,
请检查问题看起来和你的类似,因为 linode 的内核与防火墙所需的模块不匹配,
答案2
你有几个问题需要回答。看来你按照教程做了,但并没有完全搞定。
- 你确定你的接口名称是 吗
eth0
?找出来。 - 按照建议,转到
Networking
管理门户中的 Linode 选项卡并启动lish
远程访问。这类似于 KVM,因此即使您没有 SSH,也可以直接访问终端。 - 除非您指定
--permanent
参数,否则firewall-cmd
它并不是永久的。重新启动防火墙将重置为原始默认值。 - 检查现有规则,
firewall-cmd --list-all-zones
一些基本端口通常不会被阻止 - 可选地将
alias
其firewall-cmd
改为短一些的。看起来你会用到很多 :)