Gerenciando Rede wifi com pfsense e Captive Portal - falha intermitente



  • Boa tarde senhores,

    Estamos usando o pfsense 2.3.3 com captive portal para autenticar os usuários internos em nossa rede wifi, utilizando as credenciais do AD, vem acontecendo algumas vezes ao dia que a conexão com a internet dos usuários logados cai, rodei um tcpdump na LAN capturando os pacotes  trocados entre meu celular e o pfsense e apenas o que  retorna é o seguinte:

    
    13:47:18.015435 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    13:47:18.015451 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    13:47:19.012228 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    13:47:19.012242 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    13:47:20.019165 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    13:47:20.019178 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    13:47:21.026854 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    13:47:21.026868 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    13:47:22.023602 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    13:47:22.023617 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    13:47:23.020307 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    13:47:23.020322 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    
    

    Fiz alguns testes a partir do meu celular e também de um notebook conectado a rede wifi e o ping no gateway (interface LAN do pfsense) não responde, qualquer requisição de consulta dns, por exemplo, ping em google.com.br retorna "Solicitação de ping não pôde encontrar o host google.com.br. Verifique o nome e tente novamente", não consigo acesso nem a pagina de autenticação dos usuários quando a falha acontece.

    Quando está com essa falha e dou um ipconfig /release e depois ipconfig /renew monitorando a interface LAN do pfsense o retorno é:

    
    14:59:38.431466 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    14:59:38.431481 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    14:59:39.427465 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    14:59:39.427479 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    14:59:40.126587 IP 10.100.38.67.61746 > 224.0.0.252.5355: UDP, length 24
    14:59:40.225748 IP 10.100.38.67.61746 > 224.0.0.252.5355: UDP, length 24
    14:59:40.428360 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    14:59:40.428376 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    14:59:40.434051 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
    14:59:40.496756 IP 10.100.38.67.51937 > 239.255.255.250.1900: UDP, length 133
    14:59:41.192915 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
    14:59:48.168768 IP 10.100.32.1 > 10.100.38.67: ICMP echo request, id 45179, seq 0, length 28
    14:59:49.169674 IP 10.100.32.1.67 > 10.100.38.67.68: BOOTP/DHCP, Reply, length 302
    14:59:51.169586 IP 10.100.32.1.67 > 10.100.38.67.68: BOOTP/DHCP, Reply, length 302
    15:00:00.121950 IP 10.100.32.1.67 > 10.100.38.67.68: BOOTP/DHCP, Reply, length 302
    15:00:16.031240 IP 10.100.32.1.67 > 10.100.38.67.68: BOOTP/DHCP, Reply, length 302
    15:00:48.416891 ARP, Request who-has 10.100.38.67 tell 0.0.0.0, length 42
    15:00:48.563182 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:48.563197 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:48.607582 IP 10.100.38.67.57276 > 224.0.0.252.5355: UDP, length 23
    15:00:48.619067 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:48.619432 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:48.619442 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:48.629092 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:48.629104 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:48.652927 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:48.652937 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:48.714074 IP 10.100.38.67.57276 > 224.0.0.252.5355: UDP, length 23
    15:00:48.717371 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:48.717383 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:48.791641 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:48.791656 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:49.236440 IP 10.100.38.67.53700 > 239.255.255.250.1900: UDP, length 125
    15:00:49.262192 IP 10.100.38.67.53700 > 239.255.255.250.1900: UDP, length 123
    15:00:49.291548 IP 10.100.38.67.53700 > 239.255.255.250.1900: UDP, length 133
    15:00:49.324477 IP 10.100.38.67.53700 > 239.255.255.250.1900: UDP, length 133
    15:00:49.368518 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:49.370458 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:49.370692 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:49.431392 ARP, Request who-has 10.100.38.67 tell 0.0.0.0, length 42
    15:00:49.432183 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:49.432195 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:50.132901 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:50.135145 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:50.135156 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:50.430155 ARP, Request who-has 10.100.38.67 tell 0.0.0.0, length 42
    15:00:50.430336 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:50.430350 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:50.539256 ARP, Request who-has 169.254.255.255 tell 10.100.38.67, length 42
    15:00:50.898120 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:50.898707 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:50.898719 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:51.427708 ARP, Request who-has 10.100.38.67 tell 10.100.38.67, length 42
    15:00:51.427860 ARP, Request who-has 169.254.255.255 tell 10.100.38.67, length 42
    15:00:51.460812 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:51.460824 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:51.503038 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:51.503052 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:51.663323 IP 10.100.38.67.137 > 10.100.47.255.137: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
    15:00:51.670799 IP 10.100.38.67.55714 > 224.0.0.252.5355: UDP, length 23
    15:00:51.681398 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:51.681409 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:51.756468 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:51.756495 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    15:00:51.771153 IP 10.100.38.67.55714 > 224.0.0.252.5355: UDP, length 23
    15:00:51.881962 IP 10.100.38.67.59257 > 239.255.255.250.1900: UDP, length 133
    15:00:51.888836 ARP, Request who-has 10.100.32.1 tell 10.100.38.67, length 42
    15:00:51.888851 ARP, Reply 10.100.32.1 is-at 86:fb:88:f2:6b:47, length 28
    
    

    Parece-me que o pfsense está bloqueando algumas coisas na interface LAN já que, por exemplo, as requisições de ARP ele responde, algumas vezes tudo volta a funcionar em 10 minutos, outras vezes chega a ficar 30 minutos ou mais sem acesso a internet, e tem acontecido nos horários mais variados do dia, além de que, em alguns dias isso ocorre 3x, outros mais de 10x, ficando quase inviável a utilização da wifi.
    Já fiz vários testes e não consegui determinar a causa do problema.

    Alguém já se deparou com algo semelhante ou tem ideia do motivo que leva a isso acontecer?

    Grato pela ajuda.



  • Já viu se nesse momento o status do link wan é latencia alta ou offline?



  • @marcelloc:

    Já viu se nesse momento o status do link wan é latencia alta ou offline?

    Ambas as interfaces com o mesmo status conforme abaixo:

    Status - up
    In/out errors - 0/0
    Collisions - 0



  • O ambiente é virtual? guest client instalado, rodando, etc?

    Só vi erros desses nessas duas situações. incompatibilidade de configurações entre xen e freebsd e quando o link wan fica offline.



  • @marcelloc:

    O ambiente é virtual? guest client instalado, rodando, etc?

    Só vi erros desses nessas duas situações. incompatibilidade de configurações entre xen e freebsd e quando o link wan fica offline.

    Sim, virtual, XenServer, guest rodando!
    Estamos mudando alguns setores, e mudamos alguns APs de posição, aparentemente ficou mais estável a rede! A pergunta que me faço é a seguinte, poderia ser interferência entre APs próximos no mesmo canal?



  • @Marceloc:

    Seguinte, poderia ser interferência entre APs próximos no mesmo canal?

    Se o cliente estiver mudando de ip e mantendo o mesmo mac, pode ser sim.


Log in to reply