问题

重新找了一台centos安装了一下nebula,之前无法链接的问题是防火墙未开启端口,今天发现防火墙并未开启的情况下, 依然访问不了

原因

排查原来 centos 即便关闭防火墙,也只能使用22端口连接ssh,别的端口还是不能用的,所以需要开启防火墙,手动设置要开放的端口

查看状态:

1
2
systemctl status firewalld

解决方案

1、先开启firewalld:

1
2
systemctl start firewalld

2、放通端口:

1
firewall-cmd --zone=public --add-port=3306/tcp --permanent

3、重新加载配置文件:

1
firewall-cmd --reload

参考 centos7系列关闭防火墙但是端口依然无法访问

FirewallD 常用的命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
firewall-cmd --state ##查看防火墙状态,是否是running

systemctl status firewalld.service ##查看防火墙状态

systemctl start firewalld.service ##启动防火墙

systemctl stop firewalld.service ##临时关闭防火墙

systemctl enable firewalld.service ##设置开机启动防火墙

systemctl disable firewalld.service ##设置禁止开机启动防火墙

firewall-cmd --permanent --query-port=80/tcp ##查看80端口有没开放

firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令

firewall-cmd --get-zones ##列出支持的zone

firewall-cmd --get-services ##列出预定义的服务

firewall-cmd --query-service ftp ##查看ftp服务是否放行,返回yes或者no

firewall-cmd --add-service=ftp ##临时开放ftp服务

firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务

firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务

firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent ##移除80端口

iptables -L -n ##查看规则,这个命令是和iptables的相同的

man firewall-cmd ##查看帮助

参数含义:

--zone #作用域

--permanent #永久生效,没有此参数重启后失效