Traffic Shapper Tunel Openvpn



  • Boa tarde.
    Estou tentando implementar Traffic Shapper com Openvpn.
    Pois bem, preciso que as filiais quando for utilizar o sistema que esta na matriz acessando via openvpn tenha uma garantia de banda.
    Então iniciei a configuração na matriz, garantir o upload, pois as filiais vão fazer download de do software que esta na matriz (na matriz tenho q garantir o upload).
    Pois bem comecei o estes de garantia de upload da matriz.
    Via web consigo fazer um download da aplicação que esta na matriz (trafego upload), esta caindo na fila 100%.
    O problema e quando faço download via openvpn, o trafego não cai na fila, ele cai na fila Default.
    Tentei na aba Floating selecionar a interface openvpn e também na aba em rules da Openvpn escolher a fila porem não cai na fila de maneira alguma.
    Alguém ja conseguiu fazer algo desta forma?
    Desde já agradeço



  • Gilmar, nos testes que venho fazendo, uma fila configurada numa interface não se aplica em outra interface (o que eu acho estranho já que num livro do openBSD, se não me engano, diz que isso é possível), enfim, eu crio uma nova interface para a VPN em Interfaces -> Assing… e depois configuro as filas na interface da VPN em Firewall -> traffic shapper.
    A banda configurada na interface da VPN deve ser a mesma do seu link.
    Depois disso é só aplicar as regras com as filas.
    Lembrando que as filas são aplicadas no estado da conexão e apenas no tráfego de saída (outbound), portanto, se você envia um tráfego de uma ponta, na outra ela vai voltar na fila padrão, a menos que você configure uma regra pro tráfego de entrada na vpn, assim o estado da conexão criado aplicará a fila no tráfego de volta (upload).
    Se precisar de mais ajuda poste suas regras.

    Obs: No servidor VPN não é possível criar uma fila pra garantir upload na VPN; pelo que intendi, o cliente estabelece o tunel e dai por diante o tráfego acontece dentro do tunel, ou seja, o tráfego acontece numa direção apenas (cliente -> servidor), por isso a necessidade de criar a interface VPN para controlar o tráfego dentro dela.



  • Kelsen obrigado pela atenção.
    Eu utilizava desta forma ai. criava um interface virtual e usava a configuração no tunel nela, Interfaces -> Assing… e funciona bem.
    Porem na versão 2.1.2 e 2.2 alpha (Este nem é possível configurar uma interface virtual utilzando openvpn,) caso eu criar esta interface para o tunel ele cria rotas ipv6 automaticamente, o que acho estranho pois estou utilizando ipv4.
    Então hoje nos meus teste consegui fazer fazer o trafego vindo da vpn cair na fila, porem ele não ta respeitando o limite da fila.
    Criei as filas tanto na LAN como na WAN e em Firewall: Rules ->  Floating utilizei a fila da LAN, pois se eu utilizar a fila que criei na WAN e mesma só controla upload via WAN e não via openvpn.
    Estou anexando ums print para você da uma olhada.
    Desta forma que criei ele cai na fila, porem não ta respeitando o limite do AltQ.
    Fiz o teste mudando aplicação do Floating para usar a Fila da Wan, ai neste caso ele garante o upload somente via WAN.
    Caso eu não consiga decobrir o motivo do pq esta caindo na fila mas o download via wget ou via scp esta maior iria tentar um limiter como solução.

    ![Captura de tela de 2014-04-12 16:59:40.png](/public/imported_attachments/1/Captura de tela de 2014-04-12 16:59:40.png)
    ![Captura de tela de 2014-04-12 16:59:40.png_thumb](/public/imported_attachments/1/Captura de tela de 2014-04-12 16:59:40.png_thumb)
    ![Captura de tela de 2014-04-12 17:04:59.png](/public/imported_attachments/1/Captura de tela de 2014-04-12 17:04:59.png)
    ![Captura de tela de 2014-04-12 17:04:59.png_thumb](/public/imported_attachments/1/Captura de tela de 2014-04-12 17:04:59.png_thumb)



  • Em anexo um print das filas sendo utilizadas.
    E o wget fazedo um download via tunel.
    Interessante que na fila mostrada pelo altq e menor do que esta ocorrendo via wget.

    ![Captura de tela de 2014-04-12 17:06:01.png](/public/imported_attachments/1/Captura de tela de 2014-04-12 17:06:01.png)
    ![Captura de tela de 2014-04-12 17:06:01.png_thumb](/public/imported_attachments/1/Captura de tela de 2014-04-12 17:06:01.png_thumb)



  • @gilmarcabral:

    Kelsen obrigado pela atenção.
    Eu utilizava desta forma ai. criava um interface virtual e usava a configuração no tunel nela, Interfaces -> Assing… e funciona bem.
    Porem na versão 2.1.2 e 2.2 alpha (Este nem é possível configurar uma interface virtual utilzando openvpn,) caso eu criar esta interface para o tunel ele cria rotas ipv6 automaticamente, o que acho estranho pois estou utilizando ipv4.

    Não sei se intendi bem, vc ta dizendo que não é possível criar uma interface pro openVPN?
    Eu acabei de atualizar alguns Firewalls pra 2.1.2 e é possível.

    Então hoje nos meus teste consegui fazer fazer o trafego vindo da vpn cair na fila, porem ele não ta respeitando o limite da fila.
    Criei as filas tanto na LAN como na WAN e em Firewall: Rules ->  Floating utilizei a fila da LAN, pois se eu utilizar a fila que criei na WAN e mesma só controla upload via WAN e não via openvpn.

    É como eu te disse, o tráfego passa dentro do túnel e não pela interface WAN, você precisa criar a interface VPN e atribuir as filas e regras nela.

    Estou anexando ums print para você da uma olhada.
    Desta forma que criei ele cai na fila, porem não ta respeitando o limite do AltQ.

    Pra você impor limite na banda tem de configurar o Upperlimit do HFSC, no seu print não dá pra ver se fez isso; eu acredito que você não vai conseguir fazer isso funcionar criando regras na LAN.



  • E possível criar a interface virtual ate na 2.1.2, porem ele cria uma rota ipv6 automaticamente la no roteador.
    A solução seria desabilitar o suporte a ipv6 na gui do pfsense, mas ai o squid não roda.

    No pfsense 2.2 alpha que não é possível criar este interface virtual pelo menos por enquanto. Postei isso como um bug mas tenho receio que isso seja não seja mais possível implementar esta função.

    Desde já agradeço.



  • Pra você impor limite na banda tem de configurar o Upperlimit do HFSC, no seu print não dá pra ver se fez isso; eu acredito que você não vai conseguir fazer isso funcionar criando regras na LAN.

    Não configurei o HFSC pois configurei as filas com CBQ.



  • Você marcou opção Borrow? Se essa opção estiver ativa a fila pode compartilhar banda de outras filas.
    Quanto ao squid não funcionar sem ipv6 eu to por fora, utilizo aqui com opção de ipv6 desmarcada e squid3.



  • Este opção de Borrow aparece quando este utilizando CBC, e sim estava desmarcado quando testei com CBC
    Então comecei os teste utilizando o HFSC que no caso não tem esta opção, com o HFSC .
    Sobre o squid3 ai funcionar desmarcando a opção de suporte a IPV6 na GUI do pfsense, Você esta utilizando em modo transparente?
    Agradeço atenção novamente.



  • Com o HFSC você pode utilizar o Upperlimit.
    Não utilizo modo transparante.



  • Sobre o squid que não rola com o suporte IPV6 desabilitado na GUI é o squid3-dev.
    O squid3 realmente funciona.
    O HFSC não localizei a opção Upperlimit, ela fica dentro nas regras de AltQ



  • Quando você cria a fila, existem três serviços de curva, Real Time, Upperlimit e Link Share.
    Configura m2 do upperlimit com o limite máximo de banda que você quer disponibilizar.



  • Obrigado.
    Pelos teste de traffic shapper criar as filas nas interfaces do tunel openvpn e em seguida criando a regra de math na aba Floating utilizando a interface virtual openvpn e aplicando a fila nela funciona de boa.
    Obrigado.