Ufw使用指南:修订间差异
小 →规则示例 |
无编辑摘要 |
||
(未显示5个用户的10个中间版本) | |||
第1行: | 第1行: | ||
== | 有问题,联系我:一般还是使用站内短信通知比较快。 http://forum.ubuntu.org.cn/ucp.php?i=pm&mode=compose&u=171468 | ||
email:[email protected] | |||
UFW:(8) January 2013 UFW:(8) | |||
== NAME名称 == | |||
ufw - program for managing a netfilter firewall | |||
网络过滤式防火墙管理程序。 | |||
== DESCRIPTION描述 == | |||
This program is for managing a Linux firewall and aims to provide an easy to use interface for the user. | |||
该Linux防火墙管理程序目标是提供简单的使用界面。 | |||
== | == USAGE用法 == | ||
[--dry-run]选项,仅显示运行结果而不实际运行 | |||
- | 启动\关闭\重启 | ||
ufw [--dry-run] enable|disable|reload | |||
默认策略 允许\拒绝\拒绝并提示 [进入\发出\路由 的数据] | |||
ufw [--dry-run] default allow|deny|reject [incoming|outgoing|routed] | |||
日志 启动\关闭\级别 | |||
ufw [--dry-run] logging on|off|LEVEL | |||
重置 | |||
ufw [--dry-run] reset | |||
规则、状态 [详细\序号] | |||
ufw [--dry-run] status [verbose|numbered] | |||
显示“报告” | |||
ufw [--dry-run] show REPORT | |||
[删除][插入 第 行] 允许\拒绝\拒绝并提示\限制 [数据 进入\发出][记录\全记录] 端口[/协议] | |||
ufw [--dry-run] [delete] [insert NUM] allow|deny|reject|limit [in|out] [log|log-all] PORT[/PROTOCOL] | |||
[规则][删除][插入 第 行] 允许\拒绝\拒绝并提示\限制 [数据 进入\发出[网络接口]][记录\全记录] [协议 **][来自**[端口 **]][指向**[端口**] | |||
ufw [--dry-run] [rule] [delete] [insert NUM] allow|deny|reject|limit [in|out [on INTERFACE]] [log|log-all] [proto PROTOCOL] [from ADDRESS [port PORT]] [to ADDRESS [port PORT]] | |||
路由[删除][插入 第 行] 允许\拒绝\拒绝并提示\限制 [数据 进入\发出[网络接口]][记录\全记录] [协议 **][来自**[端口 **]][指向**[端口**] | |||
ufw [--dry-run] route [delete] [insert NUM] allow|deny|reject|limit [in|out on INTERFACE] [log|log-all] [proto PROTOCOL] [from ADDRESS [port PORT]] [to ADDRESS [port PORT]] | |||
删除第*行规则 | |||
ufw [--dry-run] delete NUM | |||
应用名 列表\信息\默认策略\更新 | |||
ufw [--dry-run] app list|info|default|update | |||
== OPTIONS选项 == | |||
--version | |||
show program's version number and exit | |||
显示程序版本并退出 | |||
-h, --help | |||
show help message and exit | |||
显示帮助并退出 | |||
--dry-run | |||
don't modify anything, just show the changes | |||
不进行更改,仅显示更改内容 | |||
enable | |||
reloads firewall and enables firewall on boot. | |||
重启防火墙,设置为开机启动 | |||
disable | |||
unloads firewall and disables firewall on boot | |||
停止防火墙,禁止开机启动 | |||
reload | |||
reloads firewall | |||
重启防火墙 | |||
default allow|deny|reject DIRECTION | |||
change the default policy for traffic going DIRECTION, where DIRECTION is | |||
one of incoming, outgoing or routed. Note that existing rules will have | |||
to be migrated manually when changing the default policy. See RULE SYNTAX | |||
for more on deny and reject. | |||
改变传入\传出\路由的默认策略。已存在的规则可能需要进行手动修改。关于deny|reject的区别参见 SYNTAX | |||
logging on|off|LEVEL | |||
toggle logging. Logged packets use the LOG_KERN syslog facility. Systems | |||
configured for rsyslog support may also log to /var/log/ufw.log. Specify‐ | |||
ing a LEVEL turns logging on for the specified LEVEL. The default log | |||
level is 'low'. See LOGGING for details. | |||
切换记录。日志记录使用的是LOG_KERN系统设备。系统日志保存于/var/log/ufw.log。LEVEL指定不同的级别 ,默认级别是‘ | |||
低’。参见LOGGING | |||
reset | |||
Disables and resets firewall to installation defaults. Can also give the | |||
--force option to perform the reset without confirmation. | |||
关闭并重置防火墙至默认安装状态。使用--force选项,无需等待确认。 | |||
status | |||
show status of firewall and ufw managed rules. Use status verbose for | |||
extra information. In the status output, 'Anywhere' is synonymous with | |||
'any' and '0.0.0.0/0'. Note that when using status, there is a subtle | |||
difference when reporting interfaces. For example, if the following rules | |||
are added: | |||
显示防火墙状态及规则。使用status verbose显示额外信息。显示信息中'Anywhere'等同于 'any'和'0.0.0.0/0'。 | |||
需要注意的是报告有些微妙的差异。例如,加入以下规则: | |||
允许来自192.168.0.0-192.168.255.255的数据通过eth0网卡进入主机 | |||
ufw allow in on eth0 from 192.168.0.0/16 | |||
允许指向10.0.0.0-10.255.255.255的数据通过eth1网卡从本机发出 | |||
ufw allow out on eth1 to 10.0.0.0/8 | |||
允许来自192.168.0.0-192.168.255.255通过eth0网卡收入的数据且指向10.0.0.0-10.255.255.255通过eth1网卡发出的数据经本机路由 | |||
ufw route allow in on eth0 out on eth1 to 10.0.0.0/8 from 192.168.0.0/16 | |||
ufw status will output: | |||
显示信息为: | |||
To Action From | |||
-- ------ ---- | |||
Anywhere on eth0 ALLOW 192.168.0.0/16 | |||
10.0.0.0/8 ALLOW OUT Anywhere on eth1 | |||
10.0.0.0/8 on eth1 ALLOW FWD 192.168.0.0/16 on eth0 | |||
指向 行为 来自 | |||
----- ------ ---- | |||
任意地址,网络接口eth0 允许 192.168.0.0/16 | |||
10.0.0.0/8 允许发出 任意地址,网络接口eth1 | |||
10.0.0.0/8域,网络接口eth1 允许路由 192.168.0.0/16域,网络接口eth0 | |||
For the input and output rules, the interface is reported relative to the | |||
firewall system as an endpoint, whereas with route rules, the interface | |||
is reported relative to the direction packets flow through the firewall. | |||
进入\发出 规则,(来自\指向)是以防火墙系统为终点的;路由规则,(来自\指向)是相对于通过防火墙的流向。 | |||
show REPORT | |||
display information about the running firewall. See REPORTS | |||
显示运行中的防火墙信息。参见REPORTS | |||
allow ARGS | |||
add allow rule. See RULE SYNTAX | |||
增加允许规则。参见 RULE SYNTAX | |||
deny ARGS | |||
add deny rule. See RULE SYNTAX | |||
增加拒绝规则。参见 RULE SYNTAX | |||
reject ARGS | |||
add reject rule. See RULE SYNTAX | |||
增加抵制规则。参见 RULE SYNTAX | |||
limit ARGS | |||
add limit rule. Currently only IPv4 is supported. See RULE SYNTAX | |||
增加限制规则。目前仅适用于IPv4。参见 RULE SYNTAX | |||
delete RULE|NUM | |||
deletes the corresponding RULE | |||
删除对应RULE | |||
insert NUM RULE | |||
insert the corresponding RULE as rule number NUM | |||
以规则号NUM插入对应RULE | |||
== | |||
== RULE SYNTAX规则语法 == | |||
Users can specify rules using either a simple syntax or a full syntax. The sim‐ | |||
ple syntax only specifies the port and optionally the protocol to be allowed or | |||
denied on the host. For example: | |||
用户可以使用简略或完全语法指定规则。简略语法仅指定端口、可选协议被主机允许\拒绝。例如: | |||
允许使用53端口 | |||
* | ufw allow 53 | ||
This rule will allow tcp and udp port 53 to any address on this host. To specify | |||
a protocol, append '/protocol' to the port. For example: | |||
规则意为,允许本机通过53端口使用tcp udp协议指向任意地址的信息(一个物理网卡可以包含1或多个IP地址)。指定协议,在端口后加 / 即可。例如: | |||
允许使用通过tcp协议使用25端口 | |||
ufw allow 25/tcp | |||
This will allow tcp port 25 to any address on this host. ufw will also check | |||
/etc/services for the port and protocol if specifying a service by name. Eg: | |||
规则意为,允许本机通过25端口使用tcp协议指向任意地址(进入)的信息。如果指定服务名称,ufw会通过检查/etc/services文件获得端口、协议信息。例如: | |||
允许smtp应用 | |||
ufw allow smtp | |||
ufw supports both ingress and egress filtering and users may optionally specify | |||
a direction of either in or out for either incoming or outgoing traffic. If no | |||
direction is supplied, the rule applies to incoming traffic. Eg: | |||
ufw同时支持出、入过滤。用户可以使用in\out规定任意方向进出的数据。如果未指定方向,规则将应用于进入的数据。如: | |||
允许http应用数据进入本机 | |||
ufw allow in http | |||
拒绝并告知:拒绝从本机发出smtp应用数据 | |||
ufw reject out smtp | |||
Users can also use a fuller syntax, specifying the source and destination | |||
addresses and ports. This syntax is loosely based on OpenBSD's PF syntax. For | |||
example: | |||
用户也可以使用完整语法,指明来源\目标,地址,端口。该语法是OpenBSD PF语法的简约版。例如: | |||
拒绝指向任意地址使用80端口tcp协议的数据进入本机 | |||
ufw deny proto tcp to any port 80 | |||
This will deny all traffic to tcp port 80 on this host. Another example: | |||
该规则:本机拒绝80端口使用tcp协议指向任意地址(进入)的信息。再如: | |||
拒绝来自10.0.0.0/8域tcp协议指向192.168.0.1端口25的数据进入本机 | |||
ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25 | |||
This will deny all traffic from the RFC1918 Class A network to tcp port 25 with | |||
the address 192.168.0.1. | |||
该规则将阻断(拒绝)所有来自RFC1918 A级网络(10.0.0.0-10.255.255.255)通过25端口使用tcp协议发送到192.168.0.1的信息。 | |||
拒绝来自 2001:db8::/32域指向任意地址端口25的数据进入本机 | |||
ufw deny proto tcp from 2001:db8::/32 to any port 25 | |||
This will deny all traffic from the IPv6 2001:db8::/32 to tcp port 25 on this | |||
host. IPv6 must be enabled in /etc/default/ufw for IPv6 firewalling to work. | |||
该规则将拒绝本机接收所有来自IPv6 2001:db8::/32 通过25端口使用tcp(进入)的信息。/etc/default/ufw配置文件需开通IPv6功能。 | |||
允许来自任意地址使用tcp协议指向任意地址使用端口80、443、8080-8090的数据进入本机 | |||
ufw allow proto tcp from any to any port 80,443,8080:8090 | |||
The above will allow all traffic to tcp ports 80, 443 and 8080-8090 inclusive. | |||
When specifying multiple ports, the ports list must be numeric, cannot contain | |||
spaces and must be modified as a whole. Eg, in the above example you cannot | |||
later try to delete just the '443' port. You cannot specify more than 15 ports | |||
(ranges count as 2 ports, so the port count in the above example is 4). | |||
该规则允许本机通过80、443,8080至8090端口使用tcp协议(进入)的信息。指定多个端口时,只能使用数字,且不能含空格。修改规则时需整条规则修改。在上面的例子中,你不能仅仅删除443端口。每次指定不能超过15个端口(端口区间视为2个端口,上面例子视为4个端口) | |||
Rules for traffic not destined for the host itself but instead for traffic that | |||
should be routed/forwarded through the firewall should specify the route keyword | |||
before the rule (routing rules differ significantly from PF syntax and instead | |||
take into account netfilter FORWARD chain conventions). For example: | |||
规则中数据目标不是本机,是经本机防火墙路由\转发,规则前需加关键字route(路由规则与PF语法有明显的不同,替之以FORWARD链转换)。 | |||
允许经eth1进入,eth2发出的数据经本机路由 | |||
ufw route allow in on eth1 out on eth2 | |||
This will allow all traffic routed to eth2 and coming in on eth1 to traverse the | |||
firewall. | |||
该规则允许数据由eth1网卡进入路由至eth2网卡发出。 | |||
允许经eth0进入eth1发出指向 12.34.45.67使用80端口tcp的数据经本机路由 | |||
ufw route allow in on eth0 out on eth1 to 12.34.45.67 port 80 proto tcp | |||
This rule allows any packets coming in on eth0 to traverse the firewall out on | |||
eth1 to tcp port 80 on 12.34.45.67. | |||
该规则允许数据经eth0网卡进入路由至eth1网卡通过80端口使用tcp协议发送至IP12.34.45.56? | |||
In addition to routing rules and policy, you must also setup IP forwarding. | |||
This may be done by setting the following in /etc/ufw/sysctl.conf: | |||
增加路由规则前必需设置IP转发。该配置文件/etc/ufw/sysctl.conf,配置内容应如下: | |||
net/ipv4/ip_forward=1 | |||
net/ipv6/conf/default/forwarding=1 | |||
net/ipv6/conf/all/forwarding=1 | |||
then restarting the firewall: | |||
再使用以下命令重启防火墙: | |||
ufw disable | |||
ufw enable | |||
Be aware that setting kernel tunables is operating system specific and ufw | |||
sysctl settings may be overridden. See the sysctl manual page for details. | |||
请小心,该操作系统内核可调参数设置会覆盖ufw内核(sysctl)设置。参见sysctl手册。 | |||
ufw supports connection rate limiting, which is useful for protecting against | |||
brute-force login attacks. When a limit rule is used, ufw will normally allow | |||
the connection but will deny connections if an IP address attempts to initiate 6 | |||
or more connections within 30 seconds. See http://www.debian-administra‐ | |||
tion.org/articles/187 for details. Typical usage is: | |||
ufw支持连接次数限制。可用于对抗暴力登录攻击。启用限制规则后,ufw允许连接,但30秒内连接次数高于6次时拒绝该IP访问。参见http://www.debian-administration.org/articles/187。典型用法如下: | |||
限制ssh tcp协议连接本机次数 | |||
ufw limit ssh/tcp | |||
Sometimes it is desirable to let the sender know when traffic is being denied, | |||
rather than simply ignoring it. In these cases, use reject instead of deny. For | |||
example: | |||
有时需要让发送数据者知道数据被拒绝而不是失踪。在下面例子中,用户使用reject替换deny。例如: | |||
ufw reject auth | |||
By default, ufw will apply rules to all available interfaces. To limit this, | |||
specify DIRECTION on INTERFACE, where DIRECTION is one of in or out (interface | |||
aliases are not supported). For example, to allow all new incoming http connec‐ | |||
tions on eth0, use: | |||
默认情况下,ufw将规则应用于所有可用网络接口。也可把规则指定到特定的网络接口,包括网络接口数据进出方向(不支持网络接口别名)。例如允许数据通过eth0网卡使用http协议进入主机,写法如下: | |||
允许通过eth0指向任意地址端口80协议tcp的数据进入本机 | |||
ufw allow in on eth0 to any port 80 proto tcp | |||
To delete a rule, simply prefix the original rule with delete. For example, if | |||
the original rule was: | |||
要删除一条规则,在原规则前加delete就可以了。例如:原规则是这样的 | |||
ufw deny 80/tcp | |||
Use this to delete it: | |||
删除时就这样写: | |||
ufw delete deny 80/tcp | |||
You may also specify the rule by NUM, as seen in the status numbered output. For | |||
example, if you want to delete rule number '3', use: | |||
你也可以使用status numbered参数查看规则序号。比如你想删除第3条规则,这样写就行了: | |||
ufw delete 3 | |||
If you have IPv6 enabled and are deleting a generic rule that applies to both | |||
IPv4 and IPv6 (eg 'ufw allow 22/tcp'), deleting by rule number will delete only | |||
the specified rule. To delete both with one command, prefix the original rule | |||
with delete. | |||
如果IPv6启用,你想删除一条同时适用于IPv4、IPv6的规则(如ufw allow 22/tcp),使用序号删除规则只会删除其中一条。一次性删 | |||
除干净就只能使用原规则前加delete的办法。 | |||
To insert a rule, specify the new rule as normal, but prefix the rule with the | |||
rule number to insert. For example, if you have four rules, and you want to | |||
insert a new rule as rule number three, use: | |||
为使用规则正常,你可以使用序号的方式插入新规则。例如,你有4条规则了,但你想把新规则放到第3的位置,可以这样写: | |||
把 拒绝来自 10.0.0.135协议tcp指向任意地址端口22的数据进入本机 指条命令插入到第3的位置 | |||
ufw insert 3 deny to any port 22 from 10.0.0.135 proto tcp | |||
To see a list of numbered rules, use: | |||
查询规则序号,使用命令: | |||
ufw status numbered | |||
ufw supports per rule logging. By default, no logging is performed when a packet | |||
matches a rule. Specifying log will log all new connections matching the rule, | |||
and log-all will log all packets matching the rule. For example, to allow and | |||
log all new ssh connections, use: | |||
ufw支持规则运行状态日志。默认情况下符合规则的数据日志不显示。指定日志会记录下所有符合规则的数据、新连接。例如:允许并 | |||
记录所有新ssh连接。命令如下 | |||
ufw allow log 22/tcp | |||
See LOGGING for more information on logging. | |||
参见LOGGING | |||
== EXAMPLES例子 == | |||
Deny all access to port 53: | |||
拒绝所有通过53端口的数据 | |||
ufw deny 53 | |||
Allow all access to tcp port 80: | |||
允许所有通过80端口使用tcp的数据 | |||
ufw allow 80/tcp | |||
Allow all access from RFC1918 networks to this host: | |||
允许所有来自RFC1918网络的数据进入本机 | |||
ufw allow from 10.0.0.0/8 | |||
ufw allow from 172.16.0.0/12 | |||
ufw allow from 192.168.0.0/16 | |||
Deny access to udp port 514 from host 1.2.3.4: | |||
拒绝来自1.2.3.4主机通过514端口使用udp协议的数据 | |||
ufw deny proto udp from 1.2.3.4 to any port 514 | |||
Allow access to udp 1.2.3.4 port 5469 from 1.2.3.5 port 5469: | |||
允许来自主机1.2.3.5端口5469的数据到达本机1.2.3.4使用端口5469协议udp | |||
ufw allow proto udp from 1.2.3.5 port 5469 to 1.2.3.4 port 5469 | |||
== REMOTE MANAGEMENT远程管理 == | |||
When running ufw enable or starting ufw via its initscript, ufw will flush its | |||
chains. This is required so ufw can maintain a consistent state, but it may drop | |||
existing connections (eg ssh). ufw does support adding rules before enabling the | |||
firewall, so administrators can do: | |||
通过初始化脚本或命令启动ufw后,ufw将刷新连接。这是为了让ufw运行正常。但可能导致现有连接中断(如ssh)。ufw支持在启动前增加规则,在运行“ufw enable”命令前,管理者可以增加这个规则来进行远程管理: | |||
ufw allow proto tcp from any to any port 22 | |||
before running 'ufw enable'. The rules will still be flushed, but the ssh port | |||
will be open after enabling the firewall. Please note that once ufw is | |||
'enabled', ufw will not flush the chains when adding or removing rules (but will | |||
when modifying a rule or changing the default policy). By default, ufw will | |||
prompt when enabling the firewall while running under ssh. This can be disabled | |||
by using 'ufw --force enable'. | |||
所有规则将被激活,ssh连接在启用防火墙时依然开通。请注意只要ufw处于'enabled'状态,增加或删除规则,都不进行连接刷新(改变默认策略或修改规则时除外)。默认情况,ufw如果处于ssh远程连接下,规则影响到ssh连接时都需要确认。使用ufw --force enable命令时,就不需要确认了。 | |||
== APPLICATION INTEGRATION应用集成(强烈推荐此方法) == | |||
ufw supports application integration by reading profiles located in | |||
/etc/ufw/applications.d. To list the names of application profiles known to ufw, | |||
use: | |||
ufw支持查询/etc/ufw/applications.d文件完成应用集成。查看ufw已知应用集成(其它端口,由ubuntu在安装软件时自动定义,一般不需要自己新建。具体端口参见/etc/services),命令: | |||
ufw app list | |||
Users can specify an application name when adding a rule (quoting any profile | |||
names with spaces). For example, when using the simple syntax, users can use: | |||
用户在增加规则时能使用应用名(引用带有空格的任何配置文件名称)。例如,使用如下简单语法: | |||
ufw allow <name> | |||
Or for the extended syntax: | |||
或完整语法: | |||
ufw allow from 192.168.0.0/16 to any app <name> | |||
You should not specify the protocol with either syntax, and with the extended | |||
syntax, use app in place of the port clause. | |||
使用应用名代替端口时,语法中不能指定协议 | |||
Details on the firewall profile for a given application can be seen with: | |||
查看关于应用名的具体内容,使用如下命令。 | |||
ufw app info <name> | |||
where '<name>' is one of the applications seen with the app list command. | |||
User's may also specify all to see the profiles for all known applications. | |||
app list命令可以显示有哪些应用名。使用all代替应用名时,上面的命令会例出所有已知程序详细情况。 | |||
After creating or editing an application profile, user's can run: | |||
增加或编辑了应用名相关内容,请使用下面命刷新: | |||
ufw app update <name> | |||
This command will automatically update the firewall with updated profile infor‐ | |||
mation. If specify 'all' for name, then all the profiles will be updated. To | |||
update a profile and add a new rule to the firewall automatically, user's can | |||
run: | |||
该命令将自动更新配置应用名。应用名为all时,会更新所有应用名。如果需要更新应用名配置且作为新规则加入防火墙,请使用下面的命令。 | |||
ufw app update --add-new <name> | |||
The behavior of the update --add-new command can be configured using: | |||
--add-new 命令参数进行更新时,其行为方式可由下面的命令指定 | |||
ufw app default <policy> | |||
The default application policy is skip, which means that the update --add-new | |||
command will do nothing. Users may also specify a policy of allow or deny so the | |||
update --add-new command may automatically update the firewall. WARNING: it may | |||
be a security to risk to use a default allow policy for application profiles. | |||
Carefully consider the security ramifications before using a default allow pol‐ | |||
icy. | |||
默认应用策略是跳过,也就意味着 --add-new 命令参数实际上没设定策略。用户能指定策略为allow或deny, 那之后--add-new 参数将自动更新防火墙。警告:使用allow策略作为应用策略将有安全风险。使用默认允许的政策之前,要仔细考虑的安全后果。 | |||
== LOGGING日志 == | |||
ufw supports multiple logging levels. ufw defaults to a loglevel of 'low' when a | |||
loglevel is not specified. Users may specify a loglevel with: | |||
ufw支持多种日志级别。默认为“低”。用户可使用下面的命令指定日志级别: | |||
ufw logging LEVEL | |||
LEVEL may be 'off', 'low', 'medium', 'high' and 'full'. Log levels are defined | |||
as: | |||
级别分为 关闭\低\中\高\完全。区别如下: | |||
off disables ufw managed logging | |||
关闭 关闭日志记录 | |||
low logs all blocked packets not matching the default policy (with rate lim‐ | |||
iting), as well as packets matching logged rules | |||
低 记录所有被默认策略阻止的数据(速率限制),以及符合规则的数据。 | |||
medium log level low, plus all allowed packets not matching the default policy, | |||
all INVALID packets, and all new connections. All logging is done with | |||
rate limiting. | |||
中 低级别+不符合默认策略是数据+无效数据+所有新连接。所有记录在速率限制下进行。 | |||
high log level medium (without rate limiting), plus all packets with rate lim‐ | |||
iting | |||
高 中级(取消速率限制)+速率限制下的所有数据包 | |||
full log level high without rate limiting | |||
完全 高级无速率限制。 | |||
Loglevels above medium generate a lot of logging output, and may quickly fill up | |||
your disk. Loglevel medium may generate a lot of logging output on a busy sys‐ | |||
tem. | |||
中级别以可能产生大量日志,有可能快速填满硬盘。对繁忙的系统而言,中级别就会有大量日志产生。 | |||
Specifying 'on' simply enables logging at log level 'low' if logging is cur‐ | |||
rently not enabled. | |||
on参数在没启用日志时,默认指定为低级别。 | |||
== REPORTS报告 == | |||
The following reports are supported. Each is based on the live system and with | |||
the exception of the listening report, is in raw iptables format: | |||
支持如下报告。它们均基于活动系统排外的监听报告,属于原始的iptable形式。 | |||
raw | |||
builtins | |||
before-rules | |||
user-rules | |||
after-rules | |||
logging-rules | |||
listening | |||
added | |||
The raw report shows the complete firewall, while the others show a subset of | |||
what is in the raw report. | |||
raw显示完整报告。其它级别在此基础上精简。 | |||
The listening report will display the ports on the live system in the listening | |||
state for tcp and the open state for udp, along with the address of the inter‐ | |||
face and the executable listening on the port. An '*' is used in place of the | |||
address of the interface when the executable is bound to all interfaces on that | |||
port. Following this information is a list of rules which may affect connections | |||
on this port. The rules are listed in the order they are evaluated by the ker‐ | |||
nel, and the first match wins. Please note that the default policy is not listed | |||
and tcp6 and udp6 are shown only if IPV6 is enabled. | |||
报告显示活动系统监听下的tcp upd状态及地址 网络接口,以及可监听的端口。*号代表该端口绑定到网络接口。该信息之下是所有能影响到该端口连接的规则。规则的监听由内核、第1匹配wins排序。注意默认策略未被监听,tcp6 udp6只有在IPv6启用的情况下有效。 | |||
The added report displays the list of rules as they were added on the com‐ | |||
mand-line. This report does not show the status of the running firewall (use | |||
'ufw status' instead). Because rules are normalized by ufw, rules may look dif‐ | |||
ferent than the originally added rule. Also, ufw does not record command order‐ | |||
ing, so an equivalent ordering is used which lists IPv6-only rules after other | |||
rules. | |||
新增报告将显示规则加入时的命令列表。报告不显示防火墙此时的运行状态(请使用ufw status命查询)。因为规则已被ufw标准化,看起来与加入时原规则不同了。此外,UFW不记录命令排序,所以等效排序,仅IPv6的规则位于其他规则后。 | |||
== NOTES注意 == | |||
On installation, ufw is disabled with a default incoming policy of deny, a | |||
default forward policy of deny, and a default outgoing policy of allow, with | |||
stateful tracking for NEW connections for incoming and forwarded connections. | |||
In addition to the above, a default ruleset is put in place that does the fol‐ | |||
lowing: | |||
安装后,ufw不启动,默认策略:进入数据拒绝,转发拒绝,发出数据允许。默认策略跟踪进入\转发的新连接。除此外还增加了下列默认规则集: | |||
- DROP packets with RH0 headers | |||
丢弃含RH0头的数据 | |||
- DROP INVALID packets | |||
丢弃无效数据 | |||
- ACCEPT certain icmp packets (INPUT and FORWARD): destination-unreachable, | |||
source-quench, time-exceeded, parameter-problem, and echo-request for IPv4. des‐ | |||
tination-unreachable, packet-too-big, time-exceeded, parameter-problem, and | |||
echo-request for IPv6. | |||
接受部分ICMP数据包(进入\转发):IPv4:目的地不可达,源结束,超过时间,参数问题,回声请求。IPv6:目的地不可达,分组太大而,超过时间,参数问题,回声请求。 | |||
- ACCEPT icmpv6 packets for stateless autoconfiguration (INPUT) | |||
接受ICMPv6报文的无状态自动配置(进入) | |||
- ACCEPT ping replies from IPv6 link-local (ffe8::/10) addresses (INPUT) | |||
接受IPv6链路本地地址(ffe8::/10)ping应答(进入) | |||
- ACCEPT DHCP client traffic (INPUT) | |||
接受DHCP客户端数据(进入) | |||
- DROP non-local traffic (INPUT) | |||
丢弃非本地通讯(进入) | |||
- ACCEPT mDNS (zeroconf/bonjour/avahi 224.0.0.251 for IPv4 and ff02::fb for | |||
IPv6) for service discovery (INPUT) | |||
接受mDNS服务(zeroconf/bonjour/avahi 等协议使用,IPv4 224.0.0.251,IPv6 ff02::fb)(进入) | |||
- ACCEPT UPnP (239.255.255.250 for IPv4 and ff02::f for IPv6) for service dis‐ | |||
covery (INPUT) | |||
接受UPnP服务(IPv4:239.255.255.250 ,IPv6:ff02::f ) (进入) | |||
Rule ordering is important and the first match wins. Therefore when adding | |||
rules, add the more specific rules first with more general rules later. | |||
规则的顺序很重要,依次匹配执行。因此先添加针对性强的规则,再添加影响广泛的规则。 | |||
ufw is not intended to provide complete firewall functionality via its command | |||
interface, but instead provides an easy way to add or remove simple rules. | |||
UFW不打算通过自身命令提供完整的防火墙功能,而是提供了一种简单的方法来添加或删除简单的规则。 | |||
The status command shows basic information about the state of the firewall, as | |||
well as rules managed via the ufw command. It does not show rules from the rules | |||
files in /etc/ufw. To see the complete state of the firewall, users can ufw show | |||
raw. This displays the filter, nat, mangle and raw tables using: | |||
status命令显示防火墙的状态及通过UFW命令管理的基本信息规则。它不显示/ etc/ UFW文件的规则。要查看防火墙的完整状态,用户可以UFW显示原料。这将显示过滤,NAT,损坏和原始表,命令如下: | |||
<pre> iptables -n -L -v -x -t <table></pre> | |||
<pre> ip6tables -n -L -v -x -t <table></pre> | |||
See the iptables and ip6tables documentation for more details. | |||
更多信息查看iptables ip6tables | |||
If the default policy is set to REJECT, ufw may interfere with rules added out‐ | |||
side of the ufw framework. See README for details. | |||
如果默认策略设置为REJECT,UFW可能会干扰UFW框架之外添加的规则。 | |||
IPV6 is allowed by default. To change this behavior to only accept IPv6 traffic | |||
on the loopback interface, set IPV6 to 'no' in /etc/default/ufw and reload ufw. | |||
When IPv6 is enabled, you may specify rules in the same way as for IPv4 rules, | |||
and they will be displayed with ufw status. Rules that match both IPv4 and IPv6 | |||
addresses apply to both IP versions. For example, when IPv6 is enabled, the fol‐ | |||
lowing rule will allow access to port 22 for both IPv4 and IPv6 traffic: | |||
IPv6是默认允许。改变这种行为,只接受在回环接口上的IPv6数据,在/ etc/default/ UFW将IPv6设置为“no”,并重新加载UFW。 | |||
当启用IPv6,则可以以相同的方式针对IPv4规则指定的规则,它们将在ufw status命令下被显示。同时匹配IPv4和IPv6地址的规则适用于两个IP版本。例如,当启用IPv6,下面的规则将同时允许IPv4和IPv6访问端口22为: | |||
ufw allow 22 | |||
IPv6 over IPv4 tunnels and 6to4 are supported by using the 'ipv6' protocol | |||
('41'). This protocol can only be used with the full syntax. For example: | |||
IPv4借用IPv6进行封装时,需使用第41号协议。书写时使用proto ipv6,并且使用完整语法。例如: | |||
ufw allow to 10.0.0.1 proto ipv6 | |||
ufw allow to 10.0.0.1 from 10.4.0.0/16 proto ipv6 | |||
IPSec is supported by using the 'esp' ('50') and 'ah' ('51') protocols. These | |||
protocols can only be used with the full syntax. For example: | |||
支持使用“Internet 协议安全性 (IPSec)”协议,协议书写为esp \ ah(分别是50号\51号协议)。语法必需使用完整结构。例如: | |||
ufw allow to 10.0.0.1 proto esp | |||
ufw allow to 10.0.0.1 from 10.4.0.0/16 proto esp | |||
ufw allow to 10.0.0.1 proto ah | |||
ufw allow to 10.0.0.1 from 10.4.0.0/16 proto ah | |||
In addition to the command-line interface, ufw also provides a framework which | |||
allows administrators to modify default behavior as well as take full advantage | |||
of netfilter. See the ufw-framework manual page for more information. | |||
除了命令行界面,UFW还提供了一个框架,允许管理员修改默认的行为,达到对网络过滤功能充分利用。见UFW-framework手册页了解更多信息。 | |||
SEE ALSO | |||
ufw-framework(8), iptables(8), ip6tables(8), iptables-restore(8), | |||
ip6tables-restore(8), sysctl(8), sysctl.conf(5) | |||
AUTHOR | |||
ufw is Copyright 2008-2014, Canonical Ltd. | |||
ufw and this manual page was originally written by Jamie Strandboge | |||
January 2013 UFW:(8) |
2016年10月4日 (二) 16:50的最新版本
有问题,联系我:一般还是使用站内短信通知比较快。 http://forum.ubuntu.org.cn/ucp.php?i=pm&mode=compose&u=171468
email:[email protected] UFW:(8) January 2013 UFW:(8)
NAME名称
ufw - program for managing a netfilter firewall
网络过滤式防火墙管理程序。
DESCRIPTION描述
This program is for managing a Linux firewall and aims to provide an easy to use interface for the user.
该Linux防火墙管理程序目标是提供简单的使用界面。
USAGE用法
[--dry-run]选项,仅显示运行结果而不实际运行
启动\关闭\重启
ufw [--dry-run] enable|disable|reload
默认策略 允许\拒绝\拒绝并提示 [进入\发出\路由 的数据]
ufw [--dry-run] default allow|deny|reject [incoming|outgoing|routed]
日志 启动\关闭\级别
ufw [--dry-run] logging on|off|LEVEL
重置
ufw [--dry-run] reset
规则、状态 [详细\序号]
ufw [--dry-run] status [verbose|numbered]
显示“报告”
ufw [--dry-run] show REPORT
[删除][插入 第 行] 允许\拒绝\拒绝并提示\限制 [数据 进入\发出][记录\全记录] 端口[/协议]
ufw [--dry-run] [delete] [insert NUM] allow|deny|reject|limit [in|out] [log|log-all] PORT[/PROTOCOL]
[规则][删除][插入 第 行] 允许\拒绝\拒绝并提示\限制 [数据 进入\发出[网络接口]][记录\全记录] [协议 **][来自**[端口 **]][指向**[端口**]
ufw [--dry-run] [rule] [delete] [insert NUM] allow|deny|reject|limit [in|out [on INTERFACE]] [log|log-all] [proto PROTOCOL] [from ADDRESS [port PORT]] [to ADDRESS [port PORT]]
路由[删除][插入 第 行] 允许\拒绝\拒绝并提示\限制 [数据 进入\发出[网络接口]][记录\全记录] [协议 **][来自**[端口 **]][指向**[端口**]
ufw [--dry-run] route [delete] [insert NUM] allow|deny|reject|limit [in|out on INTERFACE] [log|log-all] [proto PROTOCOL] [from ADDRESS [port PORT]] [to ADDRESS [port PORT]]
删除第*行规则
ufw [--dry-run] delete NUM
应用名 列表\信息\默认策略\更新
ufw [--dry-run] app list|info|default|update
OPTIONS选项
--version show program's version number and exit 显示程序版本并退出
-h, --help show help message and exit 显示帮助并退出
--dry-run don't modify anything, just show the changes 不进行更改,仅显示更改内容
enable reloads firewall and enables firewall on boot. 重启防火墙,设置为开机启动
disable unloads firewall and disables firewall on boot 停止防火墙,禁止开机启动
reload reloads firewall 重启防火墙
default allow|deny|reject DIRECTION change the default policy for traffic going DIRECTION, where DIRECTION is one of incoming, outgoing or routed. Note that existing rules will have to be migrated manually when changing the default policy. See RULE SYNTAX for more on deny and reject. 改变传入\传出\路由的默认策略。已存在的规则可能需要进行手动修改。关于deny|reject的区别参见 SYNTAX
logging on|off|LEVEL toggle logging. Logged packets use the LOG_KERN syslog facility. Systems configured for rsyslog support may also log to /var/log/ufw.log. Specify‐ ing a LEVEL turns logging on for the specified LEVEL. The default log level is 'low'. See LOGGING for details. 切换记录。日志记录使用的是LOG_KERN系统设备。系统日志保存于/var/log/ufw.log。LEVEL指定不同的级别 ,默认级别是‘
低’。参见LOGGING
reset Disables and resets firewall to installation defaults. Can also give the --force option to perform the reset without confirmation. 关闭并重置防火墙至默认安装状态。使用--force选项,无需等待确认。
status show status of firewall and ufw managed rules. Use status verbose for extra information. In the status output, 'Anywhere' is synonymous with 'any' and '0.0.0.0/0'. Note that when using status, there is a subtle difference when reporting interfaces. For example, if the following rules are added: 显示防火墙状态及规则。使用status verbose显示额外信息。显示信息中'Anywhere'等同于 'any'和'0.0.0.0/0'。
需要注意的是报告有些微妙的差异。例如,加入以下规则:
允许来自192.168.0.0-192.168.255.255的数据通过eth0网卡进入主机
ufw allow in on eth0 from 192.168.0.0/16
允许指向10.0.0.0-10.255.255.255的数据通过eth1网卡从本机发出
ufw allow out on eth1 to 10.0.0.0/8
允许来自192.168.0.0-192.168.255.255通过eth0网卡收入的数据且指向10.0.0.0-10.255.255.255通过eth1网卡发出的数据经本机路由
ufw route allow in on eth0 out on eth1 to 10.0.0.0/8 from 192.168.0.0/16
ufw status will output: 显示信息为:
To Action From -- ------ ---- Anywhere on eth0 ALLOW 192.168.0.0/16 10.0.0.0/8 ALLOW OUT Anywhere on eth1 10.0.0.0/8 on eth1 ALLOW FWD 192.168.0.0/16 on eth0 指向 行为 来自 ----- ------ ---- 任意地址,网络接口eth0 允许 192.168.0.0/16 10.0.0.0/8 允许发出 任意地址,网络接口eth1 10.0.0.0/8域,网络接口eth1 允许路由 192.168.0.0/16域,网络接口eth0
For the input and output rules, the interface is reported relative to the firewall system as an endpoint, whereas with route rules, the interface is reported relative to the direction packets flow through the firewall. 进入\发出 规则,(来自\指向)是以防火墙系统为终点的;路由规则,(来自\指向)是相对于通过防火墙的流向。
show REPORT display information about the running firewall. See REPORTS 显示运行中的防火墙信息。参见REPORTS
allow ARGS add allow rule. See RULE SYNTAX 增加允许规则。参见 RULE SYNTAX
deny ARGS add deny rule. See RULE SYNTAX 增加拒绝规则。参见 RULE SYNTAX
reject ARGS add reject rule. See RULE SYNTAX 增加抵制规则。参见 RULE SYNTAX
limit ARGS add limit rule. Currently only IPv4 is supported. See RULE SYNTAX 增加限制规则。目前仅适用于IPv4。参见 RULE SYNTAX
delete RULE|NUM deletes the corresponding RULE 删除对应RULE
insert NUM RULE insert the corresponding RULE as rule number NUM 以规则号NUM插入对应RULE
RULE SYNTAX规则语法
Users can specify rules using either a simple syntax or a full syntax. The sim‐ ple syntax only specifies the port and optionally the protocol to be allowed or denied on the host. For example: 用户可以使用简略或完全语法指定规则。简略语法仅指定端口、可选协议被主机允许\拒绝。例如:
允许使用53端口
ufw allow 53
This rule will allow tcp and udp port 53 to any address on this host. To specify a protocol, append '/protocol' to the port. For example: 规则意为,允许本机通过53端口使用tcp udp协议指向任意地址的信息(一个物理网卡可以包含1或多个IP地址)。指定协议,在端口后加 / 即可。例如:
允许使用通过tcp协议使用25端口
ufw allow 25/tcp
This will allow tcp port 25 to any address on this host. ufw will also check /etc/services for the port and protocol if specifying a service by name. Eg: 规则意为,允许本机通过25端口使用tcp协议指向任意地址(进入)的信息。如果指定服务名称,ufw会通过检查/etc/services文件获得端口、协议信息。例如:
允许smtp应用
ufw allow smtp
ufw supports both ingress and egress filtering and users may optionally specify a direction of either in or out for either incoming or outgoing traffic. If no direction is supplied, the rule applies to incoming traffic. Eg: ufw同时支持出、入过滤。用户可以使用in\out规定任意方向进出的数据。如果未指定方向,规则将应用于进入的数据。如:
允许http应用数据进入本机
ufw allow in http
拒绝并告知:拒绝从本机发出smtp应用数据
ufw reject out smtp
Users can also use a fuller syntax, specifying the source and destination addresses and ports. This syntax is loosely based on OpenBSD's PF syntax. For example: 用户也可以使用完整语法,指明来源\目标,地址,端口。该语法是OpenBSD PF语法的简约版。例如:
拒绝指向任意地址使用80端口tcp协议的数据进入本机
ufw deny proto tcp to any port 80
This will deny all traffic to tcp port 80 on this host. Another example: 该规则:本机拒绝80端口使用tcp协议指向任意地址(进入)的信息。再如:
拒绝来自10.0.0.0/8域tcp协议指向192.168.0.1端口25的数据进入本机
ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25
This will deny all traffic from the RFC1918 Class A network to tcp port 25 with the address 192.168.0.1. 该规则将阻断(拒绝)所有来自RFC1918 A级网络(10.0.0.0-10.255.255.255)通过25端口使用tcp协议发送到192.168.0.1的信息。
拒绝来自 2001:db8::/32域指向任意地址端口25的数据进入本机
ufw deny proto tcp from 2001:db8::/32 to any port 25
This will deny all traffic from the IPv6 2001:db8::/32 to tcp port 25 on this host. IPv6 must be enabled in /etc/default/ufw for IPv6 firewalling to work. 该规则将拒绝本机接收所有来自IPv6 2001:db8::/32 通过25端口使用tcp(进入)的信息。/etc/default/ufw配置文件需开通IPv6功能。
允许来自任意地址使用tcp协议指向任意地址使用端口80、443、8080-8090的数据进入本机
ufw allow proto tcp from any to any port 80,443,8080:8090
The above will allow all traffic to tcp ports 80, 443 and 8080-8090 inclusive. When specifying multiple ports, the ports list must be numeric, cannot contain spaces and must be modified as a whole. Eg, in the above example you cannot later try to delete just the '443' port. You cannot specify more than 15 ports (ranges count as 2 ports, so the port count in the above example is 4). 该规则允许本机通过80、443,8080至8090端口使用tcp协议(进入)的信息。指定多个端口时,只能使用数字,且不能含空格。修改规则时需整条规则修改。在上面的例子中,你不能仅仅删除443端口。每次指定不能超过15个端口(端口区间视为2个端口,上面例子视为4个端口)
Rules for traffic not destined for the host itself but instead for traffic that should be routed/forwarded through the firewall should specify the route keyword before the rule (routing rules differ significantly from PF syntax and instead take into account netfilter FORWARD chain conventions). For example: 规则中数据目标不是本机,是经本机防火墙路由\转发,规则前需加关键字route(路由规则与PF语法有明显的不同,替之以FORWARD链转换)。
允许经eth1进入,eth2发出的数据经本机路由
ufw route allow in on eth1 out on eth2
This will allow all traffic routed to eth2 and coming in on eth1 to traverse the firewall. 该规则允许数据由eth1网卡进入路由至eth2网卡发出。
允许经eth0进入eth1发出指向 12.34.45.67使用80端口tcp的数据经本机路由
ufw route allow in on eth0 out on eth1 to 12.34.45.67 port 80 proto tcp
This rule allows any packets coming in on eth0 to traverse the firewall out on eth1 to tcp port 80 on 12.34.45.67. 该规则允许数据经eth0网卡进入路由至eth1网卡通过80端口使用tcp协议发送至IP12.34.45.56?
In addition to routing rules and policy, you must also setup IP forwarding. This may be done by setting the following in /etc/ufw/sysctl.conf: 增加路由规则前必需设置IP转发。该配置文件/etc/ufw/sysctl.conf,配置内容应如下:
net/ipv4/ip_forward=1 net/ipv6/conf/default/forwarding=1 net/ipv6/conf/all/forwarding=1
then restarting the firewall: 再使用以下命令重启防火墙:
ufw disable ufw enable
Be aware that setting kernel tunables is operating system specific and ufw sysctl settings may be overridden. See the sysctl manual page for details. 请小心,该操作系统内核可调参数设置会覆盖ufw内核(sysctl)设置。参见sysctl手册。
ufw supports connection rate limiting, which is useful for protecting against brute-force login attacks. When a limit rule is used, ufw will normally allow the connection but will deny connections if an IP address attempts to initiate 6 or more connections within 30 seconds. See http://www.debian-administra‐ tion.org/articles/187 for details. Typical usage is: ufw支持连接次数限制。可用于对抗暴力登录攻击。启用限制规则后,ufw允许连接,但30秒内连接次数高于6次时拒绝该IP访问。参见http://www.debian-administration.org/articles/187。典型用法如下:
限制ssh tcp协议连接本机次数
ufw limit ssh/tcp
Sometimes it is desirable to let the sender know when traffic is being denied, rather than simply ignoring it. In these cases, use reject instead of deny. For example: 有时需要让发送数据者知道数据被拒绝而不是失踪。在下面例子中,用户使用reject替换deny。例如:
ufw reject auth
By default, ufw will apply rules to all available interfaces. To limit this, specify DIRECTION on INTERFACE, where DIRECTION is one of in or out (interface aliases are not supported). For example, to allow all new incoming http connec‐ tions on eth0, use: 默认情况下,ufw将规则应用于所有可用网络接口。也可把规则指定到特定的网络接口,包括网络接口数据进出方向(不支持网络接口别名)。例如允许数据通过eth0网卡使用http协议进入主机,写法如下:
允许通过eth0指向任意地址端口80协议tcp的数据进入本机
ufw allow in on eth0 to any port 80 proto tcp
To delete a rule, simply prefix the original rule with delete. For example, if the original rule was: 要删除一条规则,在原规则前加delete就可以了。例如:原规则是这样的
ufw deny 80/tcp
Use this to delete it: 删除时就这样写:
ufw delete deny 80/tcp
You may also specify the rule by NUM, as seen in the status numbered output. For example, if you want to delete rule number '3', use: 你也可以使用status numbered参数查看规则序号。比如你想删除第3条规则,这样写就行了:
ufw delete 3
If you have IPv6 enabled and are deleting a generic rule that applies to both IPv4 and IPv6 (eg 'ufw allow 22/tcp'), deleting by rule number will delete only the specified rule. To delete both with one command, prefix the original rule with delete. 如果IPv6启用,你想删除一条同时适用于IPv4、IPv6的规则(如ufw allow 22/tcp),使用序号删除规则只会删除其中一条。一次性删
除干净就只能使用原规则前加delete的办法。
To insert a rule, specify the new rule as normal, but prefix the rule with the rule number to insert. For example, if you have four rules, and you want to insert a new rule as rule number three, use: 为使用规则正常,你可以使用序号的方式插入新规则。例如,你有4条规则了,但你想把新规则放到第3的位置,可以这样写:
把 拒绝来自 10.0.0.135协议tcp指向任意地址端口22的数据进入本机 指条命令插入到第3的位置
ufw insert 3 deny to any port 22 from 10.0.0.135 proto tcp
To see a list of numbered rules, use: 查询规则序号,使用命令:
ufw status numbered
ufw supports per rule logging. By default, no logging is performed when a packet matches a rule. Specifying log will log all new connections matching the rule, and log-all will log all packets matching the rule. For example, to allow and log all new ssh connections, use: ufw支持规则运行状态日志。默认情况下符合规则的数据日志不显示。指定日志会记录下所有符合规则的数据、新连接。例如:允许并
记录所有新ssh连接。命令如下
ufw allow log 22/tcp
See LOGGING for more information on logging. 参见LOGGING
EXAMPLES例子
Deny all access to port 53:
拒绝所有通过53端口的数据
ufw deny 53
Allow all access to tcp port 80:
允许所有通过80端口使用tcp的数据
ufw allow 80/tcp
Allow all access from RFC1918 networks to this host:
允许所有来自RFC1918网络的数据进入本机
ufw allow from 10.0.0.0/8 ufw allow from 172.16.0.0/12 ufw allow from 192.168.0.0/16
Deny access to udp port 514 from host 1.2.3.4:
拒绝来自1.2.3.4主机通过514端口使用udp协议的数据
ufw deny proto udp from 1.2.3.4 to any port 514
Allow access to udp 1.2.3.4 port 5469 from 1.2.3.5 port 5469:
允许来自主机1.2.3.5端口5469的数据到达本机1.2.3.4使用端口5469协议udp
ufw allow proto udp from 1.2.3.5 port 5469 to 1.2.3.4 port 5469
REMOTE MANAGEMENT远程管理
When running ufw enable or starting ufw via its initscript, ufw will flush its chains. This is required so ufw can maintain a consistent state, but it may drop existing connections (eg ssh). ufw does support adding rules before enabling the firewall, so administrators can do:
通过初始化脚本或命令启动ufw后,ufw将刷新连接。这是为了让ufw运行正常。但可能导致现有连接中断(如ssh)。ufw支持在启动前增加规则,在运行“ufw enable”命令前,管理者可以增加这个规则来进行远程管理:
ufw allow proto tcp from any to any port 22
before running 'ufw enable'. The rules will still be flushed, but the ssh port will be open after enabling the firewall. Please note that once ufw is 'enabled', ufw will not flush the chains when adding or removing rules (but will when modifying a rule or changing the default policy). By default, ufw will prompt when enabling the firewall while running under ssh. This can be disabled by using 'ufw --force enable'.
所有规则将被激活,ssh连接在启用防火墙时依然开通。请注意只要ufw处于'enabled'状态,增加或删除规则,都不进行连接刷新(改变默认策略或修改规则时除外)。默认情况,ufw如果处于ssh远程连接下,规则影响到ssh连接时都需要确认。使用ufw --force enable命令时,就不需要确认了。
APPLICATION INTEGRATION应用集成(强烈推荐此方法)
ufw supports application integration by reading profiles located in /etc/ufw/applications.d. To list the names of application profiles known to ufw, use:
ufw支持查询/etc/ufw/applications.d文件完成应用集成。查看ufw已知应用集成(其它端口,由ubuntu在安装软件时自动定义,一般不需要自己新建。具体端口参见/etc/services),命令:
ufw app list
Users can specify an application name when adding a rule (quoting any profile names with spaces). For example, when using the simple syntax, users can use:
用户在增加规则时能使用应用名(引用带有空格的任何配置文件名称)。例如,使用如下简单语法:
ufw allow <name>
Or for the extended syntax:
或完整语法:
ufw allow from 192.168.0.0/16 to any app <name>
You should not specify the protocol with either syntax, and with the extended syntax, use app in place of the port clause.
使用应用名代替端口时,语法中不能指定协议
Details on the firewall profile for a given application can be seen with:
查看关于应用名的具体内容,使用如下命令。
ufw app info <name>
where '<name>' is one of the applications seen with the app list command. User's may also specify all to see the profiles for all known applications. app list命令可以显示有哪些应用名。使用all代替应用名时,上面的命令会例出所有已知程序详细情况。
After creating or editing an application profile, user's can run:
增加或编辑了应用名相关内容,请使用下面命刷新:
ufw app update <name>
This command will automatically update the firewall with updated profile infor‐ mation. If specify 'all' for name, then all the profiles will be updated. To update a profile and add a new rule to the firewall automatically, user's can run:
该命令将自动更新配置应用名。应用名为all时,会更新所有应用名。如果需要更新应用名配置且作为新规则加入防火墙,请使用下面的命令。
ufw app update --add-new <name>
The behavior of the update --add-new command can be configured using:
--add-new 命令参数进行更新时,其行为方式可由下面的命令指定
ufw app default <policy>
The default application policy is skip, which means that the update --add-new command will do nothing. Users may also specify a policy of allow or deny so the update --add-new command may automatically update the firewall. WARNING: it may be a security to risk to use a default allow policy for application profiles. Carefully consider the security ramifications before using a default allow pol‐ icy.
默认应用策略是跳过,也就意味着 --add-new 命令参数实际上没设定策略。用户能指定策略为allow或deny, 那之后--add-new 参数将自动更新防火墙。警告:使用allow策略作为应用策略将有安全风险。使用默认允许的政策之前,要仔细考虑的安全后果。
LOGGING日志
ufw supports multiple logging levels. ufw defaults to a loglevel of 'low' when a loglevel is not specified. Users may specify a loglevel with:
ufw支持多种日志级别。默认为“低”。用户可使用下面的命令指定日志级别:
ufw logging LEVEL
LEVEL may be 'off', 'low', 'medium', 'high' and 'full'. Log levels are defined as:
级别分为 关闭\低\中\高\完全。区别如下:
off disables ufw managed logging
关闭 关闭日志记录
low logs all blocked packets not matching the default policy (with rate lim‐ iting), as well as packets matching logged rules
低 记录所有被默认策略阻止的数据(速率限制),以及符合规则的数据。
medium log level low, plus all allowed packets not matching the default policy, all INVALID packets, and all new connections. All logging is done with rate limiting.
中 低级别+不符合默认策略是数据+无效数据+所有新连接。所有记录在速率限制下进行。
high log level medium (without rate limiting), plus all packets with rate lim‐ iting
高 中级(取消速率限制)+速率限制下的所有数据包
full log level high without rate limiting
完全 高级无速率限制。
Loglevels above medium generate a lot of logging output, and may quickly fill up your disk. Loglevel medium may generate a lot of logging output on a busy sys‐ tem.
中级别以可能产生大量日志,有可能快速填满硬盘。对繁忙的系统而言,中级别就会有大量日志产生。
Specifying 'on' simply enables logging at log level 'low' if logging is cur‐ rently not enabled.
on参数在没启用日志时,默认指定为低级别。
REPORTS报告
The following reports are supported. Each is based on the live system and with the exception of the listening report, is in raw iptables format:
支持如下报告。它们均基于活动系统排外的监听报告,属于原始的iptable形式。
raw builtins before-rules user-rules after-rules logging-rules listening added
The raw report shows the complete firewall, while the others show a subset of what is in the raw report.
raw显示完整报告。其它级别在此基础上精简。
The listening report will display the ports on the live system in the listening state for tcp and the open state for udp, along with the address of the inter‐ face and the executable listening on the port. An '*' is used in place of the address of the interface when the executable is bound to all interfaces on that port. Following this information is a list of rules which may affect connections on this port. The rules are listed in the order they are evaluated by the ker‐ nel, and the first match wins. Please note that the default policy is not listed and tcp6 and udp6 are shown only if IPV6 is enabled.
报告显示活动系统监听下的tcp upd状态及地址 网络接口,以及可监听的端口。*号代表该端口绑定到网络接口。该信息之下是所有能影响到该端口连接的规则。规则的监听由内核、第1匹配wins排序。注意默认策略未被监听,tcp6 udp6只有在IPv6启用的情况下有效。
The added report displays the list of rules as they were added on the com‐ mand-line. This report does not show the status of the running firewall (use 'ufw status' instead). Because rules are normalized by ufw, rules may look dif‐ ferent than the originally added rule. Also, ufw does not record command order‐ ing, so an equivalent ordering is used which lists IPv6-only rules after other rules.
新增报告将显示规则加入时的命令列表。报告不显示防火墙此时的运行状态(请使用ufw status命查询)。因为规则已被ufw标准化,看起来与加入时原规则不同了。此外,UFW不记录命令排序,所以等效排序,仅IPv6的规则位于其他规则后。
NOTES注意
On installation, ufw is disabled with a default incoming policy of deny, a default forward policy of deny, and a default outgoing policy of allow, with stateful tracking for NEW connections for incoming and forwarded connections. In addition to the above, a default ruleset is put in place that does the fol‐ lowing:
安装后,ufw不启动,默认策略:进入数据拒绝,转发拒绝,发出数据允许。默认策略跟踪进入\转发的新连接。除此外还增加了下列默认规则集:
- DROP packets with RH0 headers
丢弃含RH0头的数据
- DROP INVALID packets
丢弃无效数据
- ACCEPT certain icmp packets (INPUT and FORWARD): destination-unreachable, source-quench, time-exceeded, parameter-problem, and echo-request for IPv4. des‐ tination-unreachable, packet-too-big, time-exceeded, parameter-problem, and echo-request for IPv6.
接受部分ICMP数据包(进入\转发):IPv4:目的地不可达,源结束,超过时间,参数问题,回声请求。IPv6:目的地不可达,分组太大而,超过时间,参数问题,回声请求。
- ACCEPT icmpv6 packets for stateless autoconfiguration (INPUT)
接受ICMPv6报文的无状态自动配置(进入)
- ACCEPT ping replies from IPv6 link-local (ffe8::/10) addresses (INPUT)
接受IPv6链路本地地址(ffe8::/10)ping应答(进入)
- ACCEPT DHCP client traffic (INPUT)
接受DHCP客户端数据(进入)
- DROP non-local traffic (INPUT)
丢弃非本地通讯(进入)
- ACCEPT mDNS (zeroconf/bonjour/avahi 224.0.0.251 for IPv4 and ff02::fb for IPv6) for service discovery (INPUT)
接受mDNS服务(zeroconf/bonjour/avahi 等协议使用,IPv4 224.0.0.251,IPv6 ff02::fb)(进入)
- ACCEPT UPnP (239.255.255.250 for IPv4 and ff02::f for IPv6) for service dis‐ covery (INPUT)
接受UPnP服务(IPv4:239.255.255.250 ,IPv6:ff02::f ) (进入)
Rule ordering is important and the first match wins. Therefore when adding rules, add the more specific rules first with more general rules later.
规则的顺序很重要,依次匹配执行。因此先添加针对性强的规则,再添加影响广泛的规则。
ufw is not intended to provide complete firewall functionality via its command interface, but instead provides an easy way to add or remove simple rules.
UFW不打算通过自身命令提供完整的防火墙功能,而是提供了一种简单的方法来添加或删除简单的规则。
The status command shows basic information about the state of the firewall, as well as rules managed via the ufw command. It does not show rules from the rules files in /etc/ufw. To see the complete state of the firewall, users can ufw show raw. This displays the filter, nat, mangle and raw tables using:
status命令显示防火墙的状态及通过UFW命令管理的基本信息规则。它不显示/ etc/ UFW文件的规则。要查看防火墙的完整状态,用户可以UFW显示原料。这将显示过滤,NAT,损坏和原始表,命令如下:
iptables -n -L -v -x -t <table>
ip6tables -n -L -v -x -t <table>
See the iptables and ip6tables documentation for more details.
更多信息查看iptables ip6tables
If the default policy is set to REJECT, ufw may interfere with rules added out‐ side of the ufw framework. See README for details.
如果默认策略设置为REJECT,UFW可能会干扰UFW框架之外添加的规则。
IPV6 is allowed by default. To change this behavior to only accept IPv6 traffic on the loopback interface, set IPV6 to 'no' in /etc/default/ufw and reload ufw. When IPv6 is enabled, you may specify rules in the same way as for IPv4 rules, and they will be displayed with ufw status. Rules that match both IPv4 and IPv6 addresses apply to both IP versions. For example, when IPv6 is enabled, the fol‐ lowing rule will allow access to port 22 for both IPv4 and IPv6 traffic:
IPv6是默认允许。改变这种行为,只接受在回环接口上的IPv6数据,在/ etc/default/ UFW将IPv6设置为“no”,并重新加载UFW。 当启用IPv6,则可以以相同的方式针对IPv4规则指定的规则,它们将在ufw status命令下被显示。同时匹配IPv4和IPv6地址的规则适用于两个IP版本。例如,当启用IPv6,下面的规则将同时允许IPv4和IPv6访问端口22为:
ufw allow 22
IPv6 over IPv4 tunnels and 6to4 are supported by using the 'ipv6' protocol ('41'). This protocol can only be used with the full syntax. For example:
IPv4借用IPv6进行封装时,需使用第41号协议。书写时使用proto ipv6,并且使用完整语法。例如:
ufw allow to 10.0.0.1 proto ipv6 ufw allow to 10.0.0.1 from 10.4.0.0/16 proto ipv6
IPSec is supported by using the 'esp' ('50') and 'ah' ('51') protocols. These protocols can only be used with the full syntax. For example:
支持使用“Internet 协议安全性 (IPSec)”协议,协议书写为esp \ ah(分别是50号\51号协议)。语法必需使用完整结构。例如:
ufw allow to 10.0.0.1 proto esp ufw allow to 10.0.0.1 from 10.4.0.0/16 proto esp ufw allow to 10.0.0.1 proto ah ufw allow to 10.0.0.1 from 10.4.0.0/16 proto ah
In addition to the command-line interface, ufw also provides a framework which allows administrators to modify default behavior as well as take full advantage of netfilter. See the ufw-framework manual page for more information.
除了命令行界面,UFW还提供了一个框架,允许管理员修改默认的行为,达到对网络过滤功能充分利用。见UFW-framework手册页了解更多信息。
SEE ALSO
ufw-framework(8), iptables(8), ip6tables(8), iptables-restore(8), ip6tables-restore(8), sysctl(8), sysctl.conf(5)
AUTHOR
ufw is Copyright 2008-2014, Canonical Ltd.
ufw and this manual page was originally written by Jamie Strandboge <[email protected]>
January 2013 UFW:(8)