如何通过 iptables 屏蔽 MySQL 远程登陆?

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DOCKER-USER  all  --  0.0.0.0/0            0.0.0.0/0
DOCKER-ISOLATION-STAGE-1  all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
DOCKER     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain DOCKER (1 references)
target     prot opt source               destination
ACCEPT     udp  --  0.0.0.0/0            172.17.0.2           udp dpt:444
ACCEPT     udp  --  0.0.0.0/0            172.17.0.2           udp dpt:443
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.3           tcp dpt:3306
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.4           tcp dpt:80

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination
DOCKER-ISOLATION-STAGE-2  all  --  0.0.0.0/0            0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain DOCKER-USER (1 references)
target     prot opt source               destination
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

以上是我的 iptables 规则,可以看到 INPUT 链是禁止了 3306 端口的。
但是我远程登陆 MySQL 还是可以登录,没有起到屏蔽端口的效果。
请问该如何设置 iptables 呢?

阅读 2k
1 个回答

不需要这么麻烦,直接在MYSQL里授权即可,本地登录,这样远程登录就会失败。
ACCEPT tcp -- 0.0.0.0/0 172.17.0.3 tcp dpt:3306
你这是接受不是拒绝啊。。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题