前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ubuntu防火墙规则之ufw

ubuntu防火墙规则之ufw

作者头像
Johnson木木
发布2019-08-21 09:51:01
2.5K0
发布2019-08-21 09:51:01
举报
文章被收录于专栏:猿小俊猿小俊

前言

因公司项目的需求,需要对客户端机器简便使用防火墙的功能,所以可在页面进行简便设置防护墙规则,当然,这个功能需求放到我手上我才有机会学到。因为客户端机器都是ubuntu的,所以当然用了ubuntu特有且简便的防火墙设置规则,那就是ufw,文章以ubuntu16.04为准,其它版本的用法应该也差不太多。本文着重介绍其常用的用法,至于其他的用法那就要等各位小伙伴再自行研究了。

wiki

UFW 全称为Uncomplicated Firewall,是Ubuntu 系统上默认的防火墙组件, 为了轻量化配置iptables 而开发的一款工具。 UFW 提供一个非常友好的界面用于创建基于IPV4,IPV6的防火墙规则。

ufw使用教程

使用ufw的命令必须有管理员权限才可运行,没有的话就要sudo一下了,不过要注意安全,不能瞎搞哈。。。

开启和禁用

代码语言:javascript
复制
# ufw enable //开启防火墙
# ufw disable //禁用防火墙
# ufw reset //重置防火墙,会把你所有已添加的规则全部删除,并且禁用防火墙

可以使用以下命令查看ufw防火墙的状态

代码语言:javascript
复制
# ufw status
// 没开启是这个样子的
Status: inactive  

//开启后是这样子的
Status: active
...  // 如果你添加了防火墙规则下面这里就会显示

设置默认的防火墙规则,默认为允许,就是说什么玩意都允许你连进来。

代码语言:javascript
复制
# ufw default allow|deny  //设置默认规则
allow : 允许
deny : 拒绝 

协议规则

协议规则就是有关于协议的一些防火墙规则。

代码语言:javascript
复制
ufw [delete] [insert NUM]  allow|deny [in|out]  [PORT[/PROTOCOL] ]  [comment COMMENT]

delete : 删除这个规则
insert : Num代表你要插入到防火墙规则的那个位置,规则是有序排列的。会根据需要来一个个检查
allow|deny : 这条规则是允许的还是禁用的
in|out: 这条规则对发送还是接收数据生效
PORT: 端口号
protocol : 协议,例如TCP还是UDP
comment : 注释
...

添加一条允许ssh的规则(ssh的端口号是22,协议是TCP),并且插入到位置2

代码语言:javascript
复制
# ufw insert 2 allow in 22/tcp 

禁用22端口连入

代码语言:javascript
复制
# ufw deny in 22

ip规则

ip规则里面可以包含端口号和协议,反过来则不行。

代码语言:javascript
复制
ufw  [delete]  [insert  NUM]  allow|deny  [in|out  [on INTERFACE]] [proto PROTOCOL] 
[from ADDRESS [port PORT]]  [to ADDRESS [port PORT]] [comment COMMENT]

INTERFACE :网卡,就是针对哪个网卡生效,可以使用ifconfig或ip addr查看你的网卡
form ADDRESS  : 源IP地址
to ADDRESS : 目标IP地址
PORT : 跟在源IP地址后面就是源IP地址的端口号,反之则是目标IP地址的端口号
其他的都和协议规则的一致

添加允许192.168.0.2 的22端口tcp协议(ssh)的规则

代码语言:javascript
复制
# ufw allow proto tcp from 192.168.0.2 port 22

若你的系统上有帮他人进行转发信息的进程,那么你可以允许来自某个源IP地址发送信息到某个目标地址,例:允许源IP地址192.168.0.2的8088端口 发送到 目标地址192.162.0.2的8080端口

代码语言:javascript
复制
# ufw allow from 192.168.0.2 port 80 to 192.168.0.2 port 8080

删除规则

删除规则分两种,一种是根据规则的内容删除,一种是根据序号删除

方式一

刚才添加规则的命令前面添加delete参数,例:

代码语言:javascript
复制
# ufw allow 22/tcp //添加一条允许ssh的规则
# ufw delete allow 22/tcp //删除ssh规则

方式二

根据序号删除,怎么知道规则的序号呢?使用ufw status numbered

代码语言:javascript
复制
# ufw status numbered //查
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere         

我需要删除第一条规则

代码语言:javascript
复制
# ufw delete 1 //这样就是删除第一条规则啦

推荐设置

代码语言:javascript
复制
# ufw enbale //开启防火墙
# ufw alllow ssh // 添加ssh的规则,这是简写规则
# ufw default deny //设置默认为禁用,但是我们已经添加了ssh规则,就不担心。
后面这里你们就可以自己搞事情啦!
...

好了,以上讲的都是比较基本的用法,想要深入了解的话可以自行到官网上看看,后面会出一章关于iptables的防火墙规则,ufw就是基于iptables上进行封装的,iptables适用于所有Linux系统哦,不单单是只有Ubuntu了。这篇文章到此结束,感谢各位小伙伴的阅读,Thanks♪(・ω・)ノ

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • wiki
    • ufw使用教程
      • 开启和禁用
        • 协议规则
          • ip规则
            • 删除规则
              • 方式一
              • 方式二
            • 推荐设置
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档