如何将SSH隧道限制为SSH服务器上的某个出站IP地址?

金特克尔克

我希望我正确地表述这个问题。我有一个用于测试的SSH服务器,上面运行2个Internet连接。LAN连接始终处于打开状态,但USB连接间歇性处于打开状态。是否可以限制隧道,使其仅使用USB连接的IP地址浏览互联网?

这是我目前正在使用的:

ssh -v -D 3456 [email protected];

很好,但是并不能告诉我服务器的辅助USB连接是否发生了变化。据我所知,USB连接的IP(出于参数目的199.90.09.78),我希望可以将隧道限制为仅使用USB,如果USB断开,则断开连接。我一直在玩以下游戏:

ssh -v -D *:3456 -R *:3456:199.90.09.78:80 [email protected];

但是我认为我使用-R错误。有没有更好的方法来实现这一目标?

莱肯施泰因

我不知道可以实现此目的的ssh选项,这似乎是一个路由问题。您希望作为策略通过USB连接路由SSH守护程序的所有通信。通过策略路由,您可以通过USB连接在不同的路径上路由数据包。您将需要ip设置策略并为该策略iptables标记数据包。

一个(未试用的)示例,该示例通过网关通过接口路由所有流量10.1.2.3

iptables -t mangle -A OUTPUT -m owner --uid-owner yourusername -j MARK --set-mark 2
ip rule add fwmark 2 table 3
ip route add default via 10.1.2.3 table 3
ip route flush cache

来自用户的所有数据包yourusername都将标记为ID 2然后,一条规则指出此标记2必须遵循3将数据包带到gateway的路由表10.1.2.3最后,清除路由缓存,以便拾取新路由(如果之前已计算过该路由)。

这假定SSH用户yourusername仅用于SOCKS隧道,并且您通过USB连接连接到它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将SSH密钥限制为某些IP地址?

SSH:ssh服务器上没有外壳的隧道

当反向ssh隧道突然/异常断开连接时,如何释放SSH服务器上的端口?

设置ssh隧道以访问远程服务器上的FTP

通过SSH隧道与远程服务器上的PostgreSQL交互?

在远程服务器上公开反向SSH隧道

使用无服务器部署,如何将对一个AWS Lambda的访问限制为一部分IP地址

如何在多个跳转服务器上使用反向ssh隧道

如何使用SSH将Minecraft客户端隧道传输到MineOS服务器?

在ssh服务器侦听的地址上设置限制时,可以使用变量吗?

Ubuntu SSH到服务器的隧道

您如何将服务器限制为仅来自本地主机的连接?

如何将本地服务器IP地址更改为公共IP地址

ssh命令消失后,如何在ssh服务器上关闭远程ssh隧道端口?

如何设置ssh隧道以从白名单IP中获取服务器数据以馈入本地版本?

如何在没有静态 IP 地址的情况下运行 SSH 服务器

如何在保护我的IP地址的同时从外部连接到SSH服务器

如何将本地DNS服务器转换为IP地址?

使用 SSH 隧道通过 Bastion 访问运行在 EC2 上的 Jupyter 服务器

无法连接到AWS上的远程MySQL服务器,但ssh隧道有效

在需要访问远程应用程序端口的服务器上创建SSH隧道

rsync:通过ssh隧道在服务器上创建目标目录?

第一个服务器上带有密钥的SSH隧道

Apache 2.4如何将站点限制为单个IP地址

通过SSH隧道将cURL传输到远程服务器

如何将输入限制为某个值?

SSH隧道:本地=>网关=> MySQL服务器

SSH隧道到远程CUPS服务器

相当于 Windows 服务器的 ssh 端口隧道?