如何通过SSH隧道路由互联网?


24

问:如何设置没有root权限的OpenVPN服务器?

有没有办法设置没有root特权的OpenVPN服务器?例如在我的主目录中有配置文件?如果是,该如何设置?

我正在尝试SSH进入系统,并在那儿设置供个人使用的OpenVPN服务器。

编辑

由于显然OpenVPN需要root特权,因此我将问题更改为使用可以轻松设置的SSH路由我的互联网。


“用户空间”是指没有root用户权限的主文件夹吗?通常,“用户空间”与“内核空间”相对。
Lekensteyn


@Lekensteyn,是的,未经root许可,我不知道用户空间是指其他东西。请随时将我的问题编辑为适当的内容。我也在考虑这个答案,但是我不知道没有root特权就可以设置问题。
Oxwivi

Answers:


32

sshuttle是透明的代理服务器,可通过SSH连接转发并通过在远程服务器上运行Python脚本来设置代理。sshuttle可以在以下条件下运行:

  • 客户端计算机或路由器是基于Linux,FreeBSD或Mac OS的
  • 客户端的管理权限
  • 通过SSH访问远程网络
  • 远程网络上没有管理员权限
  • 远程服务器上Python的可用性

从软件中心或终端安装shuttle在此处输入图片说明

sudo apt-get install sshuttle

运行sshuttle并路由所有流量的基本命令是:

sshuttle -r username@sshserver:port 0/0

执行该命令后,sudo将出现密码提示,并随后显示SSH帐户的密码。除出现一条短消息外,没有其他详细信息出现,并在失败时返回外壳。有关更多状态消息,请sshuttle在带有-v标志的详细模式下运行。

在此示例中,除DNS外,所有Internet通信都通过VPN路由。-r标志表示上例中的远程主机名以及可选的用户名和端口。0/0的缩写0.0.0.0/0,表示子网通过VPN路由。将0/0除DNS请求以外的所有流量路由到远程服务器的用法。使用-H标记可以进行DNS调整。

请阅读手册页(man sshuttle),了解sshuttle可以运行的选项和模式的详细信息。有关概念和更多示例的信息,请参阅项目页面


红袜子也值得考虑;相同的功能,执行方式略有不同
sanmai'1

17

如果没有root用户权限,则无法设置OpenVPN,因为某些操作需要它。

  • 先决条件:您需要在(iptables?)防火墙中启用数据包转发
  • 添加正在运行的设备:必须使用添加特定的虚拟设备ifconfig。否则,服务器与客户端之间将无法通信

根据您的需求,可以使用其他解决方案。为了浏览您的服务器,您可以设置一个SOCKS服务器。

袜子代理

设置SOCKS代理并不困难:它是OpenSSH内置的。要启用SOCKS服务器,请在终端中运行以下命令:

ssh user@host -D1234

将1234替换为您的首选端口。在浏览器中,您可以localhost作为主机和1234端口输入SOCKS4 / 5服务器。

以下是Firefox浏览器中的示例:

  1. 转到编辑 -> 首选项
  2. 打开高级部分
  3. 转到网络标签
  4. 设置
  5. 选择手动代理配置
  6. 输入localhostSOCKS主机
  7. 输入1234为端口(与SSH命令中指定的端口相同)
  8. 确定关闭以关闭首选项对话框。

FIrefox设置示例


1
我想通过要设置VPN的系统路由我的Internet。
Oxwivi 2011年

不幸的是,如果没有root特权,您将无法更改服务器上的路由规则。至少提供一种安全的浏览解决方案的解决方案是使用答案中所述的SOCKS代理。
Lekensteyn

1
我成功地通过SSH隧道路由了Internet。我应该在编辑问题时编辑您的答案以专门提及该答案吗?还是你会做?
Oxwivi 2011年

@Oxwivi:我将对其重新排序,并为Firefox添加示例。
Lekensteyn

-1

如果只希望通过隧道传输系统TCP通信,我建议您使用一个名为tun2socks的程序。如果您还希望通过隧道传输UDP流量,则必须在服务器上安装udpgw。

这是一个如何安装和使用此程序的教程:http : //board.nwrk.biz/viewtopic.php?id=3


4
您能否在这里更新您的答案并解释链接中最重要的步骤?这样,即使该站点消失了,此答案仍然有用。
Louis Matthijssen 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.