ufw的使用,是比iptables简单。但只能作简单的事儿,更改简单的netfilter里的iptable里的记录。难点的,可能还是得iptables原生命令。

自打2.4版本以后的Linux内核中, 提供了一个非常优秀的防火墙工具。这个工具可以对出入服务的网络数据进行分割、过滤、转发等等细微的控制,进而实现诸如防火墙、NAT等功能。

 

一般来说, 我们会使用名气比较的大iptables等程序对这个防火墙的规则进行管理。iptables可以灵活的定义防火墙规则, 功能非常强大。但是由此产生的副作用便是配置过于复杂。

 

一向以简单易用著称Ubuntu在它的发行版中,附带了一个相对iptables简单很多的防火墙配置工具:UFW。

 

UFW (简单的防火墙) 是广泛使用的 iptables 防火墙 的前端应用 , 是一个主机端的iptables类防火墙配置工具,这是非常适合于基于主机的防火墙。UFW 即提供了一套管理网络过滤器的框架,又提供了控制防火墙的命令行界面接口。它给那些不熟悉防火墙概念的 Linux 新用户提供了友好、易使用的用户界面。

 

同时,另一方面,它也提供了命令行界面,为系统管理员准备了一套复杂的命令,用来设置复杂的防火墙规则。

 

UFW 对像 Debian、Ubuntu 和 Linux Mint 这些发布版本来说也是上上之选。

 

注明:ufw并不是一个防火墙,尽管它叫做Ubuntu firewall,但它本身并没有防火墙的功能,它只是一个管理netfilter防火墙的工具,其核心还是netfilter的iptables

ufw防火墙 即uncomplicated firewall,不复杂的防火墙,繁琐部分的设置还是需要去到iptables

ufw规则文件在/etc/ufw/before.rules ,/etc/ufw/after.rules,/var/lib/ufw/user.rules中,规则使用是按before.rules,再用user.rules,最后是after.rules,先设置规则会提前生效,后面规则不会覆盖上面的规则。

 

下面是一个简单的操作启用步骤。ubuntu默认已安装了Ufw,所以不讲安装。

一,在启动之前,先运行如下命令,打开端口几个端口(直接启用,可能ssh马上就断了)。



sudo ufw allow 22

ufw allow 80/tcp



 

二,测试期间,最好作个定时任务,定期关闭防火墙,怕万一搞砸了。一时登陆不上。测试完了之后,再取消这个定时任务即可。

 (略)

三,启动ufw防火墙



sudo ufw enable



 

 四,启动默认防御(阻止外部进入联接,放行内部对外联接)



ufw default deny



 

五,查看ufw防火墙是否在工作,查看使用中的规则

 



ufw status



 

六,常用命令:

开放tcp的1234入网端口



ufw allow 1234/tcp



 

删除tcp的1234入网端口



ufw delete allow 1234/tcp



只允许1.2.3.4的Ip访问1234端口(如果是在shell脚本里,一定要指明ufw的系统完整路径,不然会玩完的)



/usr/sbin/ufw allow proto tcp from 1.2.3.4 to any port 1234



 

删除ip1.2.3.4对1234端口的访问权限



ufw delete allow proto tcp from 1.2.3.4to any port 1234