iptables redirecionar endereço IP

4

Eu tenho um aplicativo (mirth) em um servidor (10.2.2.200) que na porta 6661 está recebendo um feed HL7 de um servidor egate da porta 10.0.1.234 56789. Para cada mensagem que recebe / processa, está gerando de volta um HL7 ACK mensagem para 10.0.1.234 porta 56789. O servidor egate (que eu não controle) não está recebendo as mensagens ACK embora, como se espera recebê-las na porta 10.1.1.111 6661.

Seria possível configurar o iptables (no meu servidor Mirth - que é 10.0.2.200) para editar os pacotes ACK gerados pelo Mirth que originalmente deveriam ir para a 10.0.1.234 porta 56789 e enviá-los para 10.1. 1.111 porta 6661?

Estou lendo em NAT / iptables ( link ), mas não tenho certeza se possível neste momento e qualquer ajuda seria muito apreciada.

Resumo de IPs falsos:

  • Mirth: 10.2.2.200 (ouvindo a porta 6661)
  • Egate sender: 10.0.1.234 (escutando a porta 56789)
  • Egate quer escutar ACKs: 10.1.1.111 port 6661
por dr jimbob 18.08.2011 / 21:49

3 respostas

1

Você pode usar o iptables com o --tcp-flags argumento :

--tcp-flags [!] mask comp

Match when the TCP flags are as specified. The first argument is the flags which we should examine, written as a comma-separated list, and the second argument is a comma-separated list of flags which must be set. Flags are: SYN ACK FIN RST URG PSH ALL NONE. Hence the command

  iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST SYN

will only match packets with the SYN flag set, and the ACK, FIN and RST flags unset.

Eu não tenho uma caixa de Linux útil para despertar o encantamento certo, mas acho que seria algo como:

iptables -t nat -A PREROUTING -p tcp --tcp-flags ACK ACK --dest 10.0.1.234 --dport 56789 -j DNAT --to:destination 10.1.1.111:6661
    
por 21.08.2011 / 02:58
1

Mais ou menos seu desejo de aproveitar o recurso de manipulação de pacotes do iptables. Envolve alterar os pacotes nas tabelas de pré-lançamento e pós-venda. Você também precisa carregar um módulo personalizado ao usar esse recurso. Eu não sou de forma alguma um pro iptables, mas lidei com isso no passado, quando eu era mais jovem. Aqui está um link para um documento descrevendo o processo -

Existe mais no google sobre mangling packets. Desculpe por não ser mais informativo. Espero que isso ajude com a conquista para dominar o mundo.

www.linuxsecurity.com.br/info/fw/PacketManglingwithiptables.doc

    
por 21.08.2011 / 05:59
0

Acho que isso funcionará (embora não seja apenas a filtragem apenas de ACKs e eu ainda estou testando.)

iptables -t nat -A OUTPUT -p tcp -d 10.0.1.234 --dport 10000:65535 -j DNAT --to-destination 10.1.1.111:6661
    
por 18.08.2011 / 23:14

Tags