自打2.4版本之後的Linux內核中, 提供了一個很是優秀的防火牆工具。這個工具能夠對出入服務的網絡數據進行分割、過濾、轉發等等細微的控制,進而實現諸如防火牆、NAT等功能。通常使用名氣比較的大iptables等程序對這個防火牆的規則進行管理。html
iptables能夠靈活的定義防火牆規則, 功能很是強大。可是由此產生的反作用即是配置過於複雜。一貫以簡單易用著稱Ubuntu在它的發行版中,附帶了一個相對iptables簡單不少的防火牆 配置工具:ufw。linux
ufw防火牆 即uncomplicated firewall的簡稱,不復雜的防火牆,繁瑣部分的設置仍是須要去到iptables,已經支持界面操做了。在命令行運行ufw命令就能夠看到提示的一系列可進行的操做。ubuntu
最簡單的一個操做:
sudo ufw status(若是你是root,則去掉sudo,ufw status)可檢查防火牆的狀態,個人返回的是:inactive(默認爲不活動)。
sudo ufw version防火牆版本:
ufw 0.29-4ubuntu1
Copyright 2008-2009 Canonical Ltd.
ubuntu 系統默認已安裝ufw.安全
1.安裝網絡
sudo apt-get install ufwssh
2.啓用tcp
sudo ufw enable
sudo ufw default deny
運行以上兩條命令後,開啓了防火牆,並在系統啓動時自動開啓。關閉全部外部對本機的訪問,但本機訪問外部正常。工具
3.開啓/禁用.net
sudo ufw allow|deny [service]
打開或關閉某個端口,例如:
sudo ufw allow smtp 容許全部的外部IP訪問本機的25/tcp (smtp)端口
sudo ufw allow 22/tcp 容許全部的外部IP訪問本機的22/tcp (ssh)端口
這個很重要,ssh遠程登陸用於SecureCRT等軟件建議開啓。或者不要開防火牆。
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端口"的規則
轉載自:http://www.jb51.net/os/Ubuntu/72109.html;http://www.cnblogs.com/ylan2009/articles/2321136.html;