sudo ufw enable|disable
ubuntu 系統默認已安裝ufw.
1.安裝
sudo apt-get install ufw
1
2.啟用
sudo ufw enable
sudo ufw default deny
1
2
3
運行以上兩條命令后,開啟了防火牆,並在系統啟動時自動開啟。關閉所有外部對本機的訪問,但本機訪問外部正常。
3.開啟/禁用
sudo ufw allow|deny [service]
1
打開或關閉某個端口,例如:
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 刪除上面建立的某條規則
1
2
3
4
5
6
7
8
9
10
11
12
13
4.查看防火牆狀態
sudo ufw status
1
一般用戶,只需如下設置:
sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny
1
2
3
4
5
以上三條命令已經足夠安全了,如果你需要開放某些服務,再使用sudo ufw allow開啟。
開啟/關閉防火牆 (默認設置是’disable’)
sudo ufw enable|disable
1
轉換日志狀態
sudo ufw logging on|off
1
設置默認策略 (比如 “mostly open” vs “mostly closed”)
sudo ufw default allow|deny
1
許 可或者屏蔽端口 (可以在“status” 中查看到服務列表)。可以用“協議:端口”的方式指定一個存在於/etc/services中的服務名稱,也可以通過包的meta-data。 ‘allow’ 參數將把條目加入 /etc/ufw/maps ,而 ‘deny’ 則相反。基本語法如下:
sudo ufw allow|deny [service]
1
顯示防火牆和端口的偵聽狀態,參見 /var/lib/ufw/maps。括號中的數字將不會被顯示出來。
sudo ufw status
1
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端口"的規則