É possível redirecionamento TCP mantendo o endereço IP do originador?

1

Eu tenho vários hosts Ubuntu, cada um com mais máquinas virtuais Ubuntu. Uma das máquinas virtuais é o nosso servidor SMTP. No host da máquina virtual SMTP, todas as chamadas SMTP são redirecionadas para a VM SMTP usando rinetd com a seguinte configuração:

aa.bb.cc.dd   25              172.16.1.5      25
aa.bb.cc.dd   465             172.16.1.5      465
aa.bb.cc.dd   587             172.16.1.5      587
aa.bb.cc.dd   993             172.16.1.5      993

aa.bb.cc.dd é o endereço IP público do host em que a VM SMTP está instalada. 172.16.1.5 é o endereço interno da VM SMTP.

Meu problema é que não posso configurar a retransmissão na VM SMTP, porque o servidor de pós-instalação na VM SMTP obtém todas as chamadas com aa.bb.cc.dd como endereço IP de origem, por isso não consigo definir nenhuma filtragem retransmitindo, mas quero habilitar a retransmissão apenas para alguns endereços IP (para nossos outros hosts).

Existe alguma possibilidade de encaminhar chamadas SMTP para a VM SMTP1 para que o endereço IP do originador seja mantido?

    
por Tibor Nagy 03.04.2017 / 18:02

1 resposta

0

Você deve procurar usar iptables e iptables-persistent package - isso permitirá usar o NAT, em vez de apenas "encaminhar" as conexões criando um novo soquete.

Sua configuração seria algo como isto:

-A PREROUTING -d aa.bb.cc.dd -p tcp -m tcp --dport 25  -j DNAT --to-destination 172.16.1.5:25
-A PREROUTING -d aa.bb.cc.dd -p tcp -m tcp --dport 465 -j DNAT --to-destination 172.16.1.5:465
-A PREROUTING -d aa.bb.cc.dd -p tcp -m tcp --dport 587 -j DNAT --to-destination 172.16.1.5:587
-A PREROUTING -d aa.bb.cc.dd -p tcp -m tcp --dport 993 -j DNAT --to-destination 172.16.1.5:993

Você também precisará ativar ip_forward . Defina o seguinte em /etc/sysctl.conf :

net.ipv4.ip_forward=1

Sua máquina host funcionará como um roteador, permitindo que os convidados sejam acessados, mantendo o verdadeiro IP de origem.

    
por 03.04.2017 / 18:11