RHEL 7/CentOS 7 默认开启了防火墙,所以如果由于防火墙的问题导致服务无法访问的情况下,就需要对 RHEL 7/CentOS 7 防火墙进行配置了。
以下命令针对 root
用户,如果当前为普通用户,命令行前加入 sudo
,比如 sudo systemctl stop firewalld
禁用 firewalld
systemctl stop firewalld
systemctl disable firewalld
启用 firewalld
systemctl start firewalld
systemctl enable firewalld
开放端口
以 tomcat 的 8080 端口为例:
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
参数格式 --add-port=<port>/<protocol>
协议包括 tcp, udp, icmp 等协议,比如 NTP 走的就是 123/udp 的形式:
firewall-cmd --permanent --add-port=123/udp
firewall-cmd --reload
当然 NTP 可以使用服务名的方式进行配置,见下文。
开放服务
firewalld 内置了部分服务的端口配置,可直接通过服务名来开放服务端口,比如 http:
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
其他的服务名可通过 firewall-cmd --get-services
查询,常用的服务名包括:
ssh ftp http https mysql nfs ntp radius samba telnet vnc-server