通过同一服务器上的连接 A 通过 ssh 连接 VPN 到子网 B

通过同一服务器上的连接 A 通过 ssh 连接 VPN 到子网 B

我在远程位置有一台服务器,它位于两个子网上(即它有两个网络接口卡 NIC1 和 NIC2,例如 A 位于 130.0.0.0,B 位于 192.168.1.10)。我可以通过面向外部的 A 进行 ssh 连接。

如何从我的家庭计算机访问子网 B 中的资源。例如,我想通过浏览器界面(192.168.1.0)访问子网B的交换集线器。

所有机器都运行 Ubuntu 18.04。

我不想在远程计算机上设置 VPN 服务器(出于安全原因)。我更愿意通过现有的 SSH 隧道来完成所有操作。

我知道我之前已经能够使用 sshuttle 通过 ssh 在本地(家庭)计算机上创建 tun 接口:

sshuttle -r user@remoteserver 0.0.0.0/0 -vv --dns

然而,这将通过远程服务器的“正常”网关引导我的 HTTP 和 HTTPS 请求(即我将正常访问互联网,我的 IP 显示为服务器的 IP)。

我想通过子网B(通过浏览器访问交换集线器的网络接口)。

有没有直接的方法来做到这一点,或者我需要以不同的方式来解决这个问题?

答案1

我实际上能够使用我最初的想法来实现这一点,只需一个技巧:我必须在本地计算机上启用 ufw。否则 sshuttle 就会出错。

所以,在本地机器上,我做了:

sudo ufw enable

然后,

sshuttle -r username@ipForSubnetA 0.0.0.0/0 -vv --dns

这实际上(可怕?)允许我在本地计算机上访问子网 B 的元素。

远程计算机在防火墙方面完全被锁定,只允许通过一个端口通过私钥进行 SSH 访问。

如果有人知道 sshuttle 有任何不安全之处,请随时告诉我:)

相关内容