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端口)
sudo ufw allow from 192.168.31.1 (即:容許192.168.31.1這個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
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