一般来说, 我们会使用名气比较的大iptables等程序对这个防火墙的规则进行管理。iptables可以灵活的定义防火墙规则, 功能非常强大。但是由此产生的副作用便是配置过于复杂。一向以简单易用著称Ubuntu在它的发行版中,附带了一个相对iptables简单很多的防火墙配置工具:ufw。

    ufw默认是没有启用的。也就是说, ubuntu中的端口默认都是开放的。使用如下命令启动ufw:

$sudo ufw default deny 

 

          $sudo ufw enable


    通过第一命令,我们设置默认的规则为allow, 这样除非指明打开的端口, 否则所有端口默认都是关闭的。第二个命令则启动了ufw。如果下次重新启动机器, ufw也会自动启动。


    对于大部分防火墙操作来说, 其实无非就是的打开关闭端口。如果要打开SSH服务器的22端口, 我们可以这样:


$sudo ufw allow 22


    由于在/etc/services中, 22端口对应的服务名是ssh。所以下面的命令是一样的:


$sudo ufw allow ssh


    现在可以通过下面命令来查看防火墙的状态了:

$sudo ufw status 

 

      Firewall loaded 

 
 
 
 

      To                       Action From 

 

      --                        ------ ----   

 

      22:tcp                 ALLOW   Anywhere 

 

      22:udp                ALLOW   Anywhere

    我们可以看到, 22端口的tcp和udp协议都打开了。


    删除已经添加过的规则:


$sudo ufw delete allow 22


    只打开使用tcp/ip协议的22端口:


$sudo ufw allow 22/tcp


    打开来自192.168.0.1的tcp请求的80端口:


$sudo ufw allow proto tcp from 192.168.0.1 to any port 22

    要关系防火墙:


$sudu ufw disable

UFW防火墙是一个主机端的iptables类防火墙配置工具。这个工具的目的是提供给用户一个可以轻松驾驭的界面,就像包集成和动态检测开放的端口一样。


在Ubuntu中安装UFW:


目前这个包存在于Ubuntu 8.04的库中。


sudo apt-get install ufw

上面这行命令将把软件安装到您系统中。


开启/关闭防火墙 (默认设置是’disable’)

# ufw enable|disable

转换日志状态


# ufw logging on|off

设置默认策略 (比如 “mostly open” vs “mostly closed”)


# ufw default allow|deny

许 可或者屏蔽某些入埠的包 (可以在“status” 中查看到服务列表[见后文])。可以用“协议:端口”的方式指定一个存在于/etc/services中的服务名称,也可以通过包的meta-data。 ‘allow’ 参数将把条目加入 /etc/ufw/maps ,而 ‘deny’ 则相反。基本语法如下:


# ufw allow|deny [service]

显示防火墙和端口的侦听状态,参见 /var/lib/ufw/maps。括号中的数字将不会被显示出来。


# ufw status

[注意:上文中虽然没有使用 sudo,但是命令提示符号都是“#”。所以……你知道啥意思了哈。原文如此。──译者注]


UFW 使用范例:


允许 53 端口


$ sudo ufw allow 53

禁用 53 端口


$ sudo ufw delete allow 53

允许 80 端口


$ sudo ufw allow 80/tcp

禁用 80 端口


$ sudo ufw delete allow 80/tcp

允许 smtp 端口

$ sudo ufw allow smtp

删除 smtp 端口的许可

$ sudo ufw delete allow smtp

允许某特定 IP


$ sudo ufw allow from 192.168.254.254

删除上面的规则


$ sudo ufw delete allow from 192.168.254.254