Um servidor que usa 2 IPs e é necessário para fornecer serviço (sob NAT)

0

Eu tenho um servidor interno, que usa um determinado serviço. Este serviço escuta em uma porta e fala em uma porta diferente. O problema com o serviço é que ele não pode escutar e falar no mesmo endereço IP, então eu configurei 2 endereços IP para essa placa de rede, e assim "resolvi" o problema com a audição e a fala.

Eu tenho um problema ...

Eu preciso que o servidor seja NATed, com um endereço IP público, e esse servidor precisa estar disponível de fora (e como apenas um IP) ...

A questão é: como resolvo a situação aqui?

Se eu fizer um NAT para um endereço IP (a porta de escuta), ele poderá receber solicitações de fora, mas não poderá enviar tráfego (porque o outro IP não terá NAT ). Se eu fizer o NAT em ambos os IPs, então quando o tráfego chegar para a porta de escuta, ele não necessariamente chegará ao IP de escuta, mas sim ao de fala.

Espero ter me tornado claro e que há uma solução sensata aqui que estou perdendo.

    
por user6004 20.02.2012 / 23:10

2 respostas

0

I have an internal server, which uses a certain service.

Geralmente dizemos que um cliente usa um serviço. Um servidor fornece um serviço. Eu acho que você quer dizer o último.

This service listens on a port, and speaks on a different port.

É incomum que um serviço exija duas portas, a maioria gerencia a comunicação bidirecional com uma única porta. O FTP é a única exceção comum.

The problem with the service is that it can't listen and speak on the same IP address,

Isso é extremamente incomum (até estranho).

so I have configured 2 IP addresses for that NIC, and so I "solved" the problem with the listening and speaking.

I have a problem though...

I need that server to be NATed, with a public IP address, and that server needs to be available from the outside (and as only one IP)...

Isso não é obviamente um problema.

The question is, how do I solve the situation here?

If I do a NAT for one IP address (the listening port), then he will be able to get requests from the outside, but won't be able to send out traffic (because the other IP won't have NAT).

Normalmente, o NAT se aplica a todos endereços IP na LAN. Então eu não entendo o problema. O roteador que está fazendo o NAT lembra quais números de portas estão associados a quais endereços IP internos + números de porta.

If I do NAT on both of the IPs, then when traffic comes in for the listening port, it won't necessarily arrive to the listening IP, but rather to the speaking one.

Não, você usa apenas o encaminhamento de porta (que é diferente do NAT) para conexões de entrada. O NAT se encarrega de distinguir entre conexões existentes e associar cada uma a um endereço IP interno.

I hope I made myself clear and that there is a sensible solution here that I am missing.

Talvez eu tenha me entendido mal, Se você puder esclarecer a questão, talvez valha a pena.

    
por 21.02.2012 / 00:16
0

Concorde totalmente com @RedGrittyBrick, o serviço / programa / etc. você está correndo é realmente bizarro para exigir isso.

A maioria dos roteadores NAT permite atribuir tantas portas. Geralmente, cada porta pode ser atribuída a um IP diferente. Basicamente, há uma porta para o mapeamento IP, portanto, o NAT é "inteligente o suficiente" para direcionar o tráfego para diferentes IPs.

Portanto, atribua uma porta ao primeiro IP e porta do seu servidor, e outra porta ao segundo IP e porta do seu servidor. O recurso NAT em seu roteador garantirá que o tráfego que entra na primeira porta de IP "público" vá para o primeiro IP do servidor, e o tráfego que entra na segunda porta IP "pública" vai para o segundo IP do servidor.

No entanto, o "aliasing" de endereços IP em um único adaptador de rede físico como o que parece estar fazendo em seu servidor geralmente não é exatamente equivalente a ter dois NICs separados, cada um com seu próprio endereço IP, portanto, você pode ter problemas.

    
por 04.09.2012 / 22:58