简介:嗨,我一直在尝试让VPN和ssh命令一起工作。我已经成功到了可以使用ssh user@hostname
在服务器上运行的地步。但是当VPN处于活动状态时,我所有的互联网都会通过那个VPN。
目标:除了SSH连接之外,我还想使用我自己的internet连接。
选项破坏SSH > VPN:我注意到在“编辑VPN”- "IPv4设置“选项卡-”路由.“中有一个选项”只对其网络上的资源使用此连接“。按钮。它看起来像是解决方案,但是如果启用它,我就不能再用"ssh user@hostname“命令连接,它一直挂到超时。
想法:到目前为止,我认为它不能工作,因为主机名(来自ssh username@hostname)和网关(来自VPN设置)是不同的。但我对ssh或VPN还不太了解。
想法?在ssh中是否有我忽略的选项?我试过ssh -b gatewayFromVPN username@hostname
,但这似乎不起作用(我怀疑它是否应该起作用)。或者在VPN设置中有一个选项或者可以解决这个问题的东西吗?
提前谢谢。
“只对其网络上的资源使用此连接”破坏了SSH > VPN
发布于 2012-08-24 15:54:29
我过去也想做类似的事情。我有两个想法:基于端口的拆分和基于进程所有者的拆分。据了解,Linux的网络系统能够处理这两种情况。
我在Unix.SE上问了两个问题,我对这两个问题都没有很好的跟进,所以如果你真的在玩,告诉我什么对你有用。
我敢说,这两种技术之间有一些重叠,这就是我在这里提到这两种技术的原因。对于第二个例子,我也给出了一个大赏金。我认为分割用户之间的网络连接可能是我们双方最有用的场景。
编辑:我刚为iptables owner
和找到这个做了谷歌。这似乎表明,几个脏的iptable行就可以解决这个问题。我还需要测试,但看起来很简单.
假设您有eth0
和eth1
连接,并且希望用户bob
使用eth1
,并且只使用eth1
,并将其他所有东西强制到eth0
上。这应该行..。
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o eth0 -m owner --uid-owner bob -j DROP
iptables -A OUTPUT -o eth1 -m owner --uid-owner bob -j ACCEPT
iptables -A OUTPUT -o eth1 -j DROP
iptables -A OUTPUT -o eth0 -j ALLOW
我假设您可以将我们的eth1
替换为您的VPN连接的名称,并将bob
替换为您将创建的从via:su -c ssh username@host bob
运行ssh连接的新用户。
发布于 2021-07-12 01:58:53
经过几个小时的搜索,我发现了一些很简单的东西。
这在技术上被称为分裂隧道和这里,您可以找到一个完美的教程来完成这个任务。使用拆分隧道,您可以在不同的层次上解决这个问题。您通过VPN路由您所有的工作网络流量,其他一切都如常进行。
我知道这不是你想要的解决方案,但毕竟,它只是起作用了。
发布于 2012-08-24 11:38:17
目前,我通过在Windows 7中运行Ubuntu实现了一些我想要的结果。(目前使用Ubuntu12.04运行VMware播放器)这样,我在Ubuntu上的整个互联网都经过了VPN,但是我可以在windows 7中使用浏览器等,但是没有这种VPN的东西。
虽然这不是我想要的,但现在必须这样做。
也许我可以在Ubuntu或者别的什么地方运行Ubuntu,这样以后我就不需要windows了。
https://askubuntu.com/questions/179442
复制