一般来说,
我们会使用名气比较的大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