Linux之防火墙管理篇[Ubuntu:ufw]
前言
由于近期,腾讯云服务器就要到期了,学生优惠即将失效了,所以准备将数据库和项目迁移到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设置防火墙
相关文章
- Ubuntu(linux) 下编译ffmpeg
- [ 总结 ] Linux下两种常用的双网卡绑定
- 【Linux开发】Ubuntu图形界面切换与磁盘扩展分区
- 几个linux内核参数
- 如何在Ubuntu和Linux Mint上启用桌面共享
- linux搭建samba局域网共享文件夹
- 如何在Linux中将文件编码转换为UTF-8
- Linux内核里的数据结构——位数组
- Linux 给用户 赋某个文件夹操作的权限
- Linux kernel buffer ring
- linux系统最小化安装后的初始化脚本
- Linux:expect实现自动拉取git代码
- Linux之Ubuntu安装搜狗输入法
- Linux文件下载(转)
- linux一条命令添加一个root级别账户并设置密码
- linux中uptime命令查看linux系统负载
- linux(ubuntu)下安装phantomjs
- Linux·gcc 编译优化简介
- 生产环境实战spark (1)Linux ubuntu系统安装
- Ext2, Ext3和Ext4是什么以及如何创建和转换Linux文件系统
- Ubuntu在下面LAMP(Linux+Apache+MySQL+PHP) 开发环境的搭建
- Linux下查看/管理当前登录用户及用户操作历史记录
- ubuntu常用文件搜索命令 分类: linux 学习笔记 ubuntu 2015-07-05 15:40 84人阅读 评论(0) 收藏
- Oracle Java 14 (JDK 14)在Ubuntu、Linux Mint或Debian(使用PPA)安装配置
- Oracle Java 13 (JDK 13)在Ubuntu、Linux Mint或Debian(使用PPA)安装配置
- Linux Ubuntu Java Jdk10 安装命令和手动下载安装方法
- 大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议)
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令
- 如何在Ubuntu Linux中获取CPU温度
- Linux终端记录神器
- Linux du命令