iptables KVM prerouting SMTP

1

Eu tenho uma máquina host que tem que gerenciar o tráfego na porta 25 e rotear para a porta 25 na máquina KVM para o deamon postfix como este esquema:

WAN --> (25) HOST_MACHINE -->  (25) KVM_VM_WITH_POSTFIX_DOVECOT

Eu já abri a porta 25 (e outras) e adicionei esta regra ao iptables:

iptables -t nat -A PREROUTING -p TCP --dport 25 -j DNAT --to-destination 192.168.122.201:25

Do meu laptop agora posso me conectar ao servidor postfix e enviar e-mails, mas a máquina KVM não pôde se conectar a outros servidores de e-mail (a conexão expirou).

Então, tentei me conectar a outro servidor de e-mail da máquina KVM com:

telnet mail.example.com 25

Com a regra acima do iptables ativada, não consigo me conectar. Mas se eu desabilitá-lo da cadeia, posso conectar-me ao servidor externo.

Onde estou errado?

    
por Mirko 08.04.2015 / 10:15

1 resposta

3

Sua regra DNAT encaminhará todo o tráfego TCP recebido pelo host KVM, na porta 25, para o convidado KVM, independentemente da interface ou do destino. Você deve adicionar a interface ou o IP de destino (ou ambos) nesse DNAT :

iptables -t nat -A PREROUTING -i your_pub_if -p TCP --dport 25 -j DNAT --to-destination 192.168.122.201:25

ou

iptables -t nat -A PREROUTING -d your_pub_IP/32 -p TCP --dport 25 -j DNAT --to-destination 192.168.122.201:25

ou

iptables -t nat -A PREROUTING -i your_pub_if -d your_pub_IP/32 -p TCP --dport 25 -j DNAT --to-destination 192.168.122.201:25
    
por 08.04.2015 / 11:24