云网牛站
所在位置:首页 > Linux软件 > 在Linux系统中安装和使用shuttle来建立VPN

在Linux系统中安装和使用shuttle来建立VPN

2019-11-18 11:45:15作者:符天稿源:云网牛站

本文介绍在Linux操作系统中安装和使用shuttle的方法,可用在Debian、Arch Linux、Fedora等系统上,使用它可以建立VPN。

在Linux系统中安装和使用shuttle来建立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下载地址

 

安装sshuttle,针对Fedora系统

Sshuttle应用程序打包在官方存储库中,因此易于安装,打开一个终端,并在sudo中使用以下命令:

$ sudo dnf install sshuttle

参考:配置Fedora系统以使用sudo的方法

安装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,如果需要,你还可以配置文件并将其与系统启动集成。

 

相关主题

在Ubuntu 18.04/16.04上安装和配置OpenVPN Server的简便方法

精选文章
热门文章