Networking

埠轉發停止工作(除了到一台伺服器)

  • May 17, 2011

我對此感到很困惑,我已經玩了好幾個小時了,沒有任何樂趣-我知道這將是我錯過的愚蠢的事情。

在我們的舊辦公室,我們有一個 Netgear DG834PN 路由器,它有幾個埠轉發設置 - 幾個連接到在那裡執行的 Server 2003 機器,還有一些連接到備份 NAS 機器。

直到另一周,所有這些都執行良好。我確實在 Server 2003 上安裝了 DHCP 伺服器,但我已經未經授權/停止了它,所以它不應該再做任何事情了。從那以後,一切都重新啟動了。

埠轉發對辦公室伺服器工作正常,但對其他機器失敗。我什至嘗試將埠 80 從 Server 2003(工作正常)重定向到另一台機器(埠 80 打開),但它仍然失敗 - 我已經通過嘗試從幾個外部位置連接來確認這一點。

從網路內部或通過遠端桌面到伺服器,我可以訪問所有內容,如果我通過 VPN 連接到伺服器,我可以訪問所有內容(我假設都繞過了 NAT)。

通過 SSH 連接到路由器或在 Web 管理員中查看其日誌,一切看起來都不錯,它會轉到正確的 IP、正確的埠,並且客戶端不應該阻止連接(以前沒有,我也看不到他們日誌中的任何內容)但連接永遠不會發生。我試過用網路瀏覽器、FileZilla 和 telnet 進行測試。

這是路由器的日誌,當我嘗試連接到伺服器 2003 (HTTP) 的工作埠轉發規則和備份 NAS 的非工作埠轉發規則(FTP,在埠 2121 上執行 - 但埠/協議似乎無關緊要):

// server 2003, works
Sun, 2011-05-15 00:22:04 - TCP Packet - Source:88.110.x.x,32444 Destination:192.168.0.7,80 - [HTTP match]
// NAS machine, fails (2121 is the correct port)
Sun, 2011-05-15 00:21:41 - TCP Packet - Source:88.110.x.x,32443 Destination:192.168.0.90,2121 - [FTP_NAS match]

這是來自路由器的 iptables 中的條目(它們是使用 Web UI 配置的)埠 2121(我用 example.co.uk 替換了我們的真實域名):

# iptables --list | grep :2121
LOG        tcp  --  anywhere             anywhere           state NEW tcp dpt:2121 LOG level warning prefix `[FTP_NAS match]'
ACCEPT     tcp  --  anywhere             nas.ads1.example.co.uktcp dpt:2121

有沒有人有更多的想法?提前致謝!

您在相關主機上的預設路由是否仍在通過 DG834?如果你弄亂了 DHCP,你可能已經改變了它。

除此之外,我建議使用像 Wireshark 這樣的協議嗅探器來檢查 a) 您的請求是否正確轉發到主機 b) 請求啟動響應 c) 響應被定向到 DG834 的 MAC 地址

如果所有這些都適用,您可能會進行某種過濾,以防止您的傳出流量通過。

“從網路內部或通過遠端桌面到伺服器,我可以訪問所有內容,如果我通過 VPN 連接到伺服器,我可以訪問所有內容(我假設都繞過了 NAT)。”

您可以根據防火牆規則更仔細地檢查各個伺服器,以確保沒有任何限制只能從內部地址訪問。查看您的工作伺服器還可以驗證通常如何記錄外部訪問(內部地址與外部地址)。

引用自:https://serverfault.com/questions/269914