📅  最后修改于: 2023-12-03 15:20:47.874000             🧑  作者: Mango
ufw
是 Ubuntu 中一种简单易用的防火墙工具。它的配置文件存储在 /etc/ufw
目录下。在该目录下有以下文件:
ufw.conf
: ufw
的主要配置文件。ufw
的行为将由该文件中的设置决定。user.rules
: 用户定义的规则将被保存在这里。它们将覆盖 ufw.conf
文件中默认的规则。user6.rules
: IPv6 版本的用户定义规则。before.rules
: 在 ufw
应用其默认规则之前应用的规则。before6.rules
: IPv6 版本的 before.rules
文件。after.rules
: 在 ufw
应用其默认规则之后应用的规则。after6.rules
: IPv6 版本的 after.rules
文件。ufw.conf
包含 ufw
基本规则和配置选项。
以下是 ufw.conf
的默认配置:
# /etc/ufw/ufw.conf
#
# Set to yes to apply rules to support IPv6 (no means only IPv6 on loopback
# accepted).
IPV6=yes
# Set the default input policy to DROP. This means that by default, any
# incoming traffic that doesn't match a rule will be dropped.
DEFAULT_INPUT_POLICY="DROP"
# Set the default output policy to ACCEPT. This means that by default, any
# outgoing traffic is allowed.
DEFAULT_OUTPUT_POLICY="ACCEPT"
# Set the default forward policy to DROP. This means that by default, any
# packets forwarded from one interface to another will be dropped.
DEFAULT_FORWARD_POLICY="DROP"
# Uncomment this to allow incoming ICMP pings.
#ENABLE_PING=""
# Uncomment this to enable logging.
#ENABLE_LOGGING="true"
用户定义的规则将保存在 user.rules
文件中,如果你需要对你的系统进行更具体的设置,可以将规则添加到此文件中。例如:
# /etc/ufw/user.rules
#
# allow ssh
-A ufw-user-input -p tcp --dport 22 -j ACCEPT
# allow http and https
-A ufw-user-input -p tcp --dport 80 -j ACCEPT
-A ufw-user-input -p tcp --dport 443 -j ACCEPT
以上配置将允许 SSH、HTTP 和 HTTPS 流量通过。
在特定情况下,你可能需要在包括默认规则在内的 ufw
规则之前或之后添加其他规则,以便更改默认规则,或添加一些特定的规则。这时,你可以分别在 before.rules
、before6.rules
、after.rules
、after6.rules
文件中添加规则。例如,在 before.rules
文件中添加以下规则可以用于 NAT:
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
请注意,如果更改 ufw
的默认规则,应将任何更改的规则添加到对应的用户规则文件 user.rules
中。这样可以确保在 ufw
配置更改时不会丢失用户自己定义的规则。