首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个出站IP的SSH隧道

具有多个出站IP的SSH隧道
EN

Server Fault用户
提问于 2010-03-31 16:45:36
回答 6查看 3.9K关注 0票数 1

我有一个具有多个IP地址的VPS (我们可以使用debian、centos或ubuntu)。我可以使用任何IP地址通过服务器隧道。但是,我设置的任何ssh隧道总是只显示到最终目标站点的一个IP地址。

me -ssh to IP1

me -ssh to IP2- http:// whatismyip.com (显示IP1)

me -ssh to IP3- http:// whatismyip.com (显示IP1)

如何配置服务器,以便当我通过ssh隧道进入IP1时,它的出站IP是IP1。当我通过隧道进入IP2时,它的出站IP是IP2?

我想要的是: me -ssh to IP1 -转到whatismyip.com -到

me -ssh to IP2- http:// whatismyip.com (显示IP2)

IP在不同的子网中(实际上是完全不同的类)。

EN

回答 6

Server Fault用户

发布于 2010-03-31 19:07:26

用于连接到SSH服务器的IP地址实际上与SSH代表您启动出站连接时所使用的IP地址无关。

通过隧道传输的数据包的源地址将更多地依赖于路由表(S)和SSH服务器的默认网关。

如果您的所有地址都在同一个子网中,我不相信您可以使用ssh来设置源地址。

作为另一种选择,我相信您可以设置多个OpenVPN实例,每个实例都有自己的tun和ip地址范围。然后为来自每个VPN实例的数据包设置不同的NAT规则。

票数 5
EN

Server Fault用户

发布于 2014-08-14 10:14:53

这是一个肮脏的解决方案,可能导致问题。

代码语言:javascript
复制
> iptables -t nat -A POSTROUTING -j SNAT --to IP2
> 
> so 
> IP1 ---> IP2 
> IP2 ---> IP2 
> IP3 ---> IP2

如果您需要更改并且没有任何其他iptables规则,只需重新启动iptables,而不是所有应该刷新的内容。

我和你一样有同样的麻烦,这是我能找到的最好的。

票数 2
EN

Server Fault用户

发布于 2013-09-30 19:58:28

这不是隧道问题。如果您在服务器上,并从服务器上运行SSH (这就是您创建隧道的方式,对吗?),您将看到这些隧道是使用相同的IP地址设置的。

这是一个TCP路由问题。如果运行netstat -rn,您将看到路由表。最有可能的是,您将所有数据包路由到相同的接口上--默认路由。您需要具有比默认路由更高优先级的非常特定的路由才能获得优先级。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/128169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档