Linux

通過同一伺服器上的連接 A 通過 ssh 連接 VPN 到子網 B

  • September 16, 2018

我在遠端位置有一台伺服器,它位於兩個子網上(即它有兩個網路介面卡 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(通過瀏覽器訪問交換集線器的網路介面)。

有沒有直接的方法可以做到這一點,還是我需要以不同的方式解決這個問題?

我實際上可以使用我最初的想法來完成這項工作,但有一個技巧:我必須在我的本地機器上啟用 ufw。否則 sshuttle 會出錯。

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

sudo ufw enable

然後,

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

這實際上(可怕?)允許我在我的本地機器上訪問子網 B 的元素。

遠端機器在防火牆方面被完全鎖定,只允許通過一個埠通過私鑰進行 SSH 訪問。

如果有人知道 sshuttle 中的任何不安全感,請隨時告訴我:)

引用自:https://unix.stackexchange.com/questions/469162