
我正在嘗試遠端設定mysql。我遵循了許多指南,例如這,我最終使用 nmap 來查看哪些連接埠是開啟的。
當我在筆記型電腦上時,nmap -P0 <server>
給出:
Nmap scan report for <> (ip.address.here)
Host is up (0.054s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
所以它沒有顯示連接埠 3306 已開啟。
但是在我的伺服器(Ubuntu 14.04)上,如果我運行,nmap -P0 localhost
我會得到以下資訊:
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00064s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
443/tcp open https
3306/tcp open mysql
這意味著該連接埠應該是開放的。是什麼導致了這種差異? (誠然,這是我第一次使用 nmap)。這是我無法連接到 mysql 伺服器的原因嗎?
此外,我的筆記型電腦(使用 Linux 子系統的 Windows)telnet <host> 3306
出現錯誤,指出遠端資源不可用。
答案1
您筆記型電腦上的報告nmap
包含以下行:
未顯示:997 個過濾端口
這裡,過濾的表示有防火牆阻止存取除 22、80 和 443 之外的所有連接埠nmap
。
未顯示:995 個關閉端口
在這種情況下,關閉只是意味著沒有進程正在偵聽 995 測試端。
防火牆可以在伺服器本身上運行(如果在 GNU/Linux 系統上運行,可以透過運行來檢查iptables -L
),也可以在某個中間網關上運行。
如果您需要從外部存取 MySQL,則需要設定防火牆以允許外部存取連接埠 3306。自治系統(AS)。