TCP syn, ack Perdido antes de entrar no túnel VPN IPsec

1

Configurei um site para VPN do site, que está funcionando bem, já que o tráfego está passando pelo túnel. Eu sou capaz de ping e hosts de Telnet na outra rede e eles são capazes de me ping de volta.

O problema que tenho é que quando os hosts na outra rede enviam solicitações HTTP para um aplicativo no servidor web (este é realmente um aplicativo para entregar menus USSD de volta para o assinante móvel, os outros hosts são servidores da rede móvel Provedor), eu posso os pedidos e um shake de mão é iniciado com um SYN dos outros anfitriões! Meu servidor responde com um SYN, ACK, mas para todos ficarem surpresos, essas respostas não estão chegando do outro lado. Eu estou usando um Cisco 820 como roteador e servidor VPN. Inspeção na configuração do roteador não mostra nada fora do comum, pelo menos até onde eu posso dizer. Eu não tenho nenhum firewall habilitado e estou usando listas de acesso para roteamento e controle de acesso.

O que eu suspeito é que os pacotes estão sendo descartados pelo roteador antes que eles possam ser criptografados e enviados no Ipsec Tunnel. Por favor, alguém avise o que poderia estar perdendo esses pacotes.

Nenhuma outra comunicação é feita porque o handshake de três vias falha.

Este é o rastreamento de pacotes:

    25.690224 200.32.15.154 -> 192.168.0.2  TCP 74 45367 > http [SYN]          Seq=0 Win=5840 Len=0 MSS=1452 SACK_PERM=1 TSval=610983874 TSecr=0 WS=128
    25.690267  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763845089 TSecr=610983874 WS=128
    26.687067  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763845339 TSecr=610983874 WS=128
    28.687066  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763845839 TSecr=610983874 WS=128
    31.688116 200.32.15.154 -> 192.168.0.2  TCP 74 45367 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1452 SACK_PERM=1 TSval=610989874 TSecr=0 WS=128
    31.688147  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763846589 TSecr=610983874 WS=128
    32.687068  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763846839 TSecr=610983874 WS=128
    40.687059  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763848839 TSecr=610983874 WS=128
    43.689503 200.32.15.154 -> 192.168.0.2  TCP 74 45367 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1452 SACK_PERM=1 TSval=611001874 TSecr=0 WS=128
    43.689531  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763849589 TSecr=610983874 WS=128
    56.887060  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763852889 TSecr=610983874 WS=128

Este é o meu Iptables no servidor:

    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    fail2ban-dovecot-pop3imap  tcp  --  anywhere                     anywhere             multiport dports pop3,pop3s,imap2,imaps
    fail2ban-pureftpd  tcp  --  anywhere                     anywhere             multiport dports ftp
    fail2ban-ssh  tcp  --  anywhere             anywhere             multiport         dports ssh
    fail2ban-dovecot-pop3imap  tcp  --  anywhere             anywhere             multiport dports pop3,pop3s,imap2,imaps
    fail2ban-pureftpd  tcp  --  anywhere             anywhere             multiport dports ftp
    fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh

    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination

    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination

    Chain fail2ban-dovecot-pop3imap (2 references)
    target     prot opt source               destination
    RETURN     all  --  anywhere             anywhere
    RETURN     all  --  anywhere             anywhere

    Chain fail2ban-pureftpd (2 references)
    target     prot opt source               destination
    RETURN     all  --  anywhere             anywhere
    RETURN     all  --  anywhere             anywhere

    Chain fail2ban-ssh (2 references)
    target     prot opt source               destination
    RETURN     all  --  anywhere             anywhere
    RETURN     all  --  anywhere             anywhere

Esta é a lista de acesso que aponta para a internet e como eu programo esses endereços:

        150 deny ip 192.168.0.0 0.0.0.255 host 200.32.15.152 log (306 matches)
160 deny ip 192.168.0.0 0.0.0.255 host 200.32.15.153 log (101 matches)
170 deny ip 192.168.0.0 0.0.0.255 host 200.32.15.154 log (141 matches)
180 deny ip 192.168.0.0 0.0.0.255 host 200.32.15.155 log (74 matches)

Esta é a lista de acesso apontando para ele VPN:

        60 permit ip host 192.168.0.2 host 200.32.15.152 (132 matches)
70 permit ip host 192.168.0.2 host 200.32.15.153 (74 matches)
80 permit ip host 192.168.0.2 host 200.32.15.154 (146 matches)
90 permit ip host 192.168.0.2 host 200.32.15.155 (72 matches)

Estas são as SAs para esses endereços:

    local  ident (addr/mask/prot/port): (192.168.0.2/255.255.255.255/0/0)
    remote ident (addr/mask/prot/port): (200.32.15.154/255.255.255.255/0/0)
    current_peer 41.72.111.122 port 500
 PERMIT, flags={origin_is_acl,}
#pkts encaps: 28, #pkts encrypt: 28, #pkts digest: 28
#pkts decaps: 68, #pkts decrypt: 68, #pkts verify: 68
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0

 local crypto endpt.: 41.222.240.23, remote crypto endpt.: 41.72.111.122
 path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet4.1
 current outbound spi: 0x8FD440DA(2413052122)
 PFS (Y/N): N, DH group: none

 inbound esp sas:
  spi: 0xD6FEA63C(3607012924)
    transform: esp-3des esp-sha-hmac ,
    in use settings ={Tunnel, }
    conn id: 19, flow_id: Onboard VPN:19, sibling_flags 80000040, crypto map: sshlink-to-savannah
    sa timing: remaining key lifetime (k/sec): (4263446/2717)
    IV size: 8 bytes
    replay detection support: Y
    Status: ACTIVE(ACTIVE)

 inbound ah sas:

 inbound pcp sas:

 outbound esp sas:
  spi: 0x8FD440DA(2413052122)
    transform: esp-3des esp-sha-hmac ,
    in use settings ={Tunnel, }
    conn id: 20, flow_id: Onboard VPN:20, sibling_flags 80000040, crypto map: sshlink-to-savannah
    sa timing: remaining key lifetime (k/sec): (4263446/2717)
    IV size: 8 bytes
    replay detection support: Y
    Status: ACTIVE(ACTIVE)

 outbound ah sas:

 outbound pcp sas:

Por favor, alguém ajude !!!

    
por Mundeez 01.07.2015 / 14:42

1 resposta

0

Finalmente encontrei a solução, tive que incluir meu IP de mesmo nível público nas ACLs. Devido à natting, o trecho de retorno do handshake estava sendo enviado usando o IP peer público, portanto, depois de adicionar o IP de peer público às ACLs, PRESTO !!! Tudo funcionou.

    
por 23.07.2015 / 14:05

Tags