使用 sshuttle 构建一个穷人的虚拟专网
创始人
2024-03-02 03:41:42
0

如今,企业网络经常使用“虚拟专用网络”来保证员工通信安全。但是,使用的协议有时会降低性能。如果你可以使用 SSH 连接远程主机,那么你可以设置端口转发。但这可能会很痛苦,尤其是在你需要与该网络上的许多主机一起使用的情况下。试试 sshuttle,它可以通过 SSH 访问来设置快速简易的虚拟专网。请继续阅读以获取有关如何使用它的更多信息。

sshuttle 正是针对上述情况而设计的。远程端的唯一要求是主机必须有可用的 Python。这是因为 sshuttle 会构造并运行一些 Python 代码来帮助传输数据。

安装 sshuttle

sshuttle 被打包在官方仓库中,因此很容易安装。打开一个终端,并使用 sudo 来运行以下命令:

$ sudo dnf install sshuttle

安装后,你可以在手册页中找到相关信息:

$ man sshuttle

设置虚拟专网

最简单的情况就是将所有流量转发到远程网络。这不一定是一个疯狂的想法,尤其是如果你不在自己家里这样的受信任的本地网络中。将 -r 选项与 SSH 用户名和远程主机名一起使用:

$ sshuttle -r username@remotehost 0.0.0.0/0

但是,你可能希望将该虚拟专网限制为特定子网,而不是所有网络流量。(有关子网的完整讨论超出了本文的范围,但是你可以在维基百科上阅读更多内容。)假设你的办公室内部使用了预留的 A 类子网 10.0.0.0 和预留的 B 类子网 172.16.0.0。上面的命令变为:

$ sshuttle -r username@remotehost 10.0.0.0/8 172.16.0.0/16

这非常适合通过 IP 地址访问远程网络的主机。但是,如果你的办公室是一个拥有大量主机的大型网络,该怎么办?名称可能更方便,甚至是必须的。不用担心,sshuttle 还可以使用 –dns 选项转发 DNS 查询:

$ sshuttle --dns -r username@remotehost 10.0.0.0/8 172.16.0.0/16

要使 sshuttle 以守护进程方式运行,请加上 -D 选项。它会以 syslog 兼容的日志格式发送到 systemd 日志中。

根据本地和远程系统的功能,可以将 sshuttle 用于基于 IPv6 的虚拟专网。如果需要,你还可以设置配置文件并将其与系统启动集成。如果你想阅读更多有关 sshuttle 及其工作方式的信息,请查看官方文档。要查看代码,请进入 GitHub 页面

题图由 Kurt Cotoaga 拍摄并发表在 Unsplash 上。


via: https://fedoramagazine.org/use-sshuttle-to-build-a-poor-mans-vpn/

作者:Paul W. Frields 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

VPN

相关内容

不要通过VPN发送请求
要禁止通过VPN发送请求,你可以使用以下方法之一:使用Python...
2025-01-10 23:00:18
不使用oVPN连接到Red...
要连接到Redshift实例,可以使用R语言中的RPostgreS...
2024-12-29 05:00:52
不能在AWS客户端VPN中...
AWS客户端VPN不支持单点登录(Single Sign-On,S...
2024-12-27 08:31:37
笔记本电脑连接到办公室VP...
问题描述:当笔记本电脑连接到办公室VPN后,无法连接到Spring...
2024-12-15 20:01:59
AWS VPN和Lambd...
AWS VPN和Lambda JavaScript是两个不同的服务...
2024-11-18 13:30:58
AWS VPN连接到私有网...
AWS VPN连接到私有网络的工作方式确实受到一些外部因素的影响,...
2024-11-18 13:30:48

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...