[FUG-BR] IPNAT vs Traceroute

Vinícius Zavam egypcio em googlemail.com
Quinta Junho 30 16:05:11 BRT 2016


2016-06-25 10:12 GMT-03:00, Márcio Elias <marcioelias em gmail.com>:
> Sim tem essa regra considerando todo o restando dos protocolos.
>
> O problema mesmo é que o bendito ICMT Type 11 não retorna a interface que
> deveria....
>
> Achei isso na documentação do Ipfilter/Ipnat do NetBSD.
>
> *ICMPIDMAP*
>        ICMP  messages  can be divided into two groups: "errors" and
> "queries".
>        ICMP errors are generated as a response of another IP packet. IP
> Filter
>        will  take  care  that ICMP errors that are the response of a NAT-ed
> IP
>        packet are handled properly.
>
>
> Mais isso não é o que está acontecendo, a menos que eu precise de
> alguma regra de filtragem no Ipfilter...
>
>
> On Fri, Jun 24, 2016 at 6:17 PM Eduardo Schoedler <listas em esds.com.br>
> wrote:
>
>> Em 24 de junho de 2016 15:53, Otavio Augusto <otavioti em gmail.com>
>> escreveu:
>> > Em 24 de junho de 2016 15:33, Márcio Elias <marcioelias em gmail.com>
>> escreveu:
>> >> Pessoal, alguém está utilizando o IPNAT no FreeBSD para fazer NAT?
>> >>
>> >> Configurei um servidor com vários IP's públicos para atender a muitos
>> >> clientes (uma espécie de CGNat para o ISP que trabalho).
>> >>
>> >> Setei um range de portas TCP/UDP para cada IP privado, para poder
>> >> identificar usuários caso necessário e tudo funcionou muito bem,
>> >> alias,
>> >> quase tudo.
>> >>
>> >> Estou tendo um problema com o traceroute, os pacotes ICMP Type 11 não
>> >> retornam a interface com o IP privado atras do NAT, chegam na
>> >> interface
>> >> pública mais não são traduzidos corretamente.
>> >>
>> >> O resultado é, em um traceroute para o endereço 8.8.8.8 partindo de um
>> PC
>> >> atras desse servidor de NAT eu vejo os hops até o servidor de nat,
>> >> tenho
>> >> timeout nos demais e finalmente recebo o retorno do último hop, já que
>> esse
>> >> não é um TTL Exceeded.
>> >>
>> >> Pode ser até maquiagem, uma vez que não reparei nenhum outro problema
>> sério
>> >> nesses tipos de conexões, mais gostaria muito de solucionar isso.
>> >>
>> >> Alguém usando algo parecido ou com algum knowhow sobre esse ambiente
>> para
>> >> dar um auxilio?
>> >> -------------------------
>> >> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>> >
>> > Quando vc setá um range de portas para cada ip invalido vc taz nat de
>> > tcp e udp agora vc precisa de uma regra para icmp.
>> > Coloque uma regra única de icmp para cada ip publico fazendo nat para
>> > os ips que devem sair por este ip.
>>
>> Márcio,
>>
>> Além de TCP / UDP / ICMP, não esqueça o restante dos protocolos... ex:
>> GRE, ESP, AH, L2TP, etc...
>> Faça uma regra final considerando o NAT do restante todo.
>>
>> Att,
>>
>>
>> --
>> Eduardo Schoedler

chegastes a tentar usar o traceroute(8) com -I ?

     -I      Use ICMP ECHO instead of UDP datagrams.  (A synonym for "-P
             icmp").

por padrao, o traceroute(8) tambem usa UDP; portas altas.
provavelmente nas saidas desses teus testes, ele poderia estar
"saltando" com diferentes enderecos do pool que tu declarastes via
IPNAT. nao?

fez testes com "portmap tcp/udp auto"? a proposito, tuas conexoes de
saida pra ftp estao a funcionar via IPNAT sem "proxy port"?

[ ] ' s


-- 
Vinícius Zavam
keybase.io/egypcio/key.asc


Mais detalhes sobre a lista de discussão freebsd