Amazon Best VPN GoSearch

OnWorks 网站图标

sshuttle - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 sshuttle

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 sshuttle,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


sshuttle - sshuttle 文档

概要


穿梭 [选项[-r [用户名@]sshserver[:端口]]子网 ...>

商品描述


穿梭 允许您创建从您的机器到任何远程服务器的 VPN 连接
您可以通过 ssh 连接,只要该服务器具有 python 2.3 或更高版本。

要工作,您必须在本地机器上具有 root 访问权限,但您可以拥有一个普通帐户
在服务器上。

运行有效 穿梭 在一台客户端机器上同时进行不止一次,
每次都连接到不同的服务器,因此您可以同时使用多个 VPN。

如果在路由器上运行, 穿梭 可以将整个子网的流量转发到 VPN。

配置


子网
要通过 VPN 路由的子网列表,格式为 abcd[/宽度]。 有效
示例是 1.2.3.4(单个 IP 地址)、1.2.3.4/32(相当于 1.2.3.4)、
1.2.3.0/24(一个 24 位子网,即具有 255.255.255.0 网络掩码)和 0/0('只是
通过 VPN 路由所有内容')。

-l, --listen=[ip:] 端口
使用这个IP地址和端口号作为透明代理端口。 默认情况下
穿梭 自动查找可用端口并侦听 IP 127.0.0.1
(localhost),所以你不需要覆盖它,并且连接只被代理
来自本地机器,而不是来自外部机器。 如果你想接受
来自网络上其他机器的连接(即运行 穿梭 在路由器上)
尝试在内核中启用 IP 转发,然后使用 - 听 0.0.0.0:0.

对于 tproxy 方法,这可以是 IPv6 地址。 如果出现以下情况,请使用此选项两次
需要,以提供 IPv4 和 IPv6 地址。

-H, --自动主机
扫描远程主机名并更新本地 / etc / hosts文件 匹配的文件
只要 VPN 处于打开状态。 这比改变你的系统更好
域名系统 (/ etc / resolv.conf中) 设置,有几个原因。 首先,添加主机名
没有附加域名,所以你可以 SSH 那个服务器 不用担心,如果你
本地域与远程域匹配。 其次,如果你 穿梭 变成不止一个
一次 VPN,无论如何一次使用多个 DNS 服务器是不可能的,但是
穿梭 正确合并 / etc / hosts文件 所有正在运行的副本之间的条目。 三、如果
您只通过 VPN 路由几个子网,您可能更愿意保留
使用您的本地 DNS 服务器进行其他所有操作。

-N, --自动网
除了命令行上提供的子网,询问服务器哪个
它认为我们应该路由的子网,并自动路由这些子网。 建议
自动从服务器的路由表中获取。

--dns 捕获本地 DNS 请求并转发到远程 DNS 服务器。

- Python
指定远程 python 解释器的名称/路径。 默认只是
蟒蛇,这意味着使用远程系统上的默认 python 解释器
路径。

-r, --remote=[用户名@]sshserver[:port]
用于连接的远程主机名和可选的用户名和 ssh 端口号
到远程服务器。 例如,example.com, [电子邮件保护],
[电子邮件保护]:2222 或 example.com:2244。

-X, --排除=子网
从转发中明确排除此子网。 这个选项的格式是
和...一样 选项。 要排除多个子网,请指定 -x
选项不止一次。 你可以这样说 0/0 -x 1.2.3.0/24 转发
例如,除了 VPN 上的本地子网之外的所有内容。

-X, --exclude-from=文件
排除文件中指定的子网,每行一个子网。 当你有的时候很有用
许多子网要排除。

-v, --详细
打印有关会话的更多信息。 此选项可以多次使用
为了增加冗长。 默认情况下, 穿梭 仅打印错误消息。

-e, --ssh-cmd
用于连接到远程服务器的命令。 默认只是 SSH。 使用
如果您的 ssh 客户端位于非标准位置或者您想提供额外的
ssh 命令的选项,例如, -e 'ssh -v'.

--种子主机
用于初始化主机名的逗号分隔列表 --自动主机 浏览
算法。 --自动主机 做一些事情,比如轮询本地 SMB 服务器以获取本地列表
主机名,但如果您使用此选项为其指定几个名称,则可以加快速度
从...开始。

--无延迟控制
牺牲延迟以提高带宽基准。 ssh 使用非常大的套接字
缓冲区,如果您开始进行大文件传输,可能会使连接过载,
从而使同一隧道内的所有其他会话缓慢进行。 一般,
穿梭 尝试使用“完整性检查”来避免此问题,该检查仅允许
一次缓冲一定数量的未完成数据。 但在高带宽
链接,这可能会使您的很多带宽未得到充分利用。 这也使
穿梭 带宽基准测试似乎很慢(基准测试很少测试 ping 延迟,
这是什么 穿梭 试图控制)。 此选项禁用延迟
控制功能,最大限度地利用带宽。 使用风险自负。

-D, --守护进程
连接到远程服务器后自动分叉到后台。
暗示 --系统日志.

--系统日志
连接后,将所有日志消息发送到 系统日志(3) 服务而不是标准错误。
如果您使用,这是隐式的 --守护进程.

--pidfile=pid 文件名
使用时 --守护进程, 保存 穿梭的pid pid 文件名。 默认是
sshuttle.pid 在当前目录中。

--禁用-ipv6
如果使用 tproxy 方法,这将禁用 IPv6 支持。

--防火墙
(仅供内部使用)运行防火墙管理器。 这是唯一的一部分 穿梭
必须以 root 身份运行。 如果你开始 穿梭 作为非root用户,它将
自动运行 须藤 or su 启动防火墙管理器,但核心
穿梭 仍然以普通用户身份运行。

--主机观察
(仅供内部使用)运行 hostwatch 守护进程。 这个过程运行在服务器端
并收集主机名 --自动主机 选项。 单独使用此选项
使调试和测试更容易 --自动主机 功能。

示例


通过代理所有本地连接在本地进行测试,不使用 ssh:

$ sshuttle -v 0/0

启动 sshuttle 代理。
听 ('0.0.0.0', 12300)。
[本地 sudo] 密码:
防火墙管理器准备就绪。
c : 连接到服务器...
s:可用路线:
秒:192.168.42.0/24
c:连接。
防火墙管理器:启动传输代理。
c:接受:192.168.42.106:50035 -> 192.168.42.121:139。
c:接受:192.168.42.121:47523 -> 77.141.99.22:443。
...等等...
^C
防火墙管理器:撤消更改。
键盘中断
c : 键盘中断:退出。
c : SW#8:192.168.42.121:47523: 删除
c : SW#6:192.168.42.106:50035: 删除

测试与远程服务器的连接,自动猜测主机名和子网:

$ sshuttle -vNHr example.org

启动 sshuttle 代理。
听 ('0.0.0.0', 12300)。
防火墙管理器准备就绪。
c : 连接到服务器...
s:可用路线:
秒:77.141.99.0/24
c:连接。
c:seed_hosts:[]
防火墙管理器:启动传输代理。
主机:发现:testbox1:1.2.3.4
主机观察:发现:mytest2:5.6.7.8
主机观察:发现:域控制器:99.1.2.3
c:接受:192.168.42.121:60554 -> 77.141.99.22:22。
^C
防火墙管理器:撤消更改。
c : 键盘中断:退出。
c : SW#6:192.168.42.121:60554: 删除

讨论


开始的时候, 穿梭 创建到指定服务器的 ssh 会话 -r 选项。
If -r 省略,它将在本地启动它的客户端和服务器,有时是
对测试有用。

连接到远程服务器后, 穿梭 将其(python)源代码上传到
远程端并在那里执行它。 因此,您无需安装 穿梭 在遥控器上
服务器,而且从来没有 穿梭 客户端和服务器之间的版本冲突。

与大多数 VPN 不同, 穿梭 转发会话,而不是数据包。 也就是说,它使用内核
透明代理(iptables的 REDIRECT Linux 上的规则)来捕获传出的 TCP 会话,
然后创建完全独立的 TCP 会话到另一个的原始目的地
隧道的尽头。

数据包级转发(例如,在 Linux 上使用 tun/tap 设备)起初看起来很优雅,
但这会导致几个问题,尤其是“tcp over tcp”问题。 tcp 协议
根本上取决于丢弃的数据包以实现其拥塞
控制算法; 如果您通过基于 tcp 的隧道(例如 ssh)传递 tcp 数据包,则
内部 tcp 数据包永远不会被丢弃,因此内部 tcp 流的拥塞控制
会完全坏掉,性能会很差。 因此,基于数据包的 VPN
(例如 IPsec 和 openvpn)不能使用基于 tcp 的加密流,例如 ssh 或 ssl,并且
必须从头开始实现自己的加密,非常复杂和错误
易于。

穿梭的简单来自于它可以安全地使用现有的 ssh
加密隧道而不会导致性能损失。 它通过让
客户端内核管理传入的 tcp 流,服务器端内核管理传入的 tcp 流
输出 tcp 流; 不需要在两者之间共享拥塞控制
单独的流,因此基于 tcp 的隧道很好。

使用 onworks.net 服务在线使用 sshuttle


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。