文章浏览 复制本页面地址

解决LINUX 无法向外访问远程MYSQL数据库

前言:
今天分离数据库,我在远程设置数据库允许远程访问,本地可以访问,但是有一台服务器访问不了,奶奶的 这是什么问题呢,看我接下来分析的过程。

服务器 AA IP 192.168.1.22
服务器 BB IP 192.168.1.33

我在AA服务器上 设置了允许 用户 aaa 密码 123 远程登陆 % 在本测试的可以 但是在服务BB上访问 就不行。

首先: 我查看了一下 数据库进程;

netstat -an|grep 3306

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 1 192.168.1.33:56678 192.168.1.22:3306 SYN_SENT

擦 奶奶的 有半连接的信息

其次: 我想关闭防火墙试试;

service iptables stop 执行后 发现可以, 奶奶的 明白了,防火墙问题;于是乎 我看看防火墙配置信息

cat /etc/sysconfig/iptables 发现里面 别有洞天啊

*filter
:INPUT DROP [1:60] 访问
:FORWARD DROP [0:0] 转发
:OUTPUT DROP [0:0] 外出

*******************科普一下LINUX基础***************************
Linux防火墙基础

? Iptables的规则表、链结构

1.规则表(iptables管理4个不同的规则表,其功能由独立的内核模块实现)

filter表:包含三个链 INPUT OUTPUT FORWARD

nat表: PREROUTING POSTROTING OUTPUT

mangle表: PREROUTING POSTROUTING INPUT OUTPUT FORWARD

raw表: OUTPUT PREROUTING

2.规则链

INPUT链 当收到访问防火墙本机的数据包(入站)时,应用此链中的规则

OUTPUT链 当防火墙本机向外发送数据包(出站)时,应用此链中的规则

FORWARD链 收到需要通过防火墙发送给其他地址的数据包,应用此链

PREROUTING链 做路由选择之前,应用此链

POSTROUTING链 对数据包做路由选择之后,应用此链中的规则

*********************************************

于是乎 我知道什么情况了 加上了 外出的 iptables 的访问规则
iptables -A OUTPUT -o eth0 -p TCP --sport 1024:65535 --dport 3306 -j ACCEPT
或者
编辑 vi /etc/sysconfig/iptables
增加 : -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
重启防火墙 就搞定了

标签:
上一篇:
下一篇: