Linux iptables 开放Mysql端口

本文介绍如何通过修改iptables配置文件来开放指定端口,如3306端口,以便允许外部机器访问MySQL服务。文章详细解释了配置文件中各项参数的意义,并强调了配置项的正确顺序。
修改防火墙配置文件:
vi /etc/sysconfig/iptables
增加下面一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
如果想开通21等端口,只需要将3306换成21等要开放的端口就可以了。
配置后,重新启动iptable
service iptables restart
这时就可以从其他机器访问Mysql了。

注意:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
是拒绝icmp访问,对于其它的报文返回一个主机禁止访问的错误

[color=red]开通3306 端口的行必须在icmp-host-prohibited前[/color]
### 如何在 Linux 中配置防火墙开放 MySQL 默认端口 3306 #### 配置 MySQL 并确认其运行状态 为了确保 MySQL 能够正常监听外部请求,需先验证 MySQL 是否正在使用默认端口 3306 运行。可以通过以下命令进入 MySQL 命令行工具并查询全局变量 `port` 来确认当前使用的端口号: ```sql SHOW GLOBAL VARIABLES LIKE 'port'; ``` 如果发现端口并非 3306 或者未绑定到所有网络接口,则需要编辑 MySQL 的配置文件 `/etc/my.cnf`,找到 `[mysqld]` 部分下的 `bind-address` 和 `port` 设置项[^2]。 - 如果存在 `bind-address = 127.0.0.1`,将其注释掉以便允许远程访问。 - 确认 `port=3306` 已正确定义。 完成上述操作后保存退出,并重启 MySQL 服务使更改生效: ```bash sudo systemctl restart mysqld ``` #### 使用 Netstat 检查端口是否已打开 执行如下命令来检测是否有进程绑定了 3306 端口: ```bash netstat -an | grep 3306 ``` 如果有输出显示为 `LISTEN` 则表示该端口已被正确开启[^1]。 #### CentOS/RHEL/Fedora 下的 Firewalld 配置方法 对于采用 firewalld 作为主要防护机制的操作系统来说,可以按照下面的方式添加新的规则: ##### 启动与启用 firewall 服务 确保 firewalld 正常工作: ```bash sudo systemctl start firewalld sudo systemctl enable firewalld ``` ##### 新增针对 TCP 协议下特定端口 (即此处提到的 3306) 的入站流量许可条目 利用 firewall-cmd 实现具体功能设定: ```bash sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-all ``` 最后一条指令用于展示现有策略列表中的全部项目,借此核实刚才所作调整确实成功应用到了实际环境当中[^4]。 #### Ubuntu/Debian 及其他基于 iptables 的发行版处理方式 当面对不依赖于 firewalld 而依旧沿用传统 iptables 构建边界防御体系架构的情形时,则应采取另一种途径达成相同目的——直接向现存链表追加相应语句片段即可满足需求: ```bash iptables -A INPUT -p tcp --dport 3306 -j ACCEPT service iptables save ``` 或者更推荐的做法是创建自定义脚本并将之纳入开机初始化流程之中长期保留效果[^5]。 另外值得注意的是,在某些特殊场景里还可能存在 SELinux 对象管理器额外施加约束条件的情况;此时除了常规手段之外还需要进一步核查上下文中是否存在阻碍因素从而针对性解决潜在冲突隐患。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值