当前位置: 首页 > news >正文

Ubuntu下使用UFW配置防火墙(简化iptables的操作)

UFW全称为Uncomplicated Firewall,是Ubuntu系统上配置iptables防火墙的工具。UFW提供一个非常友好的命令用于创建基于IPV4IPV6的防火墙规则。 但是,UFW是没有界面的,就是用命令的那一种,所以,操作起来就不是那么的方便,有人帮它写了个界面,名字就叫做“Gufw”。

由于Ubuntu下的iptables操作起来比较复杂,依赖关系比较多,所以使用UFW时可以简化很多操作。当然Debian同样适用。

无论是桌面版还是服务器版, UFW的命令行用法是一样的。

 

一、安装UFW

首先,用如下命令来检查下系统上是否已经安装了UFW

$ sudo dpkg --get-selections | grep ufw

如还没有安装,可以使用apt命令来安装,如下所示:

$ sudo apt-get install ufw

在使用前,你应该检查下UFW是否已经在运行。用下面的命令来检查:

$ sudo ufw status

如果你发现状态是:inactive , 意思是没有被激活或不起作用。

二、使用方法

1、启用

sudo ufw enable
sudo ufw default deny #作用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。

2、关闭

sudo ufw disable

2、查看防火墙状态

sudo ufw status

3、开启/禁用相应端口或服务举例

sudo ufw allow 80 #允许外部访问80端口
sudo ufw delete allow 80 #禁止外部访问80 端口
sudo ufw allow from 192.168.1.1 #允许此IP访问所有的本机端口
sudo ufw deny smtp #禁止外部访问smtp服务,#以服务名代表端口,可以使用less /etc/services列出所有服务信息, 其中包括该服务使用了哪个端口和哪种协议
sudo ufw delete allow smtp #删除上面建立的某条规则,或者sudo ufw delete allow 80/tcp,如果出现无法删除,可以用序号:sudo ufw status numbered,然后通过序号删除sudo ufw delete 1
sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22 #要拒绝所有的TCP流量从10.0.0.0/8 到192.168.0.1地址的22端口
#可以允许所有RFC1918网络(局域网/无线局域网的)访问这个主机(/8,/16,/12是一种网络分级):
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

4、重置所有规则

sudo ufw reset

 

参考文章:

http://blog.ihipop.info/2010/11/1855.html

https://linux.cn/article-2489-1.html

http://wiki.ubuntu.org.cn/index.php?title=Ufw%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97&variant=zh-hans

http://wiki.ubuntu.org.cn/UFW%E9%98%B2%E7%81%AB%E5%A2%99%E7%AE%80%E5%8D%95%E8%AE%BE%E7%BD%AE

相关文章:

  • [笔记]_ELVE_正则表达式
  • Laravel5.4 Queues队列学习
  • 编程规范(一 之kmalloc,fflush,fclose,char_init)
  • Linux Shell远程执行命令(命令行与脚本方式)
  • 互联网企业安全高级指南3.3 如何推动安全策略
  • Excel导出纵向表格(poi)
  • POJ2584_T-Shirt Gumbo(二分图多重最大匹配/最大流)
  • 以精益的眼光重新关注电子商务
  • leetcode-000-序
  • cropper使用在线图片的问题
  • 在SAE搭建Python+Django+MySQL(基于Windows)
  • Java 单例模式
  • TP5分页类
  • 新CSS伪类:focus-within
  • 如果一个人
  • css布局,左右固定中间自适应实现
  • download使用浅析
  • ECMAScript入门(七)--Module语法
  • JAVA SE 6 GC调优笔记
  • Java反射-动态类加载和重新加载
  • Linux各目录及每个目录的详细介绍
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Spark RDD学习: aggregate函数
  • Vue组件定义
  • 看域名解析域名安全对SEO的影响
  • 漂亮刷新控件-iOS
  • 如何在GitHub上创建个人博客
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 在weex里面使用chart图表
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • #NOIP 2014# day.1 T2 联合权值
  • #NOIP 2014# day.2 T2 寻找道路
  • (10)ATF MMU转换表
  • (4)(4.6) Triducer
  • (4)logging(日志模块)
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (理论篇)httpmoudle和httphandler一览
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)EXC_BREAKPOINT僵尸错误
  • ./configure,make,make install的作用
  • .htaccess配置常用技巧
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .Net 路由处理厉害了
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET处理HTTP请求
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .stream().map与.stream().flatMap的使用
  • :如何用SQL脚本保存存储过程返回的结果集
  • @media screen 针对不同移动设备
  • [ C++ ] STL_list 使用及其模拟实现
  • [ solr入门 ] - 利用solrJ进行检索
  • [] 与 [[]], -gt 与 > 的比较
  • [ActionScript][AS3]小小笔记