個人認爲在初學linux的時候防火牆也很重要,如果你不知道它怎麼運行,那你排除一些問題就比較麻煩
一. 首先查看防火牆狀態:
firewall-cmd --state OR systemctl status firewalld
可以看到防火牆並沒有運行
1.1 我們systemctl start firewalld
注意服務名是firewalld
可以看到防火牆啓動成功
1.2 設置firewalld開機自啓:
systemctl enable firewalld
這裏systemctl工具會自動創建一個腳本並且在開機時啓動它
1.3 當我們更新了防火牆的配置時,它不會立刻生效,需要我們手動重啓
systemctl restart firewalld.service OR firewall-cmd --reload
二. 在開啓防火牆之後,我們有些服務就會訪問不到,是因爲服務的相關端口沒有打開。
在此以打開80端口爲例
命令:
開端口命令:
firewall-cmd --zone=public --add-port=80/tcp --permanent
重啓防火牆:
systemctl restart firewalld.service
命令含義:
--zone #作用域
--add-port=80/tcp #添加端口,格式爲:端口/通訊協議
--permanent #永久生效,沒有此參數重啓後失效
當提示auccess就表示成功添加服務了,這個時候你再訪問你的nginx服務器或者 apache就能成功訪問了
如果不放心,可以通過命令:
netstat -antp OR firewall-cmd --list-ports
查看開啓的所有端口,具體如圖
三.初級要求不高後面慢慢在深入,我整合了常用的命令如下
Firewalld最常用命令(使用systemctl工具)
1、firewalld的基本使用
啓動:
systemctl start firewalld
關閉:
systemctl stop firewalld
查看狀態:
systemctl status firewalld
開機禁用 :
systemctl disable firewalld
開機啓用 :
systemctl enable firewalld
重啓防火牆:
systemctl restart firewalld
2、端口操作
添加:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
(–permanent永久生效,沒有此參數重啓後失效)
注:Warning: ALREADY_ENABLED: 3306:tcp(說明3306端口通過成功)
(指定端口範圍爲4400-4600通過防火牆)
firewall-cmd --zone=public --add-port=4400-4600/udp --permanent
重新載入:
firewall-cmd --reload(端口開啓之後需重新加載)
查看:
firewall-cmd --zone= public --query-port=80/tcp
關閉:
firewall-cmd --zone= public --remove-port=80/tcp --permanent
查看通過的端口:
firewall-cmd --zone=public --list-ports
寶劍鋒從磨礪出
梅花香自苦寒來