作者goodmancards (HAPPY)
看板Linux
標題[問題] centos7防火牆開port無效
時間Wed Nov 13 21:47:37 2019
前情提要
最近在azure上開了一個虛機,想要做web server的前端(前後端分離)
在用nginx反向代理時,一直失敗,同樣的conf放在自己PC是可以正常跑的
後來想到可能是port沒開的問題,所以就先做檢測
發現連telnet localhost port都不過...
所以GOOGLE了一下方法,但是怎樣都還是沒用...
以下是操作的指令
sudo firewall-cmd --zone=public --add-port=9701/tcp --permanent
sudo firewall-cmd --reload
以上success
sudo firewall-cmd --list-port
9701/tcp
到這邊都是正常,可是telnet還是失敗
telnet localhost 9701
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
sudo netstat -tnlp | grep :9701
用這個查了監聽的port,結果沒有返回
有人遇過這個狀況嗎...這個要怎麼解決
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.191.98.212 (菲律賓)
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1573652859.A.970.html
→ brli7848: 先看azure介面有沒有給開port吧 11/13 22:07
→ jjasoncool: 雲上面可能會基於安全不給開吧,指令看起來沒錯的 11/13 22:45
→ goodmancards: 就算azure的防火牆沒開,VM本身應該不影響吧? 11/13 23:46
→ goodmancards: 現在是連telnet localhost port都不過了 11/13 23:47
推 zhucc: 1.azure 上面防火牆要開 2.系統防火牆要開 3.沒監聽你要誰 11/14 00:53
→ zhucc: 回你 11/14 00:53
推 asd01248967: 雲端本身有自己的防火牆,VM系統也有自己的防火牆要 11/14 01:20
→ asd01248967: 開。就這兩樣而已 11/14 01:20
→ newversion: netstat -nlt | grep 9701 ?? 11/14 07:12
→ pizzahut: telnet localhost 9701 沒有結果那應該要先檢查服務有 11/14 08:50
→ pizzahut: 沒有問題吧 11/14 08:50
→ goodmancards: azure的防火牆開了,系統的我那些指令也是開了吧? 11/14 09:57
→ goodmancards: 我的疑惑是,為什麼list port有結果,可是netstat沒 11/14 09:59
→ goodmancards: 有 11/14 09:59
→ goodmancards: telnet不通,應該也是伺服器沒監聽都那個port吧?就 11/14 10:00
→ goodmancards: 是netstat出來那些? 11/14 10:00
→ zhucc: 你說的list port是指防火牆有打開、netstat 列出來的是有服 11/14 10:08
→ zhucc: 務在監聽、兩個是不一樣的東西 11/14 10:08
推 yaritai: 最外面的牆(az)要開 11/14 10:24
→ goodmancards: 改用了 netstat -lntu ,wiki上說是顯示所有監聽埠 11/14 12:02
→ goodmancards: 的守護行程和本地所有空閒的開放埠,這個指令還是沒 11/14 12:02
→ goodmancards: 有防火牆開的9701 11/14 12:02
→ goodmancards: 如果是顯示空閒的開放埠,那應該會有吧?另外az上的 11/14 12:03
→ goodmancards: 防火牆有開了 11/14 12:03
推 Bencrie: 背景服務 11/14 12:44
推 holishing: 你的nginx、其他該開有開嗎? systemctl 找一下 11/14 16:57
→ Gold740716: nc -l -p 9701 & nc localhost 9701 11/14 20:02
→ newversion: Web server起動失敗, 看一下web server log 11/14 20:25
推 guezt: netstat -ntulp 沒有那nginx設定有問題或根本沒啟動吧 11/14 21:28
→ OrzOGC: -ntulp真的很好記...X 11/15 00:16
推 Bencrie: 現在不是都用 ss 了? 11/15 09:14
推 dou0228: 服務根本沒開到吧? 11/15 10:12
→ rog43: SELinux有設定嗎 11/15 11:13
推 kenwufederer: 先搞懂指令顯示的意思比較好 11/16 02:51
→ kenwufederer: 防火牆要開,服務要有,才能達成你的目標 11/16 02:52
→ kenwufederer: ss 是顯示你服務的 port,跟防火牆完全沒關係 11/16 02:52
→ kenwufederer: 既然沒有服務又怎麼得到回應 11/16 02:53
→ kenwufederer: 最簡單就是把 ssh 啟用在 9701 port 測試通與否 11/16 02:54
→ kenwufederer: 排除之後就是服務怎麼帶進去的問題 11/16 02:54
推 Debian: 先檢查一下你的daemon有沒有跑起來,有跑起來就檢查你設定 11/17 01:35
→ Debian: 的port有沒有listen,有listen的話再來檢查你的防火牆有沒 11/17 01:36
→ Debian: 有設定好開port,firewalld用不習慣的話可以改回去用 11/17 01:37
→ Debian: iptables。 11/17 01:37