ufw是Ubuntu系列發行版自帶的類似iptables的防火墻管理軟件,底層也是基于netfilter的。
官方man手冊: http://manpages.ubuntu.com/manpages/trusty/man8/ufw.8.html
Usage:
ufw COMMANDCommands:
enable enables the firewall
disable disables the firewall
default ARG set default policy
logging LEVEL set logging to LEVEL
allow ARGS add allow rule
deny ARGS add deny rule
reject ARGS add reject rule
limit ARGS add limit rule
delete RULE|NUM delete RULE
insert NUM RULE insert RULE at NUM
route RULE add route RULE
route delete RULE|NUM delete route RULE
route insert NUM RULE insert route RULE at NUM
reload reload firewall
reset reset firewall
status show firewall status
status numbered show firewall status as numbered list of RULES
status verbose show verbose firewall status
show ARG show firewall report
version display version informationApplication profile commands:
app list list application profiles
app info PROFILE show information on PROFILE
app update PROFILE update PROFILE
app default ARG set default application policy
一、基本用法
- 啟用ufw
~]$ufw enable
- 禁用ufw
~]$ufw diable
- 查看防火墻狀態及規則列表
~]$ufw status
- 重置防火墻
~]$ufw reset
- 切換防火墻日志級別
防火墻日志級別從low->full,日志開啟后默認就是low級別,記錄的日志量最少,內容包括和默認策略不匹配的包(帶速率限制)以及匹配了規則的包,full是記錄日志內容最多的級別。
~]$ufw logging on|off|LEVEL # level : low medium high full
- 設置防火墻默認策略
~]$ ufw default allow|deny|reject DIRECTION #DIRECTION: incoming outgoing routed
- 添加防火墻規則
如果不指定package的方向(in/out),則默認為in。
#simple syntax
~]$ufw allow port
~]$ufw allow port/protocol
~]$ufw allow protocol #will check /etc/services for the port and protocol if specifying a service by name.
#fuller syntax
~]$ufw allow proto tcp [from ip/any] to ip/any port 80
~]$ufw deny 80/tcp #禁止其他設備連接到本機的tcp協議的80端口
- 刪除防火墻規則
~]$ ufw delete number #以狀態碼刪除規則
~]$ ufw delete allow 80/tcp #指定具體的規則刪除
二、應用集成
ufw支持通過配置文件的方式進行應用集成,配置文件位于
/etc/ufw/applications.d
,可以使用命令ufw app list
列出當前已經集成的應用名稱。可以在前面的路徑下面添加自定義服務,然后使用ufw allow <name>
允許該服務,其中name是應用名。也可以使用完整的語法在最后加上應用名即可。配置示例:
[OpenSSH]
title=Secure shell server, an rshd replacement
description=OpenSSH is a free implementation of the Secure Shell protocol.
ports=22/tcp