centOS7.*
)firewall-cmd --state
如果返回的是 “not running”,那么需要先开启防火墙;
systemctl start firewalld.service
再次查看防火墙状态,发现已开启!
firewall-cmd --zone=public --add-port=3306/tcp --permanent
显示 success 表示成功 –zone=public 表示作用域为公共的 –add-port=443/tcp 添加 tcp 协议的端口端口号为 443 –permanent 永久生效,如果没有此参数,则只能维持当前 服 务生命周期内,重新启动后失效;
systemctl restart firewalld.service
系统没有任何提示表示成功!
firewall-cmd --reload
显示 success 表示成功
#查看已开启的端口
firewall-cmd --list-ports
#关闭指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload
#查看端口被哪一个进程占用
netstat -lnpt |grep 5672
# centos7默认没有 netstat 命令,需要安装 net-tools 工具:
# 安装 net-tools
yum install -y net-tools
# 临时关闭防火墙
systemctl stop firewalld.service
# 或者
systemctl stop firewalld
# 永久关闭防火墙(必须先临时关闭防火墙,再执行该命令,进行永久关闭)
systemctl disable firewalld.service
# 或者
systemctl disable firewalld
centOS6.*
)
centOS6.*
的linux版本是自带iptables的,所以可以直接使用该方式,centOS7 不自带iptables的,所以要使用该方式,需要手动安装iptables后,再使用该方式!
#修改iptables
[root@localhost sbin]# vi /etc/sysconfig/iptables
[root@localhost sbin]# /etc/init.d/iptables restart
当在 Linux 中成功开启了某个端口,但是远程 telnet 还是无法 ping 通,是正常的!
因为 3306 端口没有被 Linux 进程监听,换句话说,就是该端口上没有运行任何程序!!! 如果这时,我将 Mysql 在 Linux 中启动,并配置完成,那么远程 telnet 该端口是可以成功的!!!