liujie
liujie
Published on 2024-09-26 / 12 Visits
0
0

sshuttle

sshuttle 是一种混合的 VPN 和 SSH 隧道工具,能够轻松地将远程网络端点当作本地网络使用。它主要用于将流量通过 SSH 隧道转发,使用户可以访问远程网络资源,就像它们在本地一样。适用于需要在受限网络环境中访问外部资源、或安全地访问内部网络的场景。

sshuttle 主要功能

  • 透明代理sshuttle 可以将所有流量(包括 TCP 和 DNS)透明地通过远程服务器转发。

  • 简单易用:用户只需配置一个 SSH 访问的远程服务器,即可快速建立 VPN 隧道。

  • 无需 root 权限:与传统的 VPN 不同,sshuttle 不需要目标服务器上的 root 权限,只要有 SSH 登录权限就行。

  • 跨平台支持:支持 Linux 和 macOS。

工作原理

sshuttle 使用 SSH 协议来建立隧道连接。它将本地计算机的流量通过 SSH 隧道转发到远程服务器,再由远程服务器将流量转发到最终目标地址。它还可以伪装成 VPN,通过捕获并转发本地网络流量,使其经过远程服务器再发出。

使用场景

  • 远程办公:从家里或外地访问公司内部网络资源。

  • 绕过网络限制:在受限网络环境中访问受限的外部资源。

  • 网络调试:安全地测试和调试远程服务器上的服务。

基本命令

基础用法

sshuttle -r username@remote_host 0.0.0.0/0

这条命令将所有流量通过 remote_host 转发,相当于创建了一个 VPN 连接。

  1. 指定特定的 IP 段

    sshuttle -r username@remote_host 192.168.0.0/24

  2. 后台运行

    sshuttle -r username@remote_host 0.0.0.0/0 --daemon

安装

sshuttle 可以通过包管理器安装,例如在 Ubuntu 上:

sudo apt install sshuttle

macOS 上可以使用 Homebrew 安装:

brew install sshuttle

总结

sshuttle 是一种简便、安全的 VPN 替代工具,适合需要通过 SSH 快速访问远程网络资源的场景。


Comment