本文介绍在Linux操作系统中安装和使用shuttle的方法,可用在Debian、Arch Linux、Fedora等系统上,使用它可以建立VPN。
简介 如今,企业网络通常使用VPN(虚拟专用网络)与员工进行安全通信,但是,使用的协议有时会降低性能,如果可以使用SSH到达远程网络上的主机,则可以设置端口转发,但这可能会很痛苦,尤其是在你需要与该网络上的许多主机一起使用的情况下,输入sshuttle使用SSH访问即可建立快速VPN。 sshuttle应用程序正是针对上述情况而设计的,远程端的唯一要求是主机必须具有可用的Python,这是因为sshuttle构造并运行一些Python源代码来帮助传输数据。 sshuttle解决以下常见情况: 1、你的客户端计算机(或路由器)是Linux、FreeBSD或MacOS。 2、你可以通过ssh访问远程网络。 3、你不一定在远程网络上具有管理员访问权限。 4、你不想为远程网络上的每个主机/端口创建一个ssh端口转发。 5、你讨厌openssh的端口转发。 6、你不能使用openssh的PermitTunnel功能,因为在openssh服务器上默认禁用该功能。
下载链接
安装sshuttle,针对Fedora系统 Sshuttle应用程序打包在官方存储库中,因此易于安装,打开一个终端,并在sudo中使用以下命令: $ sudo dnf install sshuttle 安装sshuttle后,你可以输入以下命令查看帮助信息: $ man sshuttle
其他Linux安装sshuttle的命令 1、Debian系统: apt-get install sshuttle 2、Arch Linux系统: pacman -S sshuttle 3、NixOS系统: nix-env -iA nixos.sshuttle 4、从PyPI安装: sudo pip install sshuttle 5、源安装: git clone https://github.com/sshuttle/sshuttle.git cd sshuttle sudo ./setup.py install
设置VPN 最简单的情况就是将所有流量转发到远程网络,这不一定是个疯狂的主意,尤其是如果你不在自己家里这样的受信任的本地网络中,将-r选项与SSH用户名和远程主机名一起使用,如下: $ sshuttle -r username@remotehost 0.0.0.0/0 但是,你可能希望将VPN限制为特定子网,而不是所有网络流量。假设你的办公室内部使用了预留的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日志。 根据系统和远程系统的功能,可以将shuttle用于基于IPv6的VPN,如果需要,你还可以配置文件并将其与系统启动集成。
相关主题 |