1. 程式人生 > >Linux之防火墻管理篇[Ubuntu:ufw]

Linux之防火墻管理篇[Ubuntu:ufw]

自帶 man url user isp title 禁止 搭建 重置

前言

  由於近期,騰訊雲服務器就要到期了,學生優惠即將失效了,所以準備將數據庫和項目遷移到vultr上。然而,在使用nivicat連接mysql數據庫的過程中,卻屢次出現:Can‘t connect to MYSQL server on ‘XX.XX.XX.XX‘【10060 “Unknown error”】。
技術分享圖片

  查閱網友的博客後,對方分析可能三個原因:

  1 網絡 [排除]

  2 權限mysql數據庫登陸用戶的權限不足。[經過下述步驟測試,排除]

# 進入MYSQL數據庫
[email protected]# sudo mysql -u root -p
[email protected]# 

# 新建用戶
mysql> CREATE user [email protected]‘%‘;# 任意主機
mysql> SET PASSWORD FOR [email protected]‘%‘=PASSWORD(‘test‘);
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]