我正在嘗試找到一個可用於遠端執行 Windows cmd 命令的解決方案。我從嵌入到 Windows 中的 PSTools 套件中知道 PSExec,但據我了解,它是在電腦位於同一 LAN 上而不是外部時使用的(除非您在路由器上進行連接埠轉送)。連接埠轉送不是一個選項。
我在論壇上讀到,潛在的解決方案是在中間引入一台伺服器,兩台機器都將連接到該伺服器,並將其充當中繼命令的隧道。這裡的目標是使用像 RDP 這樣的設置,只是我不需要它的 GUI 部分,我將管理遠端電腦來檢查打開了哪些應用程式、它們運行了多長時間等。區域網路之外如何遠端管理它們?
提前感謝您的任何建議和提示!
答案1
我從嵌入到 Windows 中的 PSTools 套件中知道 PSExec,但據我了解,它是在電腦位於同一 LAN 上而不是外部時使用的(除非您在路由器上進行連接埠轉送)。連接埠轉送不是一個選項。
嗯,不,僅憑這一點並不能使它成為「LAN」工具。
當目標位於 NAT 之後時,入站連接需要連接埠轉送是正常的——同樣的情況也適用於 SSH、HTTP 以及幾乎所有其他協議例行公事地透過網路使用。
許多遠端存取工具都遵循客戶端直接連接到伺服器的相同模式,無論是 PSExec、SSH、VNC、RDP、PS-Remoting 或 Telnet。其中一些每天都會在互聯網上使用,但如果您無法配置連接埠轉發,您也會很難使用它們。
(實際上讓 PSExec 更面向 LAN 的是它使用了 Windows 中的 SMB 和 MS-RPC 服務,這些服務仍然被認為是不安全暴露在網路上—還記得「Blaster」和「EternalBlue」嗎?
我在論壇上讀到,潛在的解決方案是在中間引入一台伺服器,兩台機器都將連接到該伺服器,並將其充當中繼命令的隧道。這裡的目標是使用像 RDP 這樣的設置,只是我不需要它的 GUI 部分,我將管理遠端電腦來檢查打開了哪些應用程式、它們運行了多長時間等。區域網路之外如何遠端管理它們?
幾乎總是,答案是某種 VPN。
例如,如果所有裝置都在您的公司 LAN 中,但您在家工作,那麼公司網路通常會託管一個可以從任何地方存取的 VPN 伺服器(具有公用 IP 位址,或至少連接埠轉送) 。連線後,系統管理員能夠像本機一樣存取整個 LAN,從而允許使用 PSExec/RDP/SSH 和其他典型管理工具。
如果您遇到相反的情況,情況也是如此 – 當裝置分散並位於系統管理員無法控制的 NAT 後面時,這些裝置同樣有可能使用 VPN 進行連接後退到他們的“基地”,並且他們變得可以訪問,就好像他們與系統管理員位於同一 LAN 中一樣。
VPN 本質上並不是單向的。一旦建立了隧道,它就完全能夠承載從伺服器端到客戶端以及從客戶端到伺服器的連接,甚至還可以承載客戶端之間的連接。假設您能夠設定 VPN 伺服器某處(甚至雲端/VPS 主機也可以),只需讓您的裝置自動連接到該中央伺服器,您就完全繞過了 NAT 和連接埠轉送問題。
也就是說,各種VPN產品範圍從通用(適合網站到網站連結)到面向客戶的。顯然,對於裝置管理,您正在尋找支援自動連線(最好是基於憑證的憑證)並預設在分割隧道模式下工作的東西。您甚至最終可能會為設備和員工/系統管理員使用兩種完全不同的 VPN 產品。
(如果設備是 Windows 計算機,則 OpenVPN 或或許WireGuard 將是我的首選,儘管我也使用了 ZeroTier 和 Tinc。