Redirecionar solicitações para minha porta / IP externo para uma porta / IP externo diferente?

14

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

Exemplo:

  • O servidor A possui o IP externo xxx.xxx.xxx.xxx
  • O servidor B tem o IP externo aaaa.aaa.aaa.aaa
  • O usuário envia uma solicitação ao servidor A na porta 2106, desejo redirecioná-lo para o servidor B na porta 2106.
Prémio
fonte
2
Você poderia elaborar? A máquina "A" é um gateway com hospedagem múltipla? Se sim, o iptables provavelmente poderia ser usado. Exemplo: iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2106 -j DNAT - para aaaa: 2106 iptables -A INPUT -p tcp -m state --state NEW --dport 2106 -i eth1 - j ACEITAR
bumbling fool
@blackblack tolo obrigado Eu já tinha resolvido e postou abaixo o que eu fiz.
Prix

Respostas:

22

Problema resolvido:

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport port -j DNAT --to-destination ip:port
iptables -t nat -A POSTROUTING -j MASQUERADE

Onde ip e port são o servidor de destino para o qual desejo redirecionar a porta do servidor atual.

Prémio
fonte
Isso não funciona para mim. Especificamente, essa última linha faz com que todo o tráfego da minha máquina pareça vir de fora e com problemas semelhantes.
Singpolyma
O @Prix não redirecionaria todo o tráfego para uma porta especificada (2106) para aaaa.aaa.aaa.aaa: porta? E se eu gostaria de redirecionar o tráfego que vai apenas para xxx.xxx.xxx.xxx:port?
Jezor