通过调制解调器和路由器后面的 SSH 连接到服务器的步骤?

通过调制解调器和路由器后面的 SSH 连接到服务器的步骤?

我已经设置了一台家庭服务器(运行 Arch Linux)。它没有 WiFi 适配器,而且我的路由器太远,无法连接电缆(我计划很快改变这种情况)。因此,我将一根以太网电缆连接到我的笔记本电脑(运行 Ubuntu 15.10),这样我就可以将我的服务器连接到互联网。

此外,我有一个连接到调制解调器的无线路由器。因此,从互联网到我的服务器的连接是:

互联网 > 调制解调器 > 路由器 > 笔记本电脑 > 服务器

我还更改了服务器的默认 SSH 端口,并且我可以轻松地通过我的笔记本电脑直接通过 SSH 进入我的服务器(使用服务器的本地 IP 地址)。

但是,我应该采取什么步骤才能从网络外部连接到我的服务器?使用调制解调器的公共 IP 地址?在路由器中进行端口转发?如何告诉路由器将流量引导到服务器(通过笔记本电脑)?

答案1

连接到您的服务器。

你需要使用你的公共 IP 或使用动态 DNS 服务,例如http://freedns.afraid.org/

您需要在路由器上设置端口转发。

据我所知,您有一根电缆将笔记本电脑(Linux)连接到服务器(Linux)。如果您可以访问互联网,我假设您已经设置了笔记本电脑来转发包裹。如果您这样做,您还需要告诉您的笔记本电脑将端口转发到服务器。

-> 互联网 -> 路由器 -> 笔记本电脑 -> 服务器

您可以使用 iptables 来执行此操作。
https://serverfault.com/questions/140622/how-can-i-port-forward-with-iptables

因为您需要打开笔记本电脑并将其连接到服务器,所以我建议您将端口 22 转发到您的笔记本电脑并将其用作服务器的跳转箱。

另一个想法是从笔记本电脑到服务器建立 ssh 隧道。在这种情况下,您需要选择一个端口。例如端口 2222,然后执行以下操作

ssh -f 用户@服务器ip -L 2222:服务器IP:22 -N

-f 将命令发送到后台
-L localport:serverip:port
-N 登录后不运行任何命令

运行命令后,您将能够通过端口 2222 ssh 连接到笔记本电脑,但实际上您是访问服务器。

相关内容