Linux下Centos7对外开放端口

最近在docker下搭建MySQL和Redis环境,远程linux主机内部网络都走通了,但是就是外网
无法连接远程服务器的MySQL和Redis。经过一番查找和学习,终于找到了问题,不仅远程服
务器上docker要做好内部和外部端口的映射,关键还要对对外开放的端口添加到防火墙中。

命令集合:

(1)查看对外开放的端口状态
查询已开放的端口 netstat -anp
查询指定端口是否已开 firewall-cmd --query-port=666/tcp
提示 yes,表示开启;no表示未开启。

(2)查看防火墙状态
查看防火墙状态 systemctl status firewalld
开启防火墙 systemctl start firewalld
关闭防火墙 systemctl stop firewalld
开启防火墙 service firewalld start
若遇到无法开启
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service
(3)对外开发端口
查看想开的端口是否已开:
firewall-cmd --query-port=6379/tcp
添加指定需要开放的端口:
firewall-cmd --add-port=123/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
查询指定端口是否开启成功:
firewall-cmd --query-port=123/tcp
移除指定端口:
firewall-cmd --permanent --remove-port=123/tcp

 

在默认情况下,我们对防火墙所做出的修改都是临时的,换句话说就是重启iptables服务或者重启服务器后,平常添加的规则或者对规则做出的修改都将消失,为了防止这种情况的发生,我们需要将规则保存。
centos6中: service iptables save 规则默认被保在/etc/sysconfig/iptables文件中
centos7中:
#配置好yum源以后安装iptables-service
# yum install -y iptables-services

安装iptables-services :
yum install iptables-services
进入下面目录进行修改:
/etc/sysconfig/iptables

service iptables  start          #启动服务

service iptables  stop 或者systemctl status iptables   #停止服务

(对于以上命令,虽然关闭了iptables。但是如果设置了自动启动的话,重启之后。Iptables又自动开启了(命令 chkconfig查看系统自动启动的进程服务)

5.因此我们还要关闭自动自动,避免重启之后又启动了防火墙

[root@localhost ~]# chkconfig iptables off (设置自动启动为关闭)

# chkconfig --del iptables (移除开机自动启动)

service iptables  restart #重启服务

 

# /sbin/iptables -I INPUT -p tcp --dport 161 -j ACCEPT

# /sbin/iptables -I INPUT -p udp --dport 161 -j ACCEPT

# service iptables save

# service iptables restart

 

清除iptables规则

  如果启动的iptables防火墙不想关闭的话,可以通过iptables -F 来清除防火墙关闭。然后通过iptables -L查看

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值