查看“Ufw使用指南”的源代码
来自Ubuntu中文
←
Ufw使用指南
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
有问题,联系我:一般还是使用站内短信通知比较快。 http://forum.ubuntu.org.cn/ucp.php?i=pm&mode=compose&u=171468 email:cat650@163.com == 描述 == 此程序(ufw)是为了使linux防火墙更易于使用和管理。(通常已默认安装) ufw与其它linux类防火墙一样,使用iptable作为后台。 安装方法: sudo apt-get install ufw == 用法(复述中文含意) == []是代表可选内容。可能需要root权限,如无法运行,请使用 sudo ufw……的命令结构。“”中的内容不能照抄,要按需要更改。 ufw [--dry-run] enable|disable|reload 命令[--试运行]激活|关闭|重新载入 ufw [--dry-run] default allow|deny|reject [incoming|outgoing] 命令[--试运行]默认 允许|阻止|拒绝 [访问本机|向外访问] *deny让访问者知道数据被拒绝(回馈拒绝信息),这样调试网络时就知道是防火墙阻止了访问。reject则直接丢弃访问数据,访问者不知道是访问被拒绝还是不存在该主机。 *这个默认策略。相当于“总策略” *如果更改了默认策略,一些已经存在的规则可能需要手动修改。更多内容看“规则示例”一节。 ufw [--dry-run] logging on|off|LEVEL 命令[--试运行]日志 开启|关闭|“级别” *“级别”分为low、medium、high、full *low 记录与默认策略冲突的封装数据包(记录速度被限制)。记录与规则符合的数据包(没有要求关闭记录的) *medium 记录与默认策略冲突的数据包(包括被规则允许的)、无效数据包、所有新连接。记录速度被限制。 *high 同medium,只是没有记录速度限制。附加记录所有数据包(有记录速度限制)。 *full 与high等同,只是取消记录限制。 medium级别及更上级会记录许多内容,有可能短时间内撑爆你的硬盘。特别是用在服务器一类的机器上。 ufw [--dry-run] reset 命令[--试运行]复位 ufw [--dry-run] status [verbose|numbered] 命令[--试运行]状态 [详细|规则编号] *这个命令可以查看现有规则 ufw [--dry-run] show REPORT 命令[--试运行]显示 “报告类型” *“报告类型”包括:raw,builtins,before-rules,user-rules,after-rules,logging-rules,listening *它们都是基于iptable ** raw 原始报告。它是所有报告的来源,除外listening。 ** builtins ** before-rules ** user-rules ** after-rules ** logging-rules ** listening 监听。显示系统中处于监听状态的tcp端口和 开放状态的udp端口,以及对应的IP地址、网络设备。网络设备显示为‘*’时,表示这个端口绑定到了所有网络设备上。后面显示激活这个端口进行监听的规则。只有IPV6启用的时候,默认规则才会显示tcp6、udp6。 ufw [--dry-run] [delete] [insert NUM] allow|deny|reject|limit [in|out][log|log-all] PORT[/protocol] 命令[--试运行][删除] [插到“x号规则”之前] 允许|阻止|拒绝|限制 [进|出] [记录新连接|记录所有数据包] “端口” [/“协议”] *[insert NUM]插到“x号规则”之前。意思是把规则等级提前,序号在前的规则要优先于序号在后的规则。 *deny让访问者知道数据被拒绝(回馈拒绝信息),这样调试网络时就知道是防火墙阻止了访问。reject则直接丢弃访问数据,访问者不知道是访问被拒绝还是不存在该主机。limit对连接数率进行限制,以防范暴力登录攻击。如果同一个IP地址在30秒之内进行了6次及6次以上的连接,ufw将阻止(deny)该连接。 *[in|out]in接收数据包,out发送数据包。 *PORT用具体的端口号代替,比如80 *[/protocol]协议类型。不指定时,同时作用于tcp、udp。PORT[/protocol]的写法:8080/udp这样,中间没有空格。 ufw [--dry-run] [delete] [insert NUM] allow|deny|reject|limit [in|out on INTERFACE] [log|log-all] [proto protocol] [from ADDRESS [port PORT]] [to ADDRESS [port PORT]] 命令 [--试运行][删除][插到x号规则之前] 允许|阻止|拒绝|限制 [进|出 基于“什么网络设备”] [协议 “协议”] [来源 “地址” [端口 “端口”]] [目标 “地址” [端口 “端口”]] *[insert NUM]插到“x号规则”之前。意思是把规则等级提前,序号在前的规则要优先于序号在后的规则。 *deny让访问者知道数据被拒绝(回馈拒绝信息),这样调试网络时就知道是防火墙阻止了访问。reject则直接丢弃访问数据,访问者不知道是访问被拒绝还是不存在该主机。limit对连接数率进行限制,以防范暴力登录攻击。如果同一个IP地址在30秒之内进行了6次及6次以上的连接,ufw将阻止(deny)该连接。 *[in|out on INTERFACE]在某网络设备上in接收数据包,out发送数据包。比如规则只作用于无线网卡0号(一般表示为wlan0,你可以单独运行命令ifconfig来查看你有哪些网络设备)接收数据包,这点就写为:in on wlan0。 * [from ADDRESS [port PORT]]规则应用于某IP地址(的“某端口”)。假如:主机192.168.1.2无限制上网,而虚拟机192.168.1.120禁止访问192.168.1.56。就用到ufw deny from 192.168.1.120 to 192.168.1.56 *[to ADDRESS [port PORT]]规则应用于某IP地址来源(的“某端口”)。这里指外部IP地址,也就是传统意义上的防火墙设定。 ufw [--dry-run] delete NUM 命令[--试运行] 删除 “第X号规则” *通过这个命令来获得规则号 ufw status ufw [--dry-run] app list|info|default|update 命令 [--试运行] 程序 清单|信息|默认|更新 == 可直接跟在ufw后的参数 == 命令方式:(如:ufw -h) ufw 参数 --version 显示程序版本号 -h , --help 显示帮助信息 --dry-run 不实际运行,只是把涉及的更改显示出来。 enable 激活防火墙,开机时自动启动 disable 关闭防火墙,开机时不启动 reload 重新载入防火墙 reset [--force] 关闭防火墙,并复位至初始安装状态。如果使用--force选项,则忽略确认提示。 status 显示防火墙的状态和已经设定的规则。使用status verbose显示更详细的信息。‘anywhere’与‘any’、‘0.0.0.0/0’一个意思。 show “报告类型” 显示防火墙运行信息。详细内容看“报告类型” limit “规则” 限制连接次数。通常用于登录端口,防止暴力破解。如果同一个IP地址在30秒之内进行了6次及6次以上的连接,ufw将阻止(deny)该连接。 此命令目前只能用于IPv4。还不支持IPv6. == 规则示例 == *规则可以简写也可以完整表达。简写的规则只能指定端口和(或)协议被允许或阻止。默认是访问本机的规则(incoming)。例如: ufw allow 53 允许其它机子访问本机53端口,协议包含tcp和udp。 *如果要控制协议,只要加入“/协议”在端口后面就行了。例如: ufw allow 25/tcp 允许其它机子使用tcp协议访问25端口。 *UFW也可以检查 /etc/services文件,明白服务的名字及对应的端口和协议。我们使用服务的名称即可。 ufw allow smtp *UFW同时支持出入口过滤。用户可以使用in或out来指定向内还是向外。如果未指定,默认是in。例如: ufw allow in http 许可访问本机http端口(80) ufw reject out smtp 禁止访问外部smtp端口,并告知“被防火墙阻止”。 ufw deny out to 192.168.1.1 禁止本机192.168.1.1对外访问。比如本机有多个IP时(通过虚拟网卡、多网卡等)。 *用户也可使用完整的规则来指定来源与目的地,还有端口。书写规则基于OpenBSD PF。举例: ufw deny proto tcp to any port 80 阻止使用tcp协议向任何地址的80端口发送数据包 ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25 阻止来源为10.0.0.0/8(255.0.0.0)这个网络段的数据包通过tcp协议发送到192.168.0.1的25端口。 ufw reject out on wlan0 to 119.75.217.56 禁止通过本机无线网卡wlan0联接到119.75.217.56(已测试) sudo ufw deny out on wlan0 from 192.168.1.2 to 119.75.217.56 禁止通过本机192.168.1.2无限网卡wlan0发送数据包到119.75.217.56(已测试)。当IP被改为192.168.1.3或其它就能通过wlan0连接到119.75.217.56 *ufw也可以使用IPv6协议。但要事先在/etc/default/ufw 中设定IPv6为启动状态。举例: ufw deny proto tcp from 2001:db8::/32 to any port 25 阻止IPv6为2001:db8::/32类型的地址,连接25端口 *ufw可以连续例举端口号。端口号间必须使用逗号或分号,不能使用空格。“输入端口号”字符数最多不能超过15过(8080:8090算两个字符)。比如允许80,443,8080~8090这几个端口接受tcp传入连接。 ufw allow proto tcp from any to any port 80,443,8080:8090 此例,“输入端口号”字符数为4个。命令意思是阻止通过tcp协议发送数据包到80,443,8080~8090端口 *ufw可以对连接数率进行限制,以防范暴力登录攻击。如果同一个IP地址在30秒之内进行了6次及6次以上的连接,ufw将阻止(deny)该连接。[http://www.debian-administration.org/articles/187 可以查看更多信息]。 ufw limit ssh/tcp *当然有些时候我们不想让访问者知道他的访问被拒绝了。就使用reject代替deny ufw reject auth *默认情况下ufw的所有规则针对所有网络设备(比如网卡1,网卡2,无线网卡1,虚拟网卡1……)。但是我们可以特别指定,某规则在什么网络设备上生效。注意只能使用设备号,不能用别名。比如有线网卡:eth0(你可以使用ifconfig命令查看你现有的网络设备) ufw allow in on eth0 to any port 80 proto tcp *要删除规则,只要在命令中加入delete就行了。比如: ufw deny 80/tcp 要删除这条命令建立的规则,使用: ufw delete deny 80/tcp 当然,也可以使用规则号来进行删除。比如要第3号规则 ufw delete 3 注意,如果你开启IPv6功能。要同时删除IPv4和IPv6的规则(比如:ufw allow 22/tcp),如果用规则号的方式删除可能只删除了一个。 *显示第几号规则,可以使用这样的命令 ufw status numbered(也就是规则号) *日志功能。如果使用log将记录所有符合规则的新连接,如果使用log-all将记录所有符合规则的数据包。例如,要允许并记录shh(22/tcp)上的新连接: ufw allow log 22/tcp 更多内容看“日志sudo ufw default deny”一节 特殊例子: 允许RFC1918网络结构访问本机: ufw allow from 10.0.0.0/8 ufw allow from 172.16.0.0/12 ufw allow from 192.168.0.0/16 其实这个就是用CIDR(无类别域间路由选择 ,Classless and Subnet Address Extensions and Supernetting)的形式表示的一个网段,或者说子网。 192.168.0.0/24”就表示,这个网段的IP地址从192.168.0.1开始,到192.168.0.254结束(192.168.0.0和192.168.0.255有特殊含义,不能用作IP地址);子网掩码是255.255.255.0。 上面的子网掩码怎么来的呢?其实关键就在“24”上。我们知道IP地址是四个十进制数组成的,相当于32位二进制。用CIDR表示形式,后一个数字将这32位进行了间隔(以24为例):前24位用"1"表示,后面8位用0表示,得到一个二进制数: 11111111 11111111 11111111 00000000。 将其转化为十进制,就是:255.255.255.0了。这个不就是子网掩码,netmask。 对应的: /8 就是 255.0.0.0; /16就是 255.255.0.0 比如要把192.168.0.0/24分为两个网络。 192.168.0.0对应2进制为 11000000 10101000.00000000 00000000 子网掩码原为255.255.255.0 11111111 11111111 11111111 00000000 *192.168.0.0~192.168.0.127为一个网络;192.168.0.128~192.168.0.255为另一个网络。 *所属网络分别为192.168.0.0;192.168.0.128 *网络广播分别为192.168.0.127;192.168.0.255 *子网掩码为255.255.255.128;255.255.255.128。2进制表示为(25个1) 11111111 11111111 11111111 10000000 CIDR表示就很简单了:192.168.0.0/25即192.168.0.0~192.168.0.127;192.168.0.128/25即192.168.0.128~192.168.0.255 怎么样比你换算半天二进制要好得多吧。 == 远程管理 == 此章节还未被编辑 == 应用程序集成管理 == *ufw能从 /etc/ufw/applications.d. 中读取应用程序清单。你可以使用命令查看: ufw app list *大家可以使用应用程序名字来增加规则。比如 ufw allow <程序名字> ufw allow CUPS ufw allow from 192.168.0.0/16 to any app <程序名字> 注意,端口号已经被程序名所对应的策略所包括,不要再重新列举端口号。 *查看程序名所对应的策略内容,命令: ufw app into <程序名字> 注意:程序名字是清单上有的才行。程序名字改用用all,可以看全部策略。 *如果你编辑或者增加了程序清单,你可使用此命令更新防火墙: ufw app update <程序名字> 程序名字改用用all,则更新整个清单。 *更新清单同时增加规则可以使用如下命令: ufw app update --add-new <程序名字> 注意:update --add-new参数的行为由此命令配置: ufw app default skip|allow|deny 默认是skip,也就是没有设定。 警告:如果程序规则设定为default allow ,将会引起很大的风险。请三思而后行! == 报告 == ufw的报告是基于系统。使用形式是iptable格式: *raw 完整报告,下面是该报告的细选。 *builtins *before-rules *user-rules *logging-rules *listening 显示系统对tcp的监听和udp的开放状态。同时显示被监听端口的地址。如果地址变为“*”,说明该端口对所有地址开放。接下来是显示可能影响该端口的规则。 == 常用操作(新手操作) == 查看ufw防火墙是否在工作,查看使用中的规则。 sudo ufw status 启动ufw防火墙 sudo ufw enable 启动默认防御(阻止外部联接,放行对外联接)。一般用户到这一步算是可以了。 sudo ufw default deny *如果你只是只菜鸟,不建议你把deny换成reject。当网络不正常的时候,deny会告诉网络,你是被防火墙阻止了,而不是网络出问题了。
返回
Ufw使用指南
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息