linux在默认情况下会开启selinux,如果软件开放的端口不是selinux默认的协议端口会导致防火墙端口开放后还是无法访问。以下是解决办法。
[root@localhost ~]# semanage port -l |grep http http_cache_port_t tcp 8080, 8118, 8123, 10001-10010 http_cache_port_t udp 3130 http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000 没有801所以不能接管httpd pegasus_http_port_t tcp 5988 pegasus_https_port_t tcp 5989
解决方案 semanage port -a -t http_port_t -p tcp 801 将801加入selinux http_cache_port_t tcp 8080, 8118, 8123, 10001-10010 http_cache_port_t udp 3130 http_port_t tcp 801, 80, 81, 443, 488, 8008, 8009, 8443, 9000 ///801已加入
扩展 senamage 端口 增加 类型 [] 协议 TCP/UDP 端口 semanage port -a -t http_port_t -p tcp 801 senamage 端口 修改 类型 [] 协议 TCP/UDP 端口 semanage port -m -t http_port_t -p tcp 801 senamage 端口 删除 类型 [] 协议 TCP/UDP 端口 semanage port -d -t http_port_t -p tcp 801
查看SELinux状态: 1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态 SELinux status: enabled 2、getenforce ##也可以用这个命令检查 关闭SELinux: 1、临时关闭(不用重启机器): setenforce 0 ##设置SELinux 成为permissive模式 ##setenforce 1 设置SELinux 成为enforcing模式 2、修改配置文件需要重启机器: 修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled 重启机器即可