前言

  由于近期,腾讯云服务器就要到期了,学生优惠即将失效了,所以准备将数据库和项目迁移到vultr上。然而,在使用nivicat连接mysql数据库的过程中,却屡次出现:Can't connect to MYSQL server on 'XX.XX.XX.XX'【10060 “Unknown error”】。

  查阅网友的博客后,对方分析可能三个原因:

  1 网络 [排除]

  2 权限。mysql数据库登陆用户的权限不足。[经过下述步骤测试,排除]

# 进入MYSQL数据库
XX@yy# sudo mysql -u root -p
XX@yy# # 新建用户
mysql> CREATE user jack@'%';# 任意主机
mysql> SET PASSWORD FOR jack@'%'=PASSWORD('test');
mysql> grant all privileges on *.* to jack;
mysql> FLUSH PRIVILEGES;# 更新mysql数据库系统的用户权限列表 # shell端登陆mysql by jack
OK # navicat端登陆mysql by jack
继续报上述错误

  3 防火墙 

  看来,只剩下这种可能了,我试了试,成了!
  我先通过vultr云服务商的FireWall来配置防火墙的进入站端口,结果,80端口生效了,但3306却依旧不行,目前原因未知。

  那还有其他办法来配置linux服务器的防火墙吗?答案有,便是linux自带的ufw防火墙工具。

UFW介绍与安装

  Uncomplicated Firewall,它是一款「用户友好」的shell工具,可用于管理 iptables 防火墙规则,其主要目的就是让管理 iptables防火墙规则 更加轻松容易

  【系统默认携带UFW +UFW 默认禁用】Ubuntu 18.04 LTS 系统中已默认附带了 UFW 工具,并且默认都是禁用状态(status:inactive)。

  【UFW默认:禁止所有端口入站,开启所有端口出站】默认情况下,UFW 将阻止所有传入连接并允许所有传出连接。即 除非用户专门打开特定端口,否则任何尝试访问本服务器的人都无法连接,但服务器上运行的应用程序和服务却能够对外访问。

  检查是否已安装ufw工具

# 方式一
man ufw # 方式二(推荐)
sudo ufw status verbose #查看UFW已配置的状态详细信息
sudo ufw status numbered#查看UFW已配置的状态详细信息,并对每一项配置编号显示
# verbose: adj.详细的,冗长的

  如果未安装,可通过下述命令一键安装

apt-get install ufw

UFW使用

  1.列出所有应用程序配置策略

sudo ufw app list

   2.查找有关配置文件和包含规则的更多信息

sudo ufw app info 'Nginx Full'

  

  3.允许SSH连接

   备注:在服务器上正式启用 UFW 防火墙之前,需要事先添加允许 SSH 连接的传入规则;否则,即使UFW开启SSH连接命令,也无效。

sudo ufw allow ssh
sudo ufw allow http

  4.允许指定端口连接

sudo ufw allow 3306/tcp
sudo ufw allow 80/tcp
sudo ufw allow 8080/tcp
sudo ufw allow 22/tcp

  5.允许指定端口范围内连接

sudo ufw allow 7100:7200/tcp
sudo ufw allow 7100:7200/udp # 注:除允许单个端口连接之外,UFW 还允许直接配置端口范围。在使用 UFW 的端口范围时,必需指定 tcp 或 udp 协议。

  6.允许/拒绝指定特定IP地址入站/连接  

sudo ufw allow from XX.YY.ZZ.MM
sudo ufw deny from XX.YY.ZZ.MM

  7.删除UFW策略

# 方式一
# 查看想删除UFW策略的配置项对应编号
sudo ufw status numbered

  

# 指定删除编号为XX的防火墙策略
sudo ufw delete 4
#方式二
sudo ufw delete allow 8069

  8.启用UFW配置

sudo ufw enable

  9.禁用UFW配置

sudo ufw disable

  10.重置UFW配置

  备注:重置 UFW配置项时,系统会禁用 UFW 并删除所有活动规则。

sudo ufw rest

参考文献

  [1] 如何在Ubuntu 18.04 LTS上使用UFW设置防火墙

  [2] 数据库之数据库管理篇[mysql]

  [3] 远程连接docker中的mysql容器 报错10060 unknown error解决办法详解。

  [4] Linux之搭建远程数据库[Ubuntu:全过程]

Linux之防火墙管理篇[Ubuntu:ufw]的更多相关文章

  1. ubuntu ufw防火墙软件的配置入门

    顺便,一条龙作完安全吧. ufw的使用,是比iptables简单.但只能作简单的事儿,更改简单的netfilter里的iptable里的记录.难点的,可能还是得iptables原生命令. 自打2.4版 ...

  2. ubuntu ufw防火墙

    由于LInux原始的防火墙工具iptables过于繁琐,所以ubuntu默认提供了一个基于iptable之上的防火墙工具ufw. ubuntu 9.10默认的便是UFW防火墙,它已经支持界面操作了.在 ...

  3. ubuntu防火墙规则之ufw

    前言 因公司项目的需求,需要对客户端机器简便使用防火墙的功能,所以可在页面进行简便设置防护墙规则,当然,这个功能需求放到我手上我才有机会学到.因为客户端机器都是ubuntu的,所以当然用了ubuntu ...

  4. ubuntu ufw防火墙简易教程(转)

    ufw是一个主机端的iptables类防火墙配置工具,比较容易上手.一般桌面应用使用ufw已经可以满足要求了. 安装方法 sudo apt-get install ufw 当然,这是有图形界面的(比较 ...

  5. Linux下防火墙设置

    Linux下开启/关闭防火墙命令  1) 永久性生效,重启后不会复原 开启:chkconfigiptables on 关闭:chkconfigiptables off 2) 即时生效,重启后复原 开启 ...

  6. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)(转载)

            您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具,允许用户通过Windows RDP访问Linux远程桌面. 除了Windows RDP之外,xr ...

  7. ubuntu ufw相关命令

    引自:http://www.cnblogs.com/jiangyao/archive/2010/05/19/1738909.html 就这句话就够了,下面的可以不看 sudo  ufw enable| ...

  8. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)

    Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7) 您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具, ...

  9. Linux上防火墙开放对应的端口

    在Linux上防火墙开放对应的端口的命令如下: 方式一: [root@localhost sbin]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACC ...

随机推荐

  1. 记录Nginx代理的配置

    server { listen  80; server_name localhost; location / { root    /ect/share/nginx/html; index   inde ...

  2. Greedy分饼干

    分饼干:因为饼干大小和孩子的食欲度不一定是按大小顺序排列的,所以开始要排序一下,然后从最小的饼干依次从食欲小的孩子开始看,如果他愿意吃,就++,看下一个小孩子,这回拿的就是大一点的饼干了. Examp ...

  3. ASP.NET Core部署在IIS上

    1.下载安装 Windows Server Hosting ,它的作用是,让IIS有反向代理功能(Asp.Net Core Module负责反向代理工作),将请求转发到 Kestrel 2.发布网站, ...

  4. jeecg字典表—报表配置(popup弹框)

    新建字典表 录入字典数据 新建报表配置 新建用于popup的表 字典Code中对应,用户接受popup返回的字段(按顺序写) 结果校验

  5. open-vm-tools与VMware Tools

    安装VMware Tools经常会出现兼容性不好,系统之间复制文件失灵,并且安装时提示建议使用open-vm-tools,于是放弃vmware-tools的安装,尝试使用open-vm-tools o ...

  6. VS2010动态链接库的生成及调用(C++)

    一.动态链接库的生成 首先利用VS2010新建一个空的工程或者win32工程 2.在工程中添加头文件和源文件 3.工程属性配置 3.1 可以在解决方案目录下新建以下几个文件夹 bin (用于存放Rel ...

  7. MySQL数据库执行计划(简单版)

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库执行计划简单版时间:2019年2月25日内容:MySQL数据库执行计划简单版重点:MySQL ...

  8. Python selenium —— 一定要会用selenium的等待,三种等待方式解读

    发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性. 很多人在群里问,这个下拉框定位不到.那个弹出框定位不到…各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加 ...

  9. Jira安装过程

    一.下载jira jira下载路径:https://www.atlassian.com/software/jira/download 二.安装 jira安装一直下一步下一步即可 三.破解 E:\JIR ...

  10. flutter Provide 状态管理篇

    Provide是Google官方推出的状态管理模式.官方地址为: https://github.com/google/flutter-provide 现在Flutter的状态管理方案很多,redux. ...