1.安装
Ubuntu20.04一般都默认安装了UFW(Uncomplicated Firewall),它是一款轻量化的工具,主要用于对输入输出的流量进行监控。如果没有安装,请用下面的命令安装:
sudo apt install ufw
正常情况安装以后应该是默认禁止状态的,输入sudo ufw status verbose命令可以看到如下界面:
这表示防火墙没有开启,下面启用防火墙。
2.启用
终端中输入如下命令:
sudo ufw enable
sudo ufw default deny
运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。再次输入sudo ufw status verbose,可以看到如下界面:
上面的默认配置表示关闭所有外部对本机的访问,但本机访问外部正常,同时我又开启了3690端口,允许外部通过3690端口访问本机,这里说下,SVN默认使用的就是3690端口,这样我就可以从外部通过SVN提交代码到本机了。
3.开启/禁用
一般的用户,只需设置如下三条命令:
sudo apt install ufw
sudo ufw enable
sudo ufw default deny
就已经足够安全了,如果你需要开放某些服务,再使用sudo ufw allow命令开启,举例如下:
sudo ufw allow | deny [service]
打开或关闭某个端口,例如:
sudo ufw allow 53 允许外部访问53端口(tcp/udp)
sudo ufw allow 3690 允许外部访问3690端口(svn)
sudo ufw allow from 192.168.1.111 允许此IP访问所有的本机端口
sudo ufw allow proto tcp from 192.168.0.0/24 to any port 22 允许指定的IP段访问特定端口
sudo ufw delete allow smtp 删除上面建立的某条规则,比如删除svn端口就是 sudo ufw delete allow 3690
4.开启/关闭防火墙
sudo ufw enable | disable
5.重启防火墙
sudo ufw reload
6.示例
下面是ufw命令行的一些示例:
ufw enable/disable:打开/关闭ufw
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端口"的规则