為什麼 HTTP 請求會被忽略?

為什麼 HTTP 請求會被忽略?

我有以下網路:

· openbsd 5.0 Web 伺服器(LAN)
· windows 7(LAN)
· 我的 ISP 提供的路由器(LAN、WAN)
· 手機未連接到網路(WAN)

更新
作為 LAN,我指的是具有 192.168.1.x 位址的家庭網絡,因此 openbsd 和 windows 都在這裡。我所說的 WAN 是指網際網路或公共 IP。這樣,路由器就成為網路和我家之間的連結點。

我的 Web 應用程式是用 Python 編寫的,並使用 Cherrypy 作為 Web 框架。從 Windows 機器上我可以看到網頁並從主頁導航到 openbsd 提供的所有頁面。這意味著一切都在家庭網路請求上完美運作。

我所做的下一步是打開路由器連接埠以從外部存取 Web 伺服器。在重定向到 openbsd 機器之前,我使用我的 Windows 機器作為 Web 伺服器進行了測試,並且使用我的手機作為客戶端運作良好(這意味著從互聯網可以到達 Windows 機器)。將重定向從 Windows 更改為 openbsd 伺服器中斷了互聯網訪問,但從家庭網路一切正常。

所以,我的問題是我無法從網路存取 openbsd。我不知道發生了什麼,但我認為 openbsd 拒絕外部連線。我用谷歌搜索了一下,找到了一些關於 pf 的鏈接,但在我的 openbsd 上被禁用了。我還發現瞭如何使用 netstat 工具獲取信息,當我從互聯網發出請求時,不會顯示任何內容,但當來自家庭網絡的請求時,會顯示所有連接。

我的問題是:

  • 我如何知道是否有來自網路的傳入連線?
  • 除了pf還有什麼工具可以阻止外部連線嗎?

提前致謝。

答案1

嘗試一下

netstat -tunl

要顯示所有偵聽套接字(我想它應該在 openbsd 上工作),您可能需要檢查 Web 伺服器是否正在運行(連接埠 80)。如上所述,仔細檢查您的 NAT 轉換(在您的路由器上 -> 80 -> openbsdip:80

也仔細檢查 pf,您可能有一些伺服器防火牆規則(拒絕所有來自外部 LAN 的規則)

答案2

問題是路由器上使用的連接埠。 8080 這個號碼必須保留給我不知道的東西。我已經把它改成8010並且工作正常了。

相關內容