我希望能够从任何地方访问家里的 Linux 机器。我对路由器的了解不多,通常需要一些静态 IP 地址。
我读过关于 DynDNS 的文章,但说实话,我不明白它是如何工作的。我尝试过设置它,但我无法 ping 通我的电脑或做任何事情。我只是不明白它的原理。
我还阅读了有关 ssh 远程转发的信息。这是一个可行的选择吗?
我已经看过相关的帖子,但我只需要清楚地解释如何通过互联网(而不仅仅是局域网)建立连接。
我会留意关于模糊性或我遗漏的信息的评论/投诉。我会尝试进行相应的编辑。
答案1
DynDNS 为您提供了一个容易记住的 DNS 名称 (yourhomelinux.dyndns.org),这样您就无需使用静态 IP 地址,因此您无需记住 IP 地址或跟踪其更改。如果 DynDNS 没有立即收到通知,或者如果您的 DNS 服务器缓存了 DNS 记录的 TTL 还剩几分钟,则您的 IP 更改时可能会有几分钟无法访问。
您的路由器可能支持 DynDNS,在这种情况下,每次路由器看到它获得新 IP 时,它都会告诉 DynDNS 使用新 IP 更新您的主机名。如果您的路由器不支持它,您可以在 PC 上安装一个软件,该软件会定期 ping 它们,并在 IP 发生变化时触发更新。
这仍然不能解决远程访问问题。您现在能做的就是找到您的房子,但您仍然没有门钥匙。当您尝试 ping 您的 DynDNS 名称时,它实际上是在 ping 您的路由器。如果您的路由器配置为不响应 ping(听起来可能是这种情况),您在 ping 主机时仍然不会得到回复。
在 DynDNS 工作正常并确认其指向您的家庭 IP 后,您需要设置端口转发在路由器上将路由器上的外部端口映射到本地网络上 PC 的 IP 地址和端口。
例如,您可以将路由器上的端口 22222 映射到 LAN 地址 192.168.0.50:22,这样您就可以通过 SSH 远程进入您的服务器。 使用非标准端口号的好处在于 1)它可以解决端口冲突(如果您希望能够通过 SSH 进入 LAN 上的 3 台机器,该怎么办)和 2)它更安全一些,因为许多黑客会扫描端口 22(以及许多其他端口)以查看他们是否可以访问系统。ssh -p 22222 [email protected]
要实现远程桌面,您需要某种 VNC 服务器或其他适用于 Linux 的远程桌面服务器。一旦您运行了远程桌面服务,就可以设置与上一个示例类似的端口转发,只不过您要转发到本地 PC 的 VNC 端口。
可能会有一些Linux远程桌面解决方案这里有适合您的产品。
对于我来说,偶尔在家里访问工作电脑特别有效的方法是使用团队查看器。他们的服务器在 Linux 上运行,对我来说速度总是很快。我甚至没有账户,我只是运行软件并使用 PIN 来访问我的电脑。
我使用 Linux 的 VNC 的体验并不好,通常通过 VNC 的连接很不稳定,而同一台 PC 上的其他远程桌面服务则运行得更顺畅。
编辑:我不确定标题是否更改了,或者我最初读错了,但您必须对路由器进行一些配置。如果不对路由器进行至少一次更改,您就无法对 LAN 进行远程桌面连接。否则它如何知道要控制您网络上的哪台 PC?使用 LogMeIn 之类的程序不需要更改路由器,但它也依赖于第三方服务器,并且无法在 Linux 上运行。
希望有帮助!
答案2
我以前也遇到过这个问题。我通常使用TeamViewer。最近我发现加入我这和 TeamViewer 的功能差不多,只是它更简单一些,对某些用户来说可能更容易使用。如果我希望始终能够通过互联网远程连接到计算机,我会使用登录(免费版本就足够了)。