iptables

0

É possível redirecionar conexões para um IP / porta específico para um IP / porta externo?

Exemplo:

Server A has the external IP xxx.xxx.xxx.xxx
Server B has the external IP yyy.yyy.yyy.yyy

O usuário envia uma solicitação para o servidor A na porta 25565, eu quero redirecioná-lo para o servidor B na porta 25565, mas as pessoas que se conectam ao servidor B devem ter endereço IP, não endereço IP do servidor A.

Isso funciona, mas todas as pessoas que se conectam têm endereço IP do servidor A e eu preciso que elas tenham seus próprios endereços IP.

iptables -t nat -A PREROUTING -p tcp --dport 25565 -j DNAT --to-destination xxx.xxx.xxx.xxx
iptables -t nat -A POSTROUTING -p tcp -d xxx.xxx.xxx.xxx --dport 25565 -j SNAT --to-source yyy.yyy.yyy.yyy
    
por Ondrej Simer 27.01.2017 / 09:18

2 respostas

0

Usar iptables -t nat -A PREROUTING -p tcp --dport 25565 -j MASQUERADE em vez do segundo comando também não funciona: /

    
por Ondrej Simer 27.01.2017 / 15:01
0

Para isso, você precisa de DNAT no servidor A com as seguintes regras:

iptables -t nat -A PREROUTING -p tcp --dport 25565 -j DNAT --to <server B IP> iptables -t nat -A POSTROUTING -p tcp --sport 25565 -j SNAT --to <server A IP>

Onde:

  • <server A IP> é o endereço IP no servidor A que o cliente vê
  • <server B IP> é o endereço IP do host que atende em tcp/25565

A primeira regra estabelece: Cliente --- > Servidor A --- > Servidor B (pedidos)

E a segunda regra estabelece: Servidor B --- > Servidor A --- > Cliente (respostas)

Espero que isso ajude

    
por maff1989 28.01.2017 / 01:04