linux防火墙介绍 iptables
Ubuntu的Linux内核提供一个数据包过滤框架:netfilter
,传统的操作的命令行工具是iptables
。它提供一套完整的可灵活配置的防火墙解决方案。但是它的使用相对复杂
精通iptables
需要耗费很多时间,开始使用iptables
来管理网络过滤器是个复杂的工作。所以近年来,出现了许多iptables
的前端/上游软件,它们都是为了达到不同的目的和满足不同目标用户的需求而生的。
ufw
The Uncomplicated Firewall (ufw
)是对iptables的封装,非常适合作为基于主机的防火墙。ufw
提供了一套管理netfilter
的框架以及一套配置防火墙的命令行接口。ufw
的目标是提供一套容易使用的接口给不熟悉防火墙概念的人使用,同时帮助知道自己要干嘛的系统管理员简化复杂的iptables
命令的使用。
使用ufw 安装方法 一般ubuntu自带ufw,如果需要也可以自行安装
1 sudo apt-get install ufw
使用方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # 启用 sudo ufw enable # 系统启动时关闭所有外部对本机的访问(本机访问外部正常)。 sudo ufw default deny # 关闭 sudo ufw disable # 查看防火墙状态 sudo ufw status # 允许外部访问80端口 sudo ufw allow 80 # 禁止外部访问80端口 sudo ufw delete allow 80 # 允许IP访问所有的本机端口 sudo ufw allow from 192.168.1.1 # 禁止外部访问smtp服务 sudo ufw deny smtp # 删除上面建立的某条规则 sudo ufw delete deny smtp # 拒绝所有的TCP流量从10.0.0.0/8 到192.168.0.1地址的22端口 sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22 # 允许所有RFC1918网络(局域网/无线局域网的)访问这个主机 sudo ufw allow from 10.0.0.0/8 sudo ufw allow from 172.16.0.0/12 sudo ufw allow from 192.168.0.0/16
惯例配置
服务器通常只暴露用于管理的22端口及一个服务端(入)口80,内部再通过反向代理进行端口(服务)分发
1 2 3 4 5 6 7 # 启用 sudo ufw enable # 系统启动时关闭所有外部对本机的访问(本机访问外部正常)。 sudo ufw default deny # 允许外部访问80端口及22端口 sudo ufw allow 22 sudo ufw allow 80
使用指南
ufw中文使用指南