在 CentOS 7 中,开放指定端口可以通过以下几种方式实现:
一、使用 firewall-cmd 命令
一.添加端口流程
#安装firewall
yum install firewalld
# 启动
systemctl start firewalld
#设置开机自启
systemctl enable firewalld
#添加
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#删除
firewall-cmd --permanent --zone=public --remove-port=8080/tcp
#批量开放
firewall-cmd --zone=public --add-port=1000-5000/tcp --permanent
#批量删除
firewall-cmd --zone=public --remove-port=1000-5000/tcp --permanent
#重启
firewall-cmd --reload
# 查看开放端口
firewall-cmd --list-ports
二.firewall-cmd常用指令
1、firewall-cmd:设置和管理firewall规则
firewall-cmd --state:查看firewall状态
firewall-cmd --zone=public --add-port=80/tcp --permanent:开放80端口,永久生效
firewall-cmd --zone=public --remove-port=8080/tcp --permanent:关闭8080端口,永久生效
firewall-cmd --reload:重启防火墙,立即生效
2、firewalld:防火墙守护程序
systemctl start firewalld:启动防火墙
systemctl restart firewalld:重启防火墙
systemctl stop firewalld:停止防火墙
systemctl enable firewalld:设置防火墙开机启动
二、使用 iptables 命令
#安装iptables
yum install iptables-services
# 启动
systemctl start iptables
#设置开机自启
systemctl enable iptables
#添加
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
#重启
systemctl restart iptables
# # 查看开放端口
iptables -L -n
三,查看端口是否占有没有占用检测不出来
使用netstat命令,可以使用以下命令来检查特定端口(例如,我们检查端口443):
netstat -tuln | grep 443
如果这个端口被占用,那么你将看到输出。如果没有输出,那么这个端口是空闲的。
使用lsof命令,可以使用以下命令来检查特定端口(例如,我们检查端口443):
lsof -i :443
同样,如果这个端口被占用,那么你将看到输出。如果没有输出,那么这个端口是空闲的。