Respostas no Fórum
- AutorPosts
skate_forever
ParticipanteEstá normal, sendo que ele apresenta problemas na hora que um link cai, o outro cai também, ainda não achei a solução para isso, se alguém souber, é só falar.
🚀 Apresentando o Hotspot Beacon! 🚀
Desbloqueie o potencial do seu Wi-Fi com o Hotspot Beacon. Personalize sua página de acesso para mostrar anúncios, promoções ou informações e engajar seus clientes, impulsionando o seu negócio.
💡 Principais Funcionalidades:
- Interface amigável e intuitiva
- Opções de personalização completas para sua marca
- Gerenciamento de propagandas e promoções
- Integração fácil com sistemas existentes via API
- Limitação de velocidade ou largura de banda por usuário
- Controle de acesso por horário
🔗 Confira o site para saber mais: https://hotspotbeacon.comskate_forever
ParticipanteSe alguém leu, este post, a resposta é sim, consegui resolver.
Configure a interface que será o link principal, depois vá em:
Rede > Interfaces
E configure o outro link, normalmente.
Depois, logue como root via ssh e execute:
# route del default
# ip route add default equalize scope global nexthop via IP_LINK1 dev IF_LINK1 weight 1 nexthop via IP_LINK2 dev IF_LINK2 weight 1
Adicione no arquivo /var/efw/inithooks/start.local estes 2 comandos e seja feliz.
Não entendi o motivo de não ter funcionado nas 2 primeiras vezes, mas agora depois de reconfigurar com calma e analisar tudo pela 3 vez, passou normalmente e agora está funcionando.
skate_forever
ParticipanteBoa tarde,
Achei as soluções, sendo que estou com problemas. No [1] ao tentar executar o comando pela segunda vez indicando o ip e a interface do segundo link, ele informa:
RTNETLINK answers: File exists
Nos [2] e [3], ao adicionar a nova rota, o mesmo não passa a conexão.
Se alguém tiver ideias/sugestões, fico grato.
Segue os links:
[1] http://www.efwsupport.com/index.php?topic=54.0
skate_forever
ParticipanteGalera, seguinte…
Usando traceroute, route e iptables, para verificar se o Endian estava tratando corretamente as rotas, observei que ele não estava especificando as metricas do route corretamente e nem mostra o gateway do segundo link.
Vou continuar analisando aqui e tentando achar a solução.
Se alguém leu, valeu pela atenção.
dezembro 1, 2010 às 5:28 pm em resposta a: Erro autenticação em proxy não transparente – EFW 2.4.1 + AD 2008 + IE8 #6460skate_forever
ParticipanteBoa dica EvandroLR, estava procurando por essa solução! x)
skate_forever
ParticipanteCara, só atualizei alguns pacotes… Em um post aqui falando sobre a placa de rede Agere System, tem lá os pacotes que usei pra atualizar, como centeno falou.
Mas foi preciso atualizar o ulogd pra ter os logs novamente.
skate_forever
ParticipanteResolvi o problema…
O problema se dava no ulogd que não estava iniciando, foi só atualizar e pronto.
Log do firewall novamente.
skate_forever
ParticipanteCaso você tenha realizado uma atualização e tenha apresentado problemas. Reinstale a versão 2.4.0 e não faça nenhuma atualização e realize os passos abaixo.
Faça o download dos pacotes chkconfig-1.3.11.2-1.i586.rpm initscripts-2.4.2-0.endian12.i586.rpm ipac-ng-1.33-2.endian7.i586.rpm iptables-1.4.8-1.endian16.i586.rpm, no site, http://updates.endian.org/stable/pool/ coloque seu e-mail e a senha community.
Depois execute os comandos a seguir:
# cd pacotes
# rpm -Uvh chkconfig-1.3.11.2-1.i586.rpm initscripts-2.4.2-0.endian12.i586.rpm ipac-ng-1.33-2.endian7.i586.rpm iptables-1.4.8-1.endian16.i586.rpm
# reboot
# cd EFW-COMMUNITY-2.4-201006071652/RPMS/
# rpm -e --nodeps kernel kernel-modem-drivers-2.4-15_2.6.27.19_72.e25.i586 kernel-module-openswan-2.6.24-4.endian9_2.6.27.19_72.e25.i586 kernel-module-r8168-8.016.00-3.endian4_2.6.27.19_72.e25.i586
# rpm -Uvh kernel-PAE-2.6.27.19-72.e25.i686.rpm kernel-PAE-devel-2.6.27.19-72.e25.i686.rpm kernel-modem-drivers-PAE-2.4-15_2.6.27.19_72.e25.i586.rpm kernel-module-openswan-PAE-2.6.24-4.endian9_2.6.27.19_72.e25.i586.rpm kernel-module-r8168-PAE-8.016.00-3.endian4_2.6.27.19_72.e25.i586.rpm
# rebootTenta isso ai
Aproveite e baixe o ulogd-2.0.0-0.endian9.i586.rpm e atualize.
skate_forever
ParticipanteTente adicionar o ip, hostname e o dominio do AD em:
Rede > Edit Host
skate_forever
ParticipanteVocê já tentou compilar usando a versão 2.4.0????
E quais os erros de dependência?
Colando os erros são mais fáceis de resolver.
skate_forever
ParticipanteMoso, também tentei na versão 2.4.1, mas não tinha o srpm ainda.
Veja se existe algum glibc-devel dentro desses pacotes.. Se não existir, pegue da versão 2.4.0 e faça esse procedimento acima.
Fiz na 2.4.0 e funcionou tranquilamente.
skate_forever
ParticipanteBruno, reportei o bug e eles já resolveram.
Espero que lancem a versão final do 2.4.1, com essa correção.
skate_forever
ParticipantePois é Bruno, passei por maus bocados pesquisando até conseguir achar isso ai.
Agora estou vendo pra reportar isso ao Endian para eles corrigirem isso.
Espero que aceitem.
skate_forever
ParticipanteSe alguém tiver mais alguma ideia sobre isso, seria bom acrescentar neste tópico.
O código identado fica:
def getprofiles():
if file_exists(DANSGUARDIAN_SETTINGS):
profiles = glob(DANSGUARDIAN_SETTINGS)
else:
profiles = glob(DANSGUARDIAN_SETTINGS_DEFAULT)
profiles += glob("%s/*/settings" % DANSGUARDIAN_PROFILES)
profiles = sorted(map(lambda p: os.path.dirname(p), profiles))
debug(profiles)
return profilesskate_forever
ParticipanteAo aplicar as políticas no proxy o mesmo deixava de funcionar apropriadamente, aplicando políticas erradas ou bloqueando tudo.
Após várias análises de log e arquivos de configuração ficou constatado um problema no script feito em python (restartdansguardian.py).
O problema está na listagem de diretórios que está sendo considerada como string.
Quando o número de content filters ultrapassava 9, chegando a 10 ou mais, a listagem ficava invertida.
Listagem normal em numeral: 1, 2, 3, 4, 5, 6, 7, 8, 9 e 10.
Listagem utilizando string: 1, 10, 2, 3, 4, 5, 6, 7, 8 e 9.
Isso faz com que o dansguardian gere as configurações de forma incorreta, jogando para a variável groupname um valor totalmente diferente das configurações do content filter.
Por exemplo, o arquivo de configuração dansguardianf10.conf responsável pelo grupo Segurança, tinha a variável groupname com o valor “Custo content2”.
A resolução do problema se deu seguindo os seguintes passos, que deram norte para o debug do script python:
# ls -1 /etc/dansguardian/profiles/ [ Aqui ele mostra a listagem como se fosse string. ]
# ls -1 /etc/dansguardian/profiles/ | sed “s/^(.)$/01/” | sort | sed “s/^0(.)$/1/” [ Aqui vimos como a listagem deveria ser. ]
OBS.: A listagem pode ser feita com sort -n.
Após verificar o script, não foi achado nada.
Ao executar o comando abaixo, tivemos a resposta:
# restartdansguardian -d [ Mostrou onde se encontrava o erro do script. ]
Agora ao entrar no arquivo /usr/local/bin/restartdansguardian.py
# vi /usr/local/bin/restartdansguardian.py
Procuramos pela linha que continha “.Include” e chegando a função, def getprofiles() responsável pela criação dos content filters.
O processo de debug se deu ao executar linha por linha da função getprofiles.
def getprofiles():
if file_exists(DANSGUARDIAN_SETTINGS):
profiles = glob(DANSGUARDIAN_SETTINGS)
else:
profiles = glob(DANSGUARDIAN_SETTINGS_DEFAULT)
profiles += glob(“%s/*/settings” % DANSGUARDIAN_PROFILES)
profiles = sorted(map(lambda p: os.path.dirname(p), profiles))
debug(profiles)
return profiles
O processo.
# python
Python 2.4.6 (#1, Nov 10 2009, 07:02:03)
[GCC 3.4.6 20060404 (e 3.4.6-10.endian8)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import os
>>> import glob
>>> profile = glob.glob (“/var/efw/dansguardian/settings”)
>>> profiles = glob.glob (“/var/efw/dansguardian/settings”)
>>> profiles += glob.glob (“%s/*/settings” % “/var/efw/dansguardian/profiles”)
>>> profiles
[‘/var/efw/dansguardian/settings’, ‘/var/efw/dansguardian/profiles/content2/settings’,
‘/var/efw/dansguardian/profiles/content3/settings’, ‘/var/efw/dansguardian/profiles/content4/settings’,
‘/var/efw/dansguardian/profiles/content5/settings’, ‘/var/efw/dansguardian/profiles/content6/settings’,
‘/var/efw/dansguardian/profiles/content7/settings’, ‘/var/efw/dansguardian/profiles/content8/settings’,
‘/var/efw/dansguardian/profiles/content9/settings’, ‘/var/efw/dansguardian/profiles/content10/settings’,
‘/var/efw/dansguardian/profiles/content11/settings’, ‘/var/efw/dansguardian/profiles/content12/settings’,
‘/var/efw/dansguardian/profiles/content13/settings’, ‘/var/efw/dansguardian/profiles/content14/settings’,
‘/var/efw/dansguardian/profiles/content15/settings’, ‘/var/efw/dansguardian/profiles/content16/settings’]
>>> profiles = sorted(map(lambda p: os.path.dirname(p), profiles))
>>> profiles
[‘/var/efw/dansguardian’, ‘/var/efw/dansguardian/profiles/content10’,
‘/var/efw/dansguardian/profiles/content11’, ‘/var/efw/dansguardian/profiles/content12’,
‘/var/efw/dansguardian/profiles/content13’, ‘/var/efw/dansguardian/profiles/content14’,
‘/var/efw/dansguardian/profiles/content15’, ‘/var/efw/dansguardian/profiles/content16’,
‘/var/efw/dansguardian/profiles/content2’, ‘/var/efw/dansguardian/profiles/content3’,
‘/var/efw/dansguardian/profiles/content4’, ‘/var/efw/dansguardian/profiles/content5’,
‘/var/efw/dansguardian/profiles/content6’, ‘/var/efw/dansguardian/profiles/content7’,
‘/var/efw/dansguardian/profiles/content8’, ‘/var/efw/dansguardian/profiles/content9’]
A descoberta.
>>> profile = glob.glob (“/var/efw/dansguardian/settings”)
>>> profiles = glob.glob (“/var/efw/dansguardian/settings”)
>>> profiles += glob.glob (“%s/*/settings” % “/var/efw/dansguardian/profiles”)
>>> profiles
[‘/var/efw/dansguardian/settings’, ‘/var/efw/dansguardian/profiles/content2/settings’,
‘/var/efw/dansguardian/profiles/content3/settings’, ‘/var/efw/dansguardian/profiles/content4/settings’,
‘/var/efw/dansguardian/profiles/content5/settings’, ‘/var/efw/dansguardian/profiles/content6/settings’,
‘/var/efw/dansguardian/profiles/content7/settings’, ‘/var/efw/dansguardian/profiles/content8/settings’,
‘/var/efw/dansguardian/profiles/content9/settings’, ‘/var/efw/dansguardian/profiles/content10/settings’,
‘/var/efw/dansguardian/profiles/content11/settings’, ‘/var/efw/dansguardian/profiles/content12/settings’,
‘/var/efw/dansguardian/profiles/content13/settings’, ‘/var/efw/dansguardian/profiles/content14/settings’,
‘/var/efw/dansguardian/profiles/content15/settings’, ‘/var/efw/dansguardian/profiles/content16/settings’]
>>> profiles = map(lambda p: os.path.dirname(p), profiles)
>>> profiles
[‘/var/efw/dansguardian’, ‘/var/efw/dansguardian/profiles/content2’,
‘/var/efw/dansguardian/profiles/content3’, ‘/var/efw/dansguardian/profiles/content4’,
‘/var/efw/dansguardian/profiles/content5’, ‘/var/efw/dansguardian/profiles/content6’,
‘/var/efw/dansguardian/profiles/content7’, ‘/var/efw/dansguardian/profiles/content8’,
‘/var/efw/dansguardian/profiles/content9’, ‘/var/efw/dansguardian/profiles/content10’,
‘/var/efw/dansguardian/profiles/content11’, ‘/var/efw/dansguardian/profiles/content12’,
‘/var/efw/dansguardian/profiles/content13’, ‘/var/efw/dansguardian/profiles/content14’,
‘/var/efw/dansguardian/profiles/content15’, ‘/var/efw/dansguardian/profiles/content16’]
>>>
OBS.: The glob module finds all the pathnames matching a specified pattern according to the rules used by the Unix shell.
E ao debugar a linha 174 do script, temos o responsável pelo problema, o sorted.
A solução foi a seguinte. Substituímos a linha abaixo:
profiles = sorted(map(lambda p: os.path.dirname(p), profiles))
Por essas:
#profiles = sorted(map(lambda p: os.path.dirname(p), profiles))
profiles = map(lambda p: os.path.dirname(p), profiles)
Restart no dansguardian e verificamos que as políticas estavam corretas.
Testes foram feitos e mostraram que as políticas agora estão sendo aplicadas corretamente.
PS.: Agradecer ao Enderson Maia, que ajudou no debug do script. x)
- AutorPosts