[trouble] Error_code: 2003 与 iptables的各参数

160206 16:13:22 [ERROR] Slave I/O: error connecting to master 'repl@192.168.1.107:3306' - retry-time: 60  retries: 86400, Error_code: 2003

 

仅查询error code并没有太多的信息

 

不能顺利连接一般有三个原因

1.连接的账户名字和来源有问题

2.授权有问题

3.防火墙有问题

 

因为重启之前已经正常连接过的,重启之后显示连接失败,所以更多考虑是防火墙的问题,可以用两个命令去测试是否能穿过防火墙

答案是失败的,所以采取的措施是在防火墙上穿一个洞——添加规则

iptables -I INPUT -s 0/0 -p tcp --dport 3306 -j ACCEPT

直接添加这个规则就可以了,其实以前也添加过,但如果让我默写出来我是做不到的,因为这些-I -s我不知道什么意思,这是在linux command里面写简写的一个弊端——你完全不知道它的意义是什么,所以以后宁可多敲几个字母,也要把全称写上去

 

-I的意思是 --insert,想要在iptable这个表添加一条规则,其实iptable类比某某法律,防火墙的iptables好比一个国家的出入境法律,现在要添加一条法律所以是--insert,当然也是可以替换一条法律,--replace, 或者删除一条法律 --delete,在这里尾随的参数是INPUT,也就是把这条规则,插入到INPUT的那一条链里面

 

-s 的意思是 --source , 表示需要通过你的防火墙的来源是什么,这个位置需要写ip地址,好像hostname也是可以的,不过最终都要被翻译成ip地址,0/0的是0.0.0.0/0的简写,意思是所有的ip地址都可以成为防火墙的来源,在这里我们希望master只被slave的机子访问的话,就写成 --source 192.168.1.108

 

-p的意思是 --protocol, 这里和MySQL的使用ip的连接方式是一致的

 

--dport 的意思是 destination port,外部的packet需要访问哪个具体的端口,这里当然是写3306了,一般软件和端口和对应的,比如tomcat对应8080,mysql对应3306

 

-j 的全称是 --jump,这里有点形象生动,你是什么样的人就把你扔到哪个地方,你是贵宾,就把你扔到VIP休息室,你是混蛋,就把你扔到垃圾桶,有点像做一个分流的处理,防火墙对于进来的packet,有些是允许的,那就是ACCEPT,有些是拒绝的,那就是REJECT,有些是直接扔掉的,那就是DROP

 

所以详细的写法是

iptables --insert INPUT --protocol=tcp --source=192.168.1.108 --dport=3306 --jump=ACCEPT

 

对于iptables的解释,unbuntu的document很不错:https://help.ubuntu.com/community/IptablesHowTo

 

《重启后规则不见了》================================

 

想要查看存在于iptables里面的所有规则,看INPUT这个政策

添加完以后拥有了新的规则

接着slave可以成功穿过master的防火墙了

接着MySQL也能够顺利的做replication了,现在试着把master机器重启一下,原先加入的rule就消失不见了

这是因为在添加完新的规则之后,没有使用保存,保存功能需要另外下载的

 

这里要注意的是,首先要把所有的iptables规则保存到一个文本上面去,再做以下操作

地址:http://stackoverflow.com/questions/24756240/how-can-i-use-iptables-on-centos-7

转载于:https://www.cnblogs.com/hellotracy/articles/5184170.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值