PfSense com NET Virtua dá umas "engasgadas"



  • Pessoal, preciso de ajuda. Eu já recorri a todos os tópicos possíveis, já chamei a NET aqui e nada de resolver meu problema.

    Vou tentar "desenhar" a minha rede pra exemplificar.

    Eu tenho um servidor com pfSense e 3 interfaces de rede:

    Placa onboard 10/100: LAN
    Placa offboard 10/100/1000: WAN1 (VIVO 30mbps)
    Placa offboard 10/100/1000: WAN2 (NET Virtua 240mbps)

    Minha rede tem aproximadamente 45 máquinas conectadas.

    Eu ainda não configurei load balancing por conta deste problema, então eu seto manualmente o gateway padrão que eu uso.

    Quando eu estou navegando na conexão da vivo de 30mbps eu não tenho problemas. Porém quando ativo como gateway padrão a WAN da Net Virtua, ela falha bastante. A navegação vai tranquila e rápida (afinal, 240mbps) até que dá uma travada. Acesso algum site aleatório e ele retorna com erro como se não houvesse conexão. Dois segundos depois, dou um F5 e o site abre normalmente.

    O mesmo ocorre com o ping, claro. Eu pingo um domínio, ele já retorna o IP resolvido porém leva 3 ou 4 resposta até que comece a pingar. E tudo flui. Se eu paro o ping e volto a pingar ele já começa a pingar direto.

    Não me parece ser um problema de DNS, mas eu uso o DNS Resolver ativado. Ele pega o DNS da própria configuração geral do PFSense (os da Google pra quando conectado na Vivo e os da NET pra quando  o gateway saindo pela Virtua).

    Alguém me dá alguma luz do que pode ser?

    Já chamei a NET aqui, estiveram hoje pela manhã. Trocaram modem e o escambau e nada.



  • @becher:

    Pessoal, preciso de ajuda. Eu já recorri a todos os tópicos possíveis, já chamei a NET aqui e nada de resolver meu problema.

    Vou tentar "desenhar" a minha rede pra exemplificar.

    Eu tenho um servidor com pfSense e 3 interfaces de rede:

    Placa onboard 10/100: LAN
    Placa offboard 10/100/1000: WAN1 (VIVO 30mbps)
    Placa offboard 10/100/1000: WAN2 (NET Virtua 240mbps)

    Minha rede tem aproximadamente 45 máquinas conectadas.

    Eu ainda não configurei load balancing por conta deste problema, então eu seto manualmente o gateway padrão que eu uso.

    Quando eu estou navegando na conexão da vivo de 30mbps eu não tenho problemas. Porém quando ativo como gateway padrão a WAN da Net Virtua, ela falha bastante. A navegação vai tranquila e rápida (afinal, 240mbps) até que dá uma travada. Acesso algum site aleatório e ele retorna com erro como se não houvesse conexão. Dois segundos depois, dou um F5 e o site abre normalmente.

    O mesmo ocorre com o ping, claro. Eu pingo um domínio, ele já retorna o IP resolvido porém leva 3 ou 4 resposta até que comece a pingar. E tudo flui. Se eu paro o ping e volto a pingar ele já começa a pingar direto.

    Não me parece ser um problema de DNS, mas eu uso o DNS Resolver ativado. Ele pega o DNS da própria configuração geral do PFSense (os da Google pra quando conectado na Vivo e os da NET pra quando  o gateway saindo pela Virtua).

    Alguém me dá alguma luz do que pode ser?

    Já chamei a NET aqui, estiveram hoje pela manhã. Trocaram modem e o escambau e nada.

    Caro becher.

    Seu modem da net está configurado/funcionando em que modo: Router ou Bridge ?

    Abraços



  • Oi, pskinfra.

    Verdade, faltou essa informação. Bem importante, por sinal.

    Agora está como bridge, mas já testei como router. Em ambos os casos, o problema acontece.

    Abraço,



  • Fera, poste mais detalhes da sua NIC específica da NetVirtua.

    Também os detalhes de " Network Interfaces ", em: System > Advanced > Networking

    Abraços  ;)



  • A NIC da Virtua é uma TP-Link TG-3468 (https://www.tp-link.com/br/products/details/cat-11_TG-3468.html)

    As configurações mando no print, pode ser? Segue!




    1. Marque apenas a opção: Hardware TCP Segmentation Offloading.
    2. Reinicie o firewall;
    3. Teste e nos conte aqui.

    Abraços



  • Oi, pskinfra!

    Infelizmente não adiantou  :-[

    Veja o print pra ilustrar o que acontece com a navegação. Engasga, pensa, e começa a pingar (ou navegar).

    Depois de pingar a primeira vez, ele já pinga direto se eu interromper e voltar. Porém depois de um tempo, ele volta a engasgar. Domínio por domínio. IP por IP.




  • @becher:

    Oi, pskinfra!

    Infelizmente não adiantou  :-[

    Veja o print pra ilustrar o que acontece com a navegação. Engasga, pensa, e começa a pingar (ou navegar).

    Depois de pingar a primeira vez, ele já pinga direto se eu interromper e voltar. Porém depois de um tempo, ele volta a engasgar. Domínio por domínio. IP por IP.
    [/quote]

    Fera sinceramente não entendi o print.

    Meus contatos abaixo para maiores informações.

    Abraços!



  • Realmente, ficou estranho o que eu falei.

    O que eu quero dizer é que em alguns momentos parece que a conexão com a Internet para (embora a Lan mantenha-se inalterada).

    Ela congela por alguns segundos atrapalhando toda a navegação e depois volta, do nada. São as engasgadas que eu me referia.



  • Mais alguém teria alguma idéia do que pode ser o problema?



  • @becher:

    Mais alguém teria alguma idéia do que pode ser o problema?

    Já fez limpeza de cache do Squid??

    Como está o processamento do servidor, memoria, CPU..está tudo ok?



  • O hardware tá OK, tá sobrando. Squid eu não ativei, ele vem padrão? Não achei aqui. Desculpe a noobice.



  • @becher:

    O hardware tá OK, tá sobrando. Squid eu não ativei, ele vem padrão? Não achei aqui. Desculpe a noobice.

    O squid é um pacote que deve ser instalado a parte.

    Se espetar direto esse modem da NET em um switch e tua rede LAN tbm, ocorre essas travadas?



  • @becher:

    Mais alguém teria alguma idéia do que pode ser o problema?

    Coloque a configuração de DNSs que você está usando.

    Caso seja mais de um, teste-os em separado.



  • @ironlion:

    @becher:

    O hardware tá OK, tá sobrando. Squid eu não ativei, ele vem padrão? Não achei aqui. Desculpe a noobice.

    O squid é um pacote que deve ser instalado a parte.

    Se espetar direto esse modem da NET em um switch e tua rede LAN tbm, ocorre essas travadas?

    Não acontece, não…



  • @jorlando:

    @becher:

    Mais alguém teria alguma idéia do que pode ser o problema?

    Coloque a configuração de DNSs que você está usando.

    Caso seja mais de um, teste-os em separado.

    Eu uso as configs desta forma como aparece nos prints. Uso o DNS Resolver e lá nas configs gerais eu configurei o DNS da NET (porque ela não aceita outro como o do Google por exemplo, em IPv4) e o dns do Google pra Vivo.








  • @jorlando:

    @becher:

    Mais alguém teria alguma idéia do que pode ser o problema?

    Coloque a configuração de DNSs que você está usando.

    Caso seja mais de um, teste-os em separado.

    Eu te respondi faz dois dias, mas na hora deu um erro de conexão (o próprio) e não foi a mensagem. Vai de novo:

    Em anexo te mando a minha estrutura de DNS. Eu uso em cada placa o DNS da sua conexão (a net virtua não aceita outro DNS em IPv4 senão o dela, não sei explicar o pq mas tem a ver com o CGNAT) e o DNS Resolver que resolve de acordo com cada DNS.

    Mas é importante salientar que mesmo travando ele resolve o IP. Se formos analisar o problema com um ping, ele é assim:

    C:\Users\danie>ping uol.com.br -t

    Disparando uol.com.br [200.147.67.142] com 32 bytes de dados:
    Esgotado o tempo limite do pedido.
    Esgotado o tempo limite do pedido.
    Esgotado o tempo limite do pedido.
    Esgotado o tempo limite do pedido.
    Esgotado o tempo limite do pedido.
    Esgotado o tempo limite do pedido.
    Resposta de 200.147.67.142: bytes=32 tempo=23ms TTL=243
    Resposta de 200.147.67.142: bytes=32 tempo=24ms TTL=243
    Resposta de 200.147.67.142: bytes=32 tempo=27ms TTL=243
    Resposta de 200.147.67.142: bytes=32 tempo=29ms TTL=243
    Resposta de 200.147.67.142: bytes=32 tempo=28ms TTL=244
    Resposta de 200.147.67.142: bytes=32 tempo=23ms TTL=244
    Resposta de 200.147.67.142: bytes=32 tempo=27ms TTL=243
    Resposta de 200.147.67.142: bytes=32 tempo=28ms TTL=243
    Resposta de 200.147.67.142: bytes=32 tempo=26ms TTL=243

    (e depois não para mais, mesmo travando. Ou seja, é na primeira conexão com o IP).

    Note que ele pegou o IP do Uol, deu 6 pings com erro e tocou a vida até eu parar com ctrl + c.








  • Aliás, acabei de fazer mais um teste. Peguei uma máquina mais nova, um i3 com 4GB de RAM, tudo novo. Estou com as duas em paralelo (uma só ligada, claro). Nesta nova  coloquei uma placa de rede diferente, também gigabit, porém não achei outro chipset aqui no mercado local que não fosse da realtek. Mas creio que não seja esse problema também. Então, já troquei placa de rede, servidor etc pra eliminar problemas de hardware.

    Também já foi trocado o modem da NET na última vez em que estiveram aqui.



  • becher,

    se a máquina resolveu o IP, o problema não é o DNS, mas… a resolução pode ter sido do outro DNS. Ou você desconectou o cabo da Vivo?

    Nesse caso o ideal não é ping, é o traceroute, para que você veja por qual interface seu pacote está saindo.

    Já olhou os logs do pfsense para ver se teve algum bloqueio?

    Uma das coisas que causa bloqueio de pacotes é saída por um link e retorno pelo outro (não deve ser seu caso, que tem duas operadoras diferentes, mas já experimentei isso usando dois links da mesma operadora)

    antes do ping e do traceroute faça o seguinte, utilize o nslookup, veja meu caso:

    **C:\Users\orlando>nslookup
    Servidor PadrÒo:  pfSense.localdomain
    Address:  192.168.1.1

    **

    Como estou utilizando o próprio pfsense, recebo o nome e o IP do próprio.

    Caso eu tivesse configurado outro DNS, como o do ggole, ao digitar nslookup eu teria a informação desse DNS. Em situações em que dois ou mais DNSs estão configurados será informado o que está sendo utilizado no momento.

    Bom, isso é para você se certificar que quando altera o gateway está utilizando o DNS da operadora cujo gateway está sendo utilizado no momento.

    Veja um trace:

    **C:\Users\orlando>tracert  200.2.2.2

    Rastreando a rota para sco-almanet.alma.cl [200.2.2.2]
    com no máximo 30 saltos:

    1    2 ms    <1 ms    <1 ms  pfSense.localdomain [192.168.1.1]
      2    7 ms    9 ms    7 ms  xxxyyyzzz.virtua.com.br [177.xxx.yyy.zzz]
      3    14 ms    12 ms    13 ms  c9062341.virtua.com.br [201.6.35.65]
      4    7 ms    9 ms    7 ms  c9062871.virtua.com.br [201.6.40.113]
      5    7 ms    11 ms    7 ms  c9062851.virtua.com.br [201.6.40.81]
      6    11 ms    14 ms    9 ms  embratel-T0-4-0-0-uacc03.spomb.embratel.net.br [201.64.46.33]
      7    8 ms    17 ms    15 ms  ebt-H0-9-0-0-tcore01.spomb.embratel.net.br [200.244.212.77]
      8  128 ms  133 ms  126 ms  ebt-B11551-intl01.atl.embratel.net.br [200.230.230.40]
      9  ^C
    C:\Users\orlando>**

    Assim que você mudar o gateway veja a tabela de estados (Diagnóstics, States) e filtre a WAN. Acredito que você está fazendo DHCP e na sua tabela de estados você vai encontrar uma entrada do IP da sua máquina de testes associado com o IP da Vivo. Enquanto essa entrada não cair você vai ter problemas

    Estou com a impressão que você vai precisar configurar um grupo multiwan para ter sucesso nos testes.



  • Qual o ip de monitoria está utilizando para esses links? No dashboard do pfsense os gateways estão sempre online?



  • @jorlando:

    becher,

    se a máquina resolveu o IP, o problema não é o DNS, mas… a resolução pode ter sido do outro DNS. Ou você desconectou o cabo da Vivo?

    Nesse caso o ideal não é ping, é o traceroute, para que você veja por qual interface seu pacote está saindo.

    Já olhou os logs do pfsense para ver se teve algum bloqueio?

    Uma das coisas que causa bloqueio de pacotes é saída por um link e retorno pelo outro (não deve ser seu caso, que tem duas operadoras diferentes, mas já experimentei isso usando dois links da mesma operadora)

    antes do ping e do traceroute faça o seguinte, utilize o nslookup, veja meu caso:

    **C:\Users\orlando>nslookup
    Servidor PadrÒo:  pfSense.localdomain
    Address:  192.168.1.1

    **

    Como estou utilizando o próprio pfsense, recebo o nome e o IP do próprio.

    Caso eu tivesse configurado outro DNS, como o do ggole, ao digitar nslookup eu teria a informação desse DNS. Em situações em que dois ou mais DNSs estão configurados será informado o que está sendo utilizado no momento.

    Bom, isso é para você se certificar que quando altera o gateway está utilizando o DNS da operadora cujo gateway está sendo utilizado no momento.

    Veja um trace:

    **C:\Users\orlando>tracert  200.2.2.2

    Rastreando a rota para sco-almanet.alma.cl [200.2.2.2]
    com no máximo 30 saltos:

    1    2 ms    <1 ms    <1 ms  pfSense.localdomain [192.168.1.1]
      2    7 ms    9 ms    7 ms  xxxyyyzzz.virtua.com.br [177.xxx.yyy.zzz]
      3    14 ms    12 ms    13 ms  c9062341.virtua.com.br [201.6.35.65]
      4    7 ms    9 ms    7 ms  c9062871.virtua.com.br [201.6.40.113]
      5    7 ms    11 ms    7 ms  c9062851.virtua.com.br [201.6.40.81]
      6    11 ms    14 ms    9 ms  embratel-T0-4-0-0-uacc03.spomb.embratel.net.br [201.64.46.33]
      7    8 ms    17 ms    15 ms  ebt-H0-9-0-0-tcore01.spomb.embratel.net.br [200.244.212.77]
      8  128 ms  133 ms  126 ms  ebt-B11551-intl01.atl.embratel.net.br [200.230.230.40]
      9  ^C
    C:\Users\orlando>**

    Assim que você mudar o gateway veja a tabela de estados (Diagnóstics, States) e filtre a WAN. Acredito que você está fazendo DHCP e na sua tabela de estados você vai encontrar uma entrada do IP da sua máquina de testes associado com o IP da Vivo. Enquanto essa entrada não cair você vai ter problemas

    Estou com a impressão que você vai precisar configurar um grupo multiwan para ter sucesso nos testes.

    Eu criei uma multiwan com failover, não adiantou :-(

    Os testes de trace saem certinho.



  • @marcelloc:

    Qual o ip de monitoria está utilizando para esses links? No dashboard do pfsense os gateways estão sempre online?

    Uso 8.8.8.8 pra uma conexão e 8.8.4.4 para a outra. Mas durante os testes, fui trocando. As vezes uso o IP de DNS de cada um pra evitar problemas de rota eventuais das operadoras.

    Sim, estão sempre online!



  • E a tabela de estados? Verificou na hora em que ocorre a falha?

    O trace nunca falha, mas o ping sim? É isso?



  • @becher:

    Pessoal, preciso de ajuda. Eu já recorri a todos os tópicos possíveis, já chamei a NET aqui e nada de resolver meu problema.

    Vou tentar "desenhar" a minha rede pra exemplificar.

    Eu tenho um servidor com pfSense e 3 interfaces de rede:

    Placa onboard 10/100: LAN
    Placa offboard 10/100/1000: WAN1 (VIVO 30mbps)
    Placa offboard 10/100/1000: WAN2 (NET Virtua 240mbps)

    Minha rede tem aproximadamente 45 máquinas conectadas.

    Eu ainda não configurei load balancing por conta deste problema, então eu seto manualmente o gateway padrão que eu uso.

    Quando eu estou navegando na conexão da vivo de 30mbps eu não tenho problemas. Porém quando ativo como gateway padrão a WAN da Net Virtua, ela falha bastante. A navegação vai tranquila e rápida (afinal, 240mbps) até que dá uma travada. Acesso algum site aleatório e ele retorna com erro como se não houvesse conexão. Dois segundos depois, dou um F5 e o site abre normalmente.

    O mesmo ocorre com o ping, claro. Eu pingo um domínio, ele já retorna o IP resolvido porém leva 3 ou 4 resposta até que comece a pingar. E tudo flui. Se eu paro o ping e volto a pingar ele já começa a pingar direto.

    Não me parece ser um problema de DNS, mas eu uso o DNS Resolver ativado. Ele pega o DNS da própria configuração geral do PFSense (os da Google pra quando conectado na Vivo e os da NET pra quando  o gateway saindo pela Virtua).

    Alguém me dá alguma luz do que pode ser?

    Já chamei a NET aqui, estiveram hoje pela manhã. Trocaram modem e o escambau e nada.

    Tive problemas similar ao seu com a NET e consegui resolver setando o MTU da interface.



  • Tive problemas similar ao seu com a NET e consegui resolver setando o MTU da interface.

    Qual MTU vc setou?



  • Teste o MTU da sua rede com ping -f (sem fragmentar) variando o tamanho do pacote (-l):

    C:\Temp>ping -f -l 1492 www.google.com

    Pinging www.google.com [172.217.29.196] with 1492 bytes of data:

    Packet needs to be fragmented but DF set.
    Packet needs to be fragmented but DF set.
    Packet needs to be fragmented but DF set.
    Packet needs to be fragmented but DF set.

    Ping statistics for 172.217.29.196:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

    C:\Temp>ping -f -l 1480 www.google.com

    Pinging www.google.com [172.217.29.196] with 1480 bytes of data:

    Packet needs to be fragmented but DF set.

    Ping statistics for 172.217.29.196:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

    C:\Temp>ping -f -l 1470 www.google.com

    Pinging www.google.com [172.217.29.196] with 1470 bytes of data:

    Reply from 172.217.29.196: bytes=64 (sent 1470) time=3ms TTL=54

    Ping statistics for 172.217.29.196:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 2ms, Maximum = 9ms, Average = 4ms

    C:\Temp>ping -f -l 1472 www.google.com

    Pinging www.google.com [172.217.29.196] with 1472 bytes of data:

    Reply from 172.217.29.196: bytes=64 (sent 1472) time=3ms TTL=54

    Ping statistics for 172.217.29.196:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 2ms, Maximum = 3ms, Average = 2ms

    C:\Temp>ping -f -l 1473 www.google.com

    Pinging www.google.com [172.217.29.196] with 1473 bytes of data:

    Packet needs to be fragmented but DF set.

    Ping statistics for 172.217.29.196:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

    C:\Temp>

    Fiz com pacotes de 1490, 1480, 1470, 1472 e 1473. O maior pacote que obtive sucesso é de 1472 bytes, então meu MTU é de 1472 bytes de dados + 28 bytes de cabeçalhos IP/ICMP = 1500

    Faça o mesmo na sua rede e encontre o MTU ideal para seu caso.



  • @becher estou tendo exatamente o mesmo problema que voce. Voce conseguiu resolver? Como?

    Obrigado desde ja!