我家里有一台使用 fios 的 Ubuntu 上网本。我想知道我是否可以从互联网上的任何地方访问这台电脑
答案1
有很多方法可以做到这一点。
最安全的是通过 SSH,但它只是命令行访问。
您可以使用 Ubuntu 提供的基于 VNC 的桌面共享服务,但 VNC 存在严重的安全漏洞。
您可以在 wine 中运行 Teamviewer 并从任何地方访问您的机器,甚至是 Android 手机。
答案2
为了能够从互联网访问家庭网络内的计算机,最重要的事情就是启用调制解调器/防火墙来打开一个或多个端口并将它们指向您的上网本。
让我们举一个简单的例子,假设您的互联网连接有一个静态 IP(如果它是动态的,您需要找出它何时更改以及更改为哪个 IP,否则您将无法再访问它)。我们还假设您想通过 ssh(端口 22)访问您的上网本。
好的,您家庭互联网连接的静态 IP 是 192.0.2.10,您的内部 LAN 使用 10.1.2.0/24,您的上网本的 IP 是 10.1.2.20(设为静态,而不是 dhcp 分配)。
配置调制解调器/防火墙,将流量引导至端口 22,再引导至 IP 为 10.1.2.20 的上网本。此操作使用的名称并不总是相同的,可能是应用程序级网关、防火墙、应用程序防火墙等等。只要确保以正确的方式引导流量即可。
另外,您还可以启用 DMZ 并配置 DMZ 以使用 10.1.2.20 的上网本,但是这会让您的上网本不仅向 ssh 开放 22 端口,而且您必须在上网本上配置防火墙以防止发生任何不良情况。所以这可能超出了您的问题范围。
默认情况下,你的上网本应该已经运行了 ssh 服务器,如果没有,请运行:
sudo apt-get install openssh-server
一旦完成后,ssh 服务器就会启动并运行。
您还应该安装一个工具来防止暴力破解您的 ssh 服务器的密码:
sudo apt-get install fail2ban
阅读 /usr/share/doc/fail2ban/ 中的文档了解如何启用它,这很容易做到。
如果您正确设置了所有设置,您应该能够从任何地方远程登录上网本,如下所示:
ssh 192.0.2.10 -l username
或者
ssh [email protected]
答案3
考虑到这个问题的简洁性,你可能需要一种更简单的方法,例如TeamViewer。
这样你就不必关注公共 IP 的变化。你不必为端口转发而烦恼。而且它几乎可以在任何位置工作。