为 VPN 设置 SSH 隧道?

Baa*_*rud 5 ssh vpn

我有一台运行 Ubuntu 的笔记本电脑。我还租了一个运行 Ubuntu 的 VPS。我购买了付费 VPN 服务,在我的笔记本电脑上使用。

我想知道如何设置 SSH 隧道或类似的东西,从我的笔记本电脑到我租用的 VPS,然后我可以运行 VPN(从我的笔记本电脑)“通过”它(到 VPS), VPN 服务器。我希望这样做的原因是,我经常工作的地方会阻止我的 VPN 服务,但不会阻止我通过 SSH 连接到我的 VPS...

虽然我已经使用 Linux 有一段时间了,但在设置虚拟网络设备、高级路由等方面我还是个新手……所以请用勺子喂我(使用小字和彩色图片;-)

我一直在谷歌搜索并查看 StackExchange 网络上的各种答案,但似乎并不是我所追求的。SSH 隧道似乎很有前途,但由于我没有/不知道我的 VPN 的确切域和端口,我无法弄清楚如何使用它......我想我可能需要设置一些虚拟网络 -我的笔记本电脑上的设备(在 VPS 上结束),并通过它连接 VPN - 但如何做到这一点,遗憾的是我无法理解。

小智 7

通过类似于 VPN 的 SSH 隧道传输所有流量的最简单原因是使用sshuttle.

首先,安装软件包:

sudo apt-get install sshuttle
Run Code Online (Sandbox Code Playgroud)

然后连接到 SSH 隧道并重定向您的默认路由以通过它:

sshuttle  -vv --dns -r username@sshserver[:port] 0.0.0.0/0
Run Code Online (Sandbox Code Playgroud)

这将通过您的 SSH 连接转发所有TCP 流量,包括 DNS 请求。如果您仍希望在本地处理 DNS,则可以删除该--dns标志。


ear*_*Lon 5

创建隧道

ssh -fND 7001 yourVPN
Run Code Online (Sandbox Code Playgroud)

打开 Chromium 以使用代理

chromium-browser --proxy-server=socks5://localhost:7001
Run Code Online (Sandbox Code Playgroud)

笔记

  • 7001是端口,可以更改,只要它们都匹配
  • 您还可以传递--user-data-dir=/tmp/someDirchromium使用不同的 Chromium 实例


Sha*_*jna 0

我可以提出一个简单的解决方案吗?不要投票给我,我是个新手

为什么你不能连接到你从vps带来的vpn服务?,在vps上设置一个openvpn服务器并从你的客户端计算机连接到你的vps的openvpn服务器。相信我,它有效,我刚刚确认使用我的虚拟机和公共 VPN 服务器。

root@eminem:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:58:c1:62  
          inet addr:172.16.32.5  Bcast:172.16.32.15  Mask:255.255.255.240
          inet6 addr: fe80::a00:27ff:fe58:c162/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9484 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8638 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3820414 (3.8 MB)  TX bytes:3520084 (3.5 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:568 errors:0 dropped:0 overruns:0 frame:0
          TX packets:568 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:161882 (161.8 KB)  TX bytes:161882 (161.8 KB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:3225 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3052 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:635287 (635.2 KB)  TX bytes:2218229 (2.2 MB)

root@eminem:~# openvpn --config /home/eminem/oki.ovpn
Run Code Online (Sandbox Code Playgroud)

连接到外部 VPN 服务器(在您的情况下,您的 VPN 服务来自您的 vps 服务器)

root@eminem:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:58:c1:62  
          inet addr:172.16.32.5  Bcast:172.16.32.15  Mask:255.255.255.240
          inet6 addr: fe80::a00:27ff:fe58:c162/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9763 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8841 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3851001 (3.8 MB)  TX bytes:3551440 (3.5 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:578 errors:0 dropped:0 overruns:0 frame:0
          TX packets:578 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:162965 (162.9 KB)  TX bytes:162965 (162.9 KB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:3225 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3052 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:635287 (635.2 KB)  TX bytes:2218229 (2.2 MB)

tun1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.211.1.21  P-t-P:10.211.1.22  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@eminem:~# iptables -A POSTROUTING -t nat -s 10.8.0.0/8 -o tun1 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)

简单的 iptables 规则将所有流量从其 tun0 接口伪装到外部 VPN 服务器的 tun1 接口,这样当我们连接到 vps 服务器的 openvpn 服务器并从 tun0 适配器获取 IP 时,我们就可以使用该外部 VPN 服务器的 VPN 隧道访问互联网

现在终于连接到你的 vps 服务器的 openvpn 服务器

shady@shady:~$ sudo openvpn --config Desktop/client.ovpn 
Run Code Online (Sandbox Code Playgroud)

沃拉!浏览互联网,无需担心 VPN 服务被阻塞

在此输入图像描述