原始的防火墙:iptables,过于繁琐,ubuntu系统提供了基于iptables之上的防火墙工具 ufw。
ufw 支持图形化工具;
1、安装
ubuntu 20.04 及以上版本 默认安装ufw(Uncomplicated Firewall),ufw是一款轻量化的工具,主要用于对输入输出的流量进行监控。
如果ubuntu没有安装ufw(多出现于 最小化安装 系统的情况),请用下面的命令安装ufw工具:
apt install ufw -y
正常情况下安装以后应该默认是禁止状态的,输入 ufw status verbose
命令可以看到如下界面:
ufw status verbose
Status: inactive
这表示防火墙没有开启,下面启用防火墙。
inactive:不活动的;不活跃的;怠惰的;闲置的
active:活跃的,已启用的
2、启动
ufw enable
ufw default deny
运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。再次输入 ufw status verbose
,可以看到如下界面:
root@ysf:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
3、开启/禁止 服务
3.1、如果需要开放某些服务,使用 ufw allow 命令开启:
ufw allow | deny [service]
3.2、打开或关闭某个端口,例如:
ufw allow 53 # 允许外部访问53端口(tcp/udp)
ufw allow 3690 # 允许外部访问3690端口(svn)
ufw allow from 192.168.1.111 # 允许此IP访问所有的本机端口
ufw allow proto tcp from 192.168.0.0/24 to any port 22 # 允许指定的IP段访问特定端口
ufw delete allow smtp # 删除上面建立的某条规则,比如删除svn端口就是 ufw delete allow 3690
4、开启/关闭 防火墙
ufw enable | disable
5、示例
ufw status 查看已经定义的ufw规则
ufw default allow/deny 外来访问默认 允许/拒绝
ufw allow/deny 20 允许/拒绝 访问20端口,20后可跟 /tcp 或 /udp,表示tcp或udp封包。
sudo ufw allow proto tcp from 192.168.0.0/24 to any port 22 允许自192.168.0.0/24的tcp封包访问本机的22端口。
ufw delete allow/deny 20 删除以前定义的"允许/拒绝 访问20端口"的规则