我们都知道,Linux 系统当中有一款十分牛逼的防火墙叫做 iptables,它能做的远远超过了防火墙的范畴……不过,一般来讲,我们还是习惯于只把它当做防火墙来用。

不过,如果你只是想对某个端口进行策略,那似乎也并不需要去面对 iptables 那冗长的配置命令。现在,我就来给你介绍另外一款更加简单的防火墙:

Uncomplicated Firewall

一看名字就十分的明确“不复杂防火墙”没错,它就是 ufw,在 Ubuntu 操作系统当中已经内置,使用它可以简单快速的操作防火墙的功能,比如开关端口,访问 IP,限制连接等等等等。它与一系列 Linux 下防火墙都差不多,也是使用了 iptables 作为后台,所以,你同样可以在 iptables 上做更多的自定义,两者可以一起使用……当然了,我不推荐你这么做。iptables 的规则要优先于 ufw

之所以推荐 ufw,是因为这货在 Ubuntu 里边内置,所以刚刚建好 vps 你就可以先用它来快速部署啦!

基础开关命令

注意,如果你是通过 ssh 连接到服务器,那么你应该先添加规则,然后再开启防火墙,否则后果自负。

这里说一下,ufw 启用防火墙则会自动配置开机启动,禁用则会取消开机启动。

基本控制命令

一般我们可以使用 allowdeny 选项来允许或者禁止连接,后接端口号或者协议名称都行,用斜杠“/”分割,然后可以显式追加 TCP 还是 UDP,不追加则默认两者都算。另外,我们一般更倾向于配置 input 条目,如果你要控制output 条目,则可以在 allow 或者 deny 与端口号之间显式的强调 in 或者 out,当然默认肯定是 in。

下面是几颗栗子:

高级控制命令

与 allow、deny 选项对应的,其实还有 limitreject,前者用于限制30秒内连接次数,超过6次则自动 deny 掉 IP;后者和 deny 功能相同,但不会返回“你被拒绝”的消息。

如果你有多个网卡,那么在强调 in 和 out 后追加 on 选项,可以针对某一个网卡做策略,举个栗子:

添加更复杂的控制语句

通过编辑文件:

来添加更加复杂的、ufw 命令无法支持的 iptables 控制语句,比如说开启转发或者 nat 地址伪装等等,它的命令格式和 iptables 命令格式完全相同——因为这两个文件的加载方式就是 iptables-restore

当然,修改完这两个文件之后,你需要对 ufw 重启才能使它们生效。

延伸阅读

好了,基本上常用的介绍就这么多,如果你还想使用更高级的功能,请移步:

Ufw使用指南

Uncomplicated Firewall

另:如果你使用桌面版,这货其实还有图形端,叫做 Gufw。😜

发布者:R0uter

如非声明,本人所著文章均为原创手打,转载请注明本页面链接和我的名字。

加入对话

4条评论

电子邮件地址不会被公开。 必填项已用*标注