由于业务的需要, MySQL,Redis,mongodb等应用的端口需要我们手动操作开启

下面以 MySQL 为例,开启 3306 端口的远程访问,其他端口类似。

方式一:通过修改iptables文件方式

编辑配置文件


#通过vi或vim命令进行编辑iptables
vi /etc/sysconfig/iptables
### 增加配置

添加如下一行配置:


-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

注意:如果已经存在该端口的配置,修改 DROP 为 ACCEPT:


-A INPUT -p tcp -m tcp --dport 3306 -j DROP => ACCEPT

重启 iptables


service iptables restart

查看开放端口


/sbin/iptables -L -n

方式二 通过命令行方式进行新增

命令


/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

保存


service iptables save

查看开放端口


/sbin/iptables -L -n

方式三 脚本

如果操作比较频繁或者命令的方式比较繁琐,我这里提供一个简单的设置脚本,可以上传到服务器的对应目录,直接运行输入端口号即可

sh脚本


#!/bin/bash
echo "-- 开放端口 ---"
for i in "$@"; do
   echo "正在开放[${i}]端口"
   /sbin/iptables -I INPUT -p tcp --dport ${i} -j ACCEPT
   echo "端口[${i}]开放成功"
done
echo "-----保存端口设置-----"
service iptables save
echo "-----保存成功--------"

使用方法

假设我们使用xshell通过test账号进行ssh登录


#进入用户目录
cd ~
#创建管理脚本
vi fire_wall_set.sh
#shift+insert粘贴sh脚本,!wq 保存并退出脚本编辑
#在控制台中输入,如下命令,赋予脚本可执行权限
chmod +x fire_wall_set.sh
# 输入命令,回车即可
fire_wall_set.sh 3306
#如果需要一次开放多个端口可以通过空格的方式添加多个,如:
fire_wall_set.sh 3306 6379 8888

注意:如果需要通过公网访问,请与对应的云服务器提供商的控制台设置安全组放行(阿里云、腾讯云等)