Linux 伺服器如何開放埠 配置防火牆
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)埠
這個很重要,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埠"的規則