Ubuntu防火牆ufw-iptables的使用

UFW (簡單的防火牆) 是普遍使用的 iptables 防火牆 的前端應用 , 是一個主機端的iptables類防火牆配置工具,這是很是適合於基於主機的防火牆。UFW 即提供了一套管理網絡過濾器的框架,又提供了控制防火牆的命令行界面接口。它給那些不熟悉防火牆概念的 Linux 新用戶提供了友好、易使用的用戶界面。前端

同時,另外一方面,它也提供了命令行界面,爲系統管理員準備了一套複雜的命令,用來設置複雜的防火牆規則。服務器

UFW 對像 Debian、Ubuntu 和 Linux Mint 這些發佈版原本說也是上上之選。網絡

註明:ufw並非一個防火牆,儘管它叫作Ubuntu firewall,但它自己並無防火牆的功能,它只是一個管理netfilter防火牆的工具,其核心仍是netfilter的iptables
 框架

執行更新軟件源列表命令:sudo apt-get udpate

 

安裝ufwtcp

執行安裝ufw命令: sudo apt-get install ufw  (注:Ubuntu下默認已經安裝了ufw了)

開啓防火牆工具

注意:在開啓防火牆以前,你須要確保你容許了 SSH 鏈接,不然當你關閉遠程鏈接後,你就沒法再連上了。博主本身就曾用這招坑了本身!spa

執行開啓防火牆命令: sudo ufw enable

關閉防火牆命令行

執行關閉防火牆命令: sudo ufw disable

 

重啓防火牆(編輯或新增規則後須要重啓防火牆才能生效)接口

執行重啓防火牆命令: sudo ufw reload

查看防火牆狀態ip

執行查看防火牆狀態命令: sudo ufw status

 

查看UFW狀態和配置規則

執行查看防火牆狀態和配置規則命令: sudo ufw status verbose

開啓一個端口

sudo ufw allow 11211           (即:容許外部訪問11211端口)
ufw allow 25/tcp # 容許其它主機使用tcp協議訪問本機25端口
ufw delete deny 80/tcp # 要刪除規則,只要在命令中加入delete就好了

設置容許訪問 http

sudo ufw allow 80/tcp

 

禁用端口

sudo ufw delete allow 11211        (即:禁止外部訪問11211端口)

 

開放指定IP訪問

sudo ufw allow from 192.168.31.1  (即:容許192.168.31.1這個IP訪問全部的本機端口)

 

禁用指定IP訪問

sudo ufw deny allow from 192.168.31.1  (即:禁止192.168.31.1這個IP訪問全部的本機端口)
sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 要拒絕全部的流量從TCP的10.0.0.0/8 到端口22的地址192.168.0.1

 

刪除規則

執行刪除規則命令: sudo ufw delete allow from 192.168.31.1  
(即:刪除「容許192.168.31.1這個IP訪問全部的本機端口的規則」)
刪除 smtp 端口的許可
$ sudo ufw delete allow smtp
容許某特定 IP
刪除條命令創建的規則,使用:
ufw delete deny 80/tcp

 

開放指定IP指定端口

sudo ufw allow from 192.168.31.1 to any port 11211 (即:容許192.168.31.1這個IP訪問11211這個端口)

爲了容許全部 X11 鏈接,他們使用的端口範圍是 6000 ~ 6007,你能夠這樣配置:

sudo ufw allow 6000:6007/tcp
sudo ufw allow 6000:6007/udp

 

配置子網

當你須要容許 IP 地址從 192.168.1.1 到 192.168.1.254 內全部 IP 的鏈接時,你能夠這樣配置:

sudo ufw allow from 192.168.1.1/24

配置子網,並指定端口號

容許 IP 地址從 192.168.1.1 到 192.168.1.254 內全部 IP 的鏈接訪問11211這個端口時,你能夠這樣配置:

sudo ufw allow from 192.168.1.1/24 to any port 11211

 eth0 爲公網地址,須要向外開放 80 端口

sudo ufw allow in on eth0 to any port 80

上面配置中,服務器將會接受來自於公網的 HTTP 請求。

 

MySQL 服務器(監聽 3306)只接受經過內網網卡 eth1 的請求,你能夠這樣:

sudo ufw allow in on eth1 to any port 3306

重置全部規則

執行重置全部規則命令:sudo ufw reset
相關文章
相關標籤/搜索