如何通过SSH隧道路由我的互联网?
旧Q如何在没有root权限的情况下设置OpenVPN服务器?
有没有办法在没有root权限的情况下设置OpenVPN服务器? 例如我的主目录中的配置文件? 如果是,我该如何设置?
我正在尝试通过SSH连接到系统并在那里设置一个OpenVPN服务器供个人使用。
编辑
由于OpenVPN显然需要root权限,我正在改变使用SSH路由我的互联网的问题,我可以轻松设置。
sshuttle是一个透明的代理服务器,它通过SSH连接进行转发,并通过在远程服务器上运行Python脚本来设置代理。 sshuttle
可以在以下条件下运行:
- 客户端机器或路由器是基于Linux的,FreeBSD或Mac OS
- 客户端的管理权限
- 通过SSH访问远程网络
- 没有远程网络的管理员权限
- 远程服务器上的Python可用性
安装sshuttle 来自软件中心或终端:
sudo apt-get install sshuttle
运行带有路由所有流量的sshuttle的基本命令是:
sshuttle -r username@sshserver:port 0/0
执行该命令后,将出现一个sudo
密码提示,随后是SSH帐户的密码。 除短消息外,不会显示其他详细信息,并在失败时返回shell。 有关更多状态消息,请使用-v
标志以详细模式运行sshuttle
。
在此示例中,除DNS之外的所有互联网流量都通过VPN路由。 -r
标志表示上例中的远程主机名和可选的用户名和端口。 0/0
是0.0.0.0/0
缩写,表示通过VPN路由的子网。 0/0
的使用将除DNS请求之外的所有流量路由到远程服务器。 使用-H
标志可以进行DNS调整。
请阅读手册页( man sshuttle
),了解sshuttle
可以运行的选项和模式的详细信息。 有关概念和更多示例的信息,请参阅项目页面 。
您无法在没有root权限的情况下设置OpenVPN,因为某些操作需要它。
- 先决条件:您需要在(iptables?)防火墙中启用数据包转发
- 添加运行中的设备:必须使用
ifconfig
添加特殊的虚拟设备。 否则,服务器和客户端之间无法进行通信
根据您的需求,可提供其他解决方案。 要浏览服务器,可以设置SOCKS服务器。
SOCKS代理
设置SOCKS代理并不困难:它内置于OpenSSH中。 要启用SOCKS服务器,请在终端中运行下一个命令:
ssh user@host -D1234
用您首选的端口替换1234。 在浏览器中,您可以输入localhost
作为主机,输入1234
作为SOCKS4 / 5服务器上的端口。
以下是Firefox浏览器中的示例:
- 转到编辑 – > 首选项
- 打开“ 高级”部分
- 转到“ 网络”选项卡
- 按设置
- 选择手动代理配置
- 输入
localhost
作为SOCKS主机 - 输入
1234
作为端口(与SSH命令中指定的端口相同) - 按确定并关闭以关闭首选项对话框。
如果您只想隧道系统TCP流量,我建议使用名为tun2socks的程序。 如果您还想隧道UDP流量,则必须在服务器上安装udpgw。
以下是如何安装和使用此程序的教程: http : //board.nwrk.biz/viewtopic.php?id = 3