Encaminhamento de porta simples

14

Estou com problemas, pois estou tentando configurar um proxy reverso com um segundo servidor. Minha idéia era fazer o firewall encaminhar https para o proxy reverso e a porta 29418 (gerrit ssh) para o segundo servidor. Agora meu colega de TI diz: NÃO PODE! Ambas as portas vão para o servidor 1 ou ambas as portas vão para o servidor 2.

Ok, como uma solução, tentei configurar um encaminhamento de porta no proxy reverso da porta 29418 - > server2: 29418

Detalhes:

  • IP do servidor1: 10.0.0.132 e 192.168.10.2 no Ubuntu 12.04.2 LTS
  • IP do servidor2: 10.0.0.133 e 192.168.10.3 no Ubuntu 12.04.2 LTS

Agora, tanto o https quanto a porta 29418 vão do firewall para o 10.0.0.132, a TI diz que essa é a única maneira. : (

Então, por favor, diga-me como encaminhar de 10.0.0.132:29418 - > 192.168.10.3:29418 ou 10.0.0.133:29418

Quando estou trabalhando no 10.0.0.132, posso conectar-me a ambos 10.0.0.133:29418 e 192.168.10.3:29418 para que as portas estejam abertas.

- Atualizar -

Meus iptables -t nat -L são assim:

root@dev:/root# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             dev.example.com       tcp dpt:29418 to:10.0.0.133

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
root@dev:/root# cat /proc/sys/net/ipv4/ip_forward
1
    
por uncletall 15.07.2013 / 04:08

4 respostas

26

No caso de alguém estar procurando uma maneira que realmente funcione. Embora o @HorsePunchKid esteja certo em sua sugestão, encontrei este passo a passo que preenche os passos que faltam:

link

Em essência:

Ativar encaminhamento de IP:

sysctl net.ipv4.ip_forward=1

Adicione sua regra de encaminhamento (use n.n.n.n: port):

iptables -t nat -A PREROUTING -p tcp -d 10.0.0.132 --dport 29418 -j DNAT --to-destination 10.0.0.133:29418

Peça IPtables para mascarar:

iptables -t nat -A POSTROUTING -j MASQUERADE

E é isso! Funcionou para mim em qualquer caso:)

    
por Brendon Muir 25.01.2014 / 10:40
6

Se você tiver o iptables instalado em 10.0.0.132, acho que isso será bem direto:

iptables -t nat -A PREROUTING -j DNAT -d 10.0.0.132 -p tcp --dport 29418 --to 10.0.0.133

Isso diz para enviar tráfego para 10.0.0.132 na porta 29418 até 10.0.0.133, na mesma porta, antes de qualquer outro roteamento que 10.0.0.132 tente fazer. Se você executar este comando e tiver problemas com ele, substitua o sinalizador -A por -D para removê-lo.

Se você deseja que essa regra seja executada automaticamente quando a versão 10.0.0.132 é inicializada, considere adicionar o comando acima como uma regra "post-up" em / etc / network / interfaces.

    
por HorsePunchKid 15.07.2013 / 04:16
3

Se alguém pesquisar um método temporário, tente a solução abaixo.

    ssh -L 192.168.0.10:8080:10.0.0.10:80 [email protected]

O comando acima redireciona todas as conexões para a porta 8080 em sua máquina base para a porta 80 de sua máquina virtual. Você pode testar o funcionamento acessando a página da web link , e ele mostrará a página da web na máquina convidada.

Isso se aplica a todas as portas:)

    
por common_man 30.12.2015 / 19:42
0

No final, eu tive que instalar o pfSense como um roteador dentro do meu servidor ESXi para direcionar o tráfego para as diferentes VMs, pois não consegui fazê-lo funcionar no Ubuntu.

    
por uncletall 18.07.2013 / 05:50