Ssh
通過帶有埠轉發的家庭路由器進行 SSH
我可以使用 192.168.10.2 之類的內部 IP 地址從我的家庭網路中通過 SSH 連接到我的 linux 機器。或者從外部,我可以通過我的外部 IP 地址(如 74.23.43.98)通過我已設置為將埠 22 上的傳入連接轉發到內部地址 192.168.10.2 的路由器上的埠轉發進行連接。但是,如果我在家,我無法通過我的外部 IP 地址進行連接。這僅適用於我的網路外部。這是普遍正確的還是我的特定摩托羅拉路由器的特性?
謝謝
這是與 NAT 和本地網路有關的普遍問題。基本上,當路由器將 74.23.43.98 重寫為 192.168.10.2 時,源地址不會被重寫,因此目標電腦將數據包直接發送回源,而不是通過路由器。由於源機器不期望從 192.168.10.2 返回的數據包(相反,它希望看到它們來自 74.23.43.98),因此它丟棄了這些數據包並且沒有做任何有用的事情。
如果您的路由器很好,它應該可以配置為做正確的事情(重寫內部到內部 NAT 流量的源地址),但如果預設情況下它沒有這樣做,它可能不會算作“任何好的”。或者,如果它很有特色,您應該能夠為您的伺服器設置第二個內部網路,這將確保所有流量都通過路由器。