服务器使用2个IP并且需要提供服务(在NAT下)


0

我有一个内部服务器,它使用某种服务。此服务侦听端口,并在不同的端口上说话。该服务的问题在于它无法在同一IP地址上收听和说话,因此我为该NIC配置了2个IP地址,因此我“解决”了听和说的问题。

我有问题但是......

我需要使用公共IP地址对NAT服务器进行NAT,并且该服务器需要从外部可用(并且只需要一个IP)...

问题是,我该如何解决这里的情况?

如果我为一个IP地址(侦听端口)执行NAT,那么他将能够从外部获取请求,但无法发送流量(因为其他IP将不具有NAT)。如果我在两个IP上进行NAT,那么当流量进入侦听端口时,它不一定会到达侦听IP,而是到达说话IP。

我希望自己清楚明白,这里有一个合理的解决方案,我不知道。


1
你能添加一个有2个IP地址和端口的例子吗?我没有看到你描述它的问题。
lsmooth

1
你的要求听起来很奇怪,我认为你更有可能误解了要求,而不是你实际要满足规定的要求。
大卫施瓦茨

Answers:


0

我有一个内部服务器,它使用某种服务。

通常我们说客户 使用服务。一个服务器 提供的服务。我想你的意思是后者。

此服务侦听端口,并在不同的端口上说话。

服务需要两个端口是很常见的,大多数端口管理单个端口的双向通信。FTP是唯一常见的例外。

该服务的问题是它无法在同一IP地址上收听和说话,

这是非常不寻常的(甚至很奇怪)。

所以我为那个NIC配置了2个IP地址,所以我通过听和说“解决”了这个问题。

我有问题但是......

我需要使用公共IP地址对NAT服务器进行NAT,并且该服务器需要从外部可用(并且只需要一个IP)...

这显然不是问题。

问题是,我该如何解决这里的情况?

如果我为一个IP地址(侦听端口)执行NAT,那么他将能够从外部获取请求,但无法发送流量(因为其他IP将不具有NAT)。

通常,NAT适用于LAN中的所有 IP地址。所以我不明白这个问题。正在执行NAT的路由器会记住哪个端口号与哪些内部IP地址+端口号相关联。

如果我在两个IP上进行NAT,那么当流量进入侦听端口时,它不一定会到达侦听IP,而是到达说话IP。

不,您只需对传入连接使用端口转发(与NAT不同)。NAT负责区分现有连接并将每个连接与内部IP地址相关联。

我希望自己清楚明白,这里有一个合理的解决方案,我不知道。

也许我误会了,如果你能让问题更清楚,那可能是值得的。


0

完全同意@RedGrittyBrick,服务/程序/等。你正在跑步是非常奇怪的要求这个。

大多数NAT路由器允许您分配这么多端口。通常,每个端口都可以分配给不同的IP。基本上有一个端口到IP映射,因此NAT“足够智能”将流量引导到不同的IP。

因此,将一个端口分配给服务器的第一个IP和端口,将另一个端口分配给服务器的第二个IP和端口。路由器中的NAT设施将确保进入“公共”IP第一端口的流量进入服务器的第一个IP,进入“公共”IP第二端口的流量将进入服务器的第二个IP。

但是,单个物理网络适配器上的“别名”IP地址与您在服务器上看到的IP地址通常不完全等同于拥有两个单独的NIC,每个NIC都有自己的IP地址,因此您可能会遇到问题。

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.