?
原始linux的防火墻是iptables,以為過于繁瑣,各個發行版幾乎都有自己的方案;
ubuntu下的防火墻是ufw[ubuntu fireward的縮寫],centos的防火墻是fireward
ubuntu下:
啟用或者關閉防火墻
sudo ufw enable|disable
sudo ufw default deny[默認不對外開放任何端口]
如果沒有安裝防火墻[sudo apt-get install ufw]
查看防火墻狀態
[如果開啟的話,就會查看已經有的默認規則,沒有開啟則會顯示inactive]
sudo ufw status
查看防火墻的version
sudo ufw version
開啟某個端口外網訪問/禁用某個端口外網訪問
我習慣把22(ssh)、25(smtp)、80(瀏覽器訪問)、8080(tomcat默認)、3306(mysql端口)都打開。[以上會同時打開Ipv4和Ipv6的訪問權限]
sudo ufw allow/deny [否認的意思]sudo ufw allow 22
sudo ufw allow 25
sudo ufw allow 80
sudo ufw allow 8080
sudo ufw allow 3306
同樣關閉的話,就是:
sudo ufw deny 25
但是輸入此條命令還不夠,查看ufw status 發現:
To Action From
-- ------ ----
22 ALLOW Anywhere
3306 ALLOW Anywhere
80 ALLOW Anywhere
8080 ALLOW Anywhere
25 DENY Anywhere
22 (v6) ALLOW Anywhere (v6)
3306 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
8080 (v6) ALLOW Anywhere (v6)
25 (v6) DENY Anywhere (v6)
25端口只是被deny了,沒有移除這條規則:
再次使用sudo ufw delete deny 25,才能刪除25端口的規則
同樣再次使用sudo ufw allow 25,又被啟用了;
如果要禁止并刪除規則記錄,即:兩步合并,可直接:
sudo ufw delete allow 25
上面說到 ufw啟動時的默認策略:
sudo ufw enable
sudo ufw default deny
是默認禁止所有端口外部訪問;
相反:
sudo ufw enable
sudo ufw default allow
是默認開始所有端口訪問;
如果是default deny
那么我們的規則中則應該是allow的規則;
如果是default allow
那么我們的規則中則應該是deny的規則;
請注意理解。
ufw還可以設定規則默認某個IP獲得所有端口:
sudo ufw allow from 192.168.60.180[例如]
刪除規則的話:
sudo ufw delete allow from 192.168.60.180[例如]
ubuntu常用防火墻操作,我認為就這么多,感謝!