1. 程式人生 > >ubuntu 的ufw詳解--防火牆

ubuntu 的ufw詳解--防火牆

LInux原始的防火牆工具iptables由於過於繁瑣,所以ubuntu系統預設提供了一個基於iptable之上的防火牆工具ufw。而UFW支援圖形介面操作,只需在命令列執行ufw命令即能看到一系列的操作。接下來,就由專業運營香港伺服器、美國伺服器、韓國伺服器等國外伺服器的天下資料為大家介紹ubuntu系統防火牆的開啟、關閉等常規操作命令。

sudo ufw version防火牆版本:


  ufw 0.29-4ubuntu1

  Copyright 2008-2009 Canonical Ltd.

  ubuntu 系統預設已安裝ufw.

  1.安裝

  sudo apt-get install ufw

  2.啟用

  sudo ufw enable

  sudo ufw default deny

  執行以上兩條命令後,開啟了防火牆,並在系統啟動時自動開啟。關閉所有外部對本機的訪問,但本機訪問外部正常。

  3.開啟/禁用

  sudo ufw allow|deny [service]

  開啟或關閉某個埠,例如:
  sudo ufw allow smtp 允許所有的外部IP訪問本機的25/tcp (smtp)埠

  sudo ufw allow 22/tcp 允許所有的外部IP訪問本機的22/tcp (ssh)埠

  sudo ufw allow 53 允許外部訪問53埠(tcp/udp)

  sudo ufw allow from 192.168.1.100 允許此IP訪問所有的本機埠

  sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53

  sudo ufw deny smtp 禁止外部訪問smtp服務

  sudo ufw delete allow smtp 刪除上面建立的某條規則

  4.檢視防火牆狀態

  sudo ufw status

  一般使用者,只需如下設定:

  sudo apt-get install ufw

  sudo ufw enable

  sudo ufw default deny

  以上三條命令已經足夠安全了,如果你需要開放某些服務,再使用sudo ufw allow開啟。

  開啟/關閉防火牆 (預設設定是’disable’)

  sudo ufw enable|disable

  轉換日誌狀態

  sudo ufw logging on|off

  設定預設策略 (比如 “mostly open” vs “mostly closed”)

  sudo ufw default allow|deny

  許 可或者遮蔽埠 (可以在“status” 中檢視到服務列表)。可以用“協議:埠”的方式指定一個存在於/etc/services中的服務名稱,也可以通過包的meta-data。 ‘allow’ 引數將把條目加入 /etc/ufw/maps ,而 ‘deny’ 則相反。基本語法如下:

  sudo ufw allow|deny [service]

  顯示防火牆和埠的偵聽狀態,參見 /var/lib/ufw/maps。括號中的數字將不會被顯示出來。

  sudo ufw status

  UFW 使用範例:

  允許 53 埠

  $ sudo ufw allow 53

  禁用 53 埠

  $ sudo ufw delete allow 53

  允許 80 埠

  $ sudo ufw allow 80/tcp

  禁用 80 埠

  $ sudo ufw delete allow 80/tcp

  允許 smtp 埠

  $ sudo ufw allow smtp

  刪除 smtp 埠的許可

  $ sudo ufw delete allow smtp

  允許某特定 IP

  $ sudo ufw allow from 192.168.254.254

  刪除上面的規則

  $ sudo ufw delete allow from 192.168.254.254

  Linux 2.4核心以後提供了一個非常優秀的防火牆工具:netfilter/iptables,他免費且功能強大,可以對流入、流出的資訊進行細化控制,它可以 實現防火牆、NAT(網路地址翻譯)和資料包的分割等功能。netfilter工作在核心內部,而iptables則是讓使用者定義規則集的表結構。

  但是iptables的規則稍微有些“複雜”,因此ubuntu提供了ufw這個設定工具,以簡化iptables的某些設定,其後臺仍然是 iptables。ufw 即uncomplicated firewall的簡稱,一些複雜的設定還是要去iptables。

  ufw相關的檔案和資料夾有:
  /etc /ufw/:裡面是一些ufw的環境設定檔案,如 before.rules、after.rules、sysctl.conf、ufw.conf,及 for ip6 的 before6.rule 及 after6.rules。這些檔案一般按照預設的設定進行就ok。

  若開啟ufw之 後,/etc/ufw/sysctl.conf會覆蓋預設的/etc/sysctl.conf檔案,若你原來的/etc/sysctl.conf做了修 改,啟動ufw後,若/etc/ufw/sysctl.conf中有新賦值,則會覆蓋/etc/sysctl.conf的,否則還以/etc /sysctl.conf為準。當然你可以通過修改/etc/default/ufw中的“IPT_SYSCTL=”條目來設定使用哪個 sysctrl.conf.

  /var/lib/ufw/user.rules 這個檔案中是我們設定的一些防火牆規則,開啟大概就能看明白,有時我們可以直接修改這個檔案,不用使用命令來設定。修改後記得ufw reload重啟ufw使得新規則生效。

  下面是ufw命令列的一些示例:
  ufw enable/disable:開啟/關閉ufw

  ufw status:檢視已經定義的ufw規則

  ufw default allow/deny:外來訪問預設允許/拒絕

  ufw allow/deny 20:允許/拒絕 訪問20埠,20後可跟/tcp或/udp,表示tcp或udp封包。

  ufw allow/deny servicename:ufw從/etc/services中找到對應service的埠,進行過濾。

  ufw allow proto tcp from 10.0.1.0/10 to 本機ip port 25:允許自10.0.1.0/10的tcp封包訪問本機的25埠。

  ufw delete allow/deny 20:刪除以前定義的“允許/拒絕訪問20埠