前言
最近操作服務(wù)器的時候太抓,不小心誤操作了防火墻,導(dǎo)致除22端口外碴倾,其他端口外部都不能訪問掉丽,試了很多種方法,后最終得到解決捶障。網(wǎng)絡(luò)上的解決方式很多都比較零碎,所以在這里整理一下具體解決的思路和步驟皆辽。
一芥挣、解決思路
1. 判斷服務(wù)器使用的是firewall還是iptable
Linux一共有兩款防火墻軟件,分別是firewall和iptable空免。一般來說蹋砚,ConterOS7.0以上使用的是firewall摄杂,ConterOS7.0以下使用的是iptables循榆。開放端口前,我們要先弄清楚自己服務(wù)器使用的是哪種軟件秧饮,才方便使用對應(yīng)的命令
service iptables status
systemctl status firewalld.service
因為我本地使用的是firewall進(jìn)行防火墻管理的,所以后續(xù)將以firewall進(jìn)行演示
2. 判斷firewall當(dāng)前開啟的服務(wù)和端口
- 查看當(dāng)前firewall的所有信息
firewall-cmd --list-all
image.png
這里可以看到柑船,我們當(dāng)前沒有配置開放的端口鞍时,services服務(wù)也沒有http
3. 添加http服務(wù)
firewall-cmd --permanent --add-service=http
注意:我在添加http服務(wù)的時候扣蜻,報了一個Error: Action org.fedoraproject.FirewallD1.all is not registered
的錯誤,如果你也報的話莽使,可能是防火墻版本存在問題,可以yum update firewalld手動更新防火墻版本。更新完成后味咳,即可解決。
4. 重新執(zhí)行firewall-cmd --list-all查看是否添加成功
image.png
如果查不到的話责嚷,執(zhí)行systemctl restart firewalld.service重啟一下防火墻服務(wù)
5. 添加開放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
這里的permanent配置是永久生效的意思罕拂,不配的話重啟后該配置就失效
添加好后全陨,執(zhí)行firewall-cmd --reload
,重新加載策略配置
6辱姨、查看端口是否開放成功
firewall-cmd --list-all
或者
firewall-cmd --list-ports
image.png
最后我們就可以順利訪問服務(wù)器的相關(guān)端口啦
二雨涛、常用的防火墻命令
1懦胞、查看firewall服務(wù)狀態(tài)
systemctl status firewalld
出現(xiàn)Active: active (running)切高亮顯示則表示是啟動狀態(tài)凉泄。
出現(xiàn) Active: inactive (dead)灰色表示停止,看單詞也行胀糜。
2吼具、查看firewall的狀態(tài)
firewall-cmd --state
3、開啟拗盒、重啟、關(guān)閉痊臭、firewalld.service服務(wù)
# 開啟
service firewalld start
# 重啟
service firewalld restart
# 關(guān)閉
service firewalld stop
4登夫、查看防火墻規(guī)則
firewall-cmd --list-all
5、查詢恼策、開放、關(guān)閉端口
# 查詢端口是否開放
firewall-cmd --query-port=8080/tcp
# 開放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重啟防火墻(修改配置后要重啟防火墻)
firewall-cmd --reload
# 參數(shù)解釋
1分唾、firwall-cmd:是Linux提供的操作firewall的一個工具狮斗;
2、--permanent:表示設(shè)置為持久折砸;
3沙峻、--add-port:標(biāo)識添加的端口;