centos7 防火墙开启端口
centos7 防火墙开启端口
说明:刚刚使用systemctl start firewalld
命令开启防火墙的时候,却开不成功,出现Failed to start firewalld.service: Unit is masked
的错误,经过搜索下后,发现是firewalld
服务被锁定了,这里说下方法。
方法
执行命令,即可实现取消firewalld
的锁定
systemctl unmask firewalld
解锁后,就可以再开启firewalld
防火墙了。
再需要锁定firewalld
时执行命令
systemctl mask firewalld
工具/原料
-
阿里云服务器centos(或直接在安全组中设置)
方法/步骤
执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running,如下图所示。
通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。
通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。
再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。
1、开放端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口
firewall-cmd --reload # 配置立即生效
2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
3.、关闭防火墙
如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service
4、查看防火墙状态
firewall-cmd --state
5、查看监听的端口
netstat -lnpt
PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools
6、检查端口被哪个进程占用
netstat -lnpt |grep 5672
7、查看进程的详细信息
ps 6832
8、中止进程
kill -9 6832
方法二:使用iptables
1、先运行如下命令:
/sbin/iptables -I INPUT -p tcp --dport xxx -j ACCEPT
2、然后运行:
/etc/rc.d/init.d/iptables save
或者这个命令:
1、-A INPUT -m state –state NEW -m tcp -p tcp –dport xxx -j ACCEPT 2、在运行这个命令: -A INPUT -j REJECT –reject-with icmp-host-prohibited 注:xxx ——表示你要开启的端口号,如:6379
测试:在windows下按下win+R键,输入cmd,运行命令(需开启telnet),如果变成空界面表示成功:
telnet 192.168.xx.xx 6379
注:开启telnet方法如下:
1. 进入控制面板,选择程序;
2. 点击程序,进入程序和功能;
3.勾选telnet功能,点击确定即可。