前言
因公司項目的需求,需要對客戶端機器簡便使用防火牆的功能,所以可在頁面進行簡便設置防護牆規則,當然,這個功能需求放到我手上我才有機會學到。因為客戶端機器都是ubuntu的,所以當然用了ubuntu特有且簡便的防火牆設置規則,那就是ufw,文章以ubuntu16.04為准,其它版本的用法應該也差不太多。本文着重介紹其常用的用法,至於其他的用法那就要等各位小伙伴再自行研究了。
wiki
UFW 全稱為Uncomplicated Firewall,是Ubuntu 系統上默認的防火牆組件, 為了輕量化配置iptables 而開發的一款工具。 UFW 提供一個非常友好的界面用於創建基於IPV4,IPV6的防火牆規則。
# ufw使用教程 使用ufw的命令必須有管理員權限才可運行,沒有的話就要sudo一下了,不過要注意安全,不能瞎搞哈。。。
開啟和禁用
# ufw enable //開啟防火牆
# ufw disable //禁用防火牆
# ufw reset //重置防火牆,會把你所有已添加的規則全部刪除,並且禁用防火牆
可以使用以下命令查看ufw防火牆的狀態
# ufw status
// 沒開啟是這個樣子的
Status: inactive
//開啟后是這樣子的
Status: active
... // 如果你添加了防火牆規則下面這里就會顯示
設置默認的防火牆規則,默認為允許,就是說什么玩意都允許你連進來。
# ufw default allow|deny //設置默認規則
allow : 允許
deny : 拒絕
協議規則
協議規則就是有關於協議的一些防火牆規則。
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
# ufw insert 2 allow in 22/tcp
禁用22端口連入
# ufw deny in 22
ip規則
ip規則里面可以包含端口號和協議,反過來則不行。
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)的規則
# ufw allow proto tcp from 192.168.0.2 port 22
若你的系統上有幫他人進行轉發信息的進程,那么你可以允許來自某個源IP地址發送信息到某個目標地址,例:允許源IP地址192.168.0.2的8088端口 發送到 目標地址192.162.0.2的8080端口
# ufw allow from 192.168.0.2 port 80 to 192.168.0.2 port 8080
刪除規則
刪除規則分兩種,一種是根據規則的內容刪除,一種是根據序號刪除
方式一
剛才添加規則的命令前面添加delete
參數,例:
# ufw allow 22/tcp //添加一條允許ssh的規則
# ufw delete allow 22/tcp //刪除ssh規則
方式二
根據序號刪除,怎么知道規則的序號呢?使用ufw status numbered
# ufw status numbered //查
Status: active
To Action From
-- ------ ----
[ 1] 22 ALLOW IN Anywhere
我需要刪除第一條規則
# ufw delete 1 //這樣就是刪除第一條規則啦
推薦設置
# ufw enbale //開啟防火牆
# ufw alllow ssh // 添加ssh的規則,這是簡寫規則
# ufw default deny //設置默認為禁用,但是我們已經添加了ssh規則,就不擔心。
后面這里你們就可以自己搞事情啦!
...
好了,以上講的都是比較基本的用法,想要深入了解的話可以自行到官網上看看,后面會出一章關於iptables的防火牆規則,ufw就是基於iptables上進行封裝的,iptables適用於所有Linux系統哦,不單單是只有Ubuntu了。這篇文章到此結束,感謝各位小伙伴的閱讀,Thanks♪(・ω・)ノ
個人博客網址: https://colablog.cn/
如果我的文章幫助到您,可以關注我的微信公眾號,第一時間分享文章給您