美文网首页redismongodb研究
iptables开放指定端口

iptables开放指定端口

作者: RamboL | 来源:发表于2022-06-28 12:19 被阅读0次

    由于业务的需要, 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
    

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

    相关文章

      网友评论

        本文标题:iptables开放指定端口

        本文链接:https://www.haomeiwen.com/subject/oomavrtx.html