Nagios – Checando erros de configuração

Share Button

English title: Nagios Checking errors of configuration. 

Configurar os arquivos do Nagios incluir novos hosts novos groups ou services é uma tarefa bem árdua. Principalmente quando se gerencia uma grande quantidade de hosts e services nesses arquivos.

Como muitos aqui devem sabem para o Nagios um ponto e virgula (;) fora do lugar correto resulta em não poder restartar o serviço novamente, sendo assim após uma alteração caso o usuário restart o serviço fica difícil descobrir onde esta o erro de configuração, e quando falamos de erro por integrante de um grupo de hosts fica muito mais difícil.

Recentemente procurando uma alternativa para auxiliar os usuários a encontrarem os erros com maior facilidade, acabe me deparando com uma maneira bem simples que o próprio Nagios disponibiliza.

O comando consiste em executar como root:

#[arquivo binario do nagios] -v [caminho do arquivo de conf padrão do nagios]

Caso a instalação do seu Nagios esteja feita no local padrão /usr/local basta executar como root:

#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

A saida do comando será:

Checking services...
Checked 100 services.
Checking hosts...
Checked 36 hosts.
Checking host groups...
Checked 12 host groups.
Checking service groups...
Checked 0 service groups.
Checking contacts...
Checked 5 contacts.
Checking contact groups...
Checked 5 contact groups.
Checking service escalations...
Checked 0 service escalations.
Checking service dependencies...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 34 commands.
Checking time periods...
Checked 5 time periods.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors: 0

Things look okay - No serious problems were detected during the pre-flight check

Com esse resultado é possível verificar as checagens de cada arquivo de configuração e no final é mostrando o total de Warnings e errors, informando também que não foi encontrado problemas dessa forma podemos dar o restart o serviço do para que as alterações tenham efeito.

#/etc/init.d/nagios restart

Filtro para PPPOE – APC-5M Intelbras / Deliberant

Share Button

English title: How to do PPPOE filter in Deliberant APC radios

Recentemente testando equipamentos da linha APC-5M Intelbras tive a necessidade de criar filtros de protocolo, no meu caso como utilizo somente PPPOE filtro todos os outros protocolos e deixo passar somente o protocolo PPPOE-DISCOVERY e PPPOE-SESSION.
Lembrando que desta mesma maneira é possível realizar qualquer filtro na camada 2 utilizando EBTABLES. Os comando servem para qualquer radio da linha APC Intelbras ou Deliberant.

Acesse o radio via ssh

#ssh 192.168.2.66 -l admin

Após o login é necessário acessar o modo shell para que possamos editar os arquivos de configuração

FIRM-5.94>shell

Para isso é necessário editar o aquivo /tmp/system.cfg.

#vi /tmp/system.cfg

Insira as seguintes linhas no final do aquivo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# @customConfigStart
ebtables.status = enabled
ebtables.rule.4.chain=FORWARD
ebtables.rule.4.protocol=0x8863
ebtables.rule.4.status=enabled
ebtables.rule.4.table=filter
ebtables.rule.4.target=ACCEPT
ebtables.rule.5.chain=FORWARD
ebtables.rule.5.protocol=0x8864
ebtables.rule.5.status=enabled
ebtables.rule.5.table=filter
ebtables.rule.5.target=ACCEPT
ebtables.filter.FORWARD.policy=DROP
# @customConfigStop

E para finalizar salve o arquivo com o comando.

#sysconf -w

Pronto agora é só reiniciar o equipamento para que as alterações sejam executadas.

CALCULANDO SUBNETS IPv6 COM SIPCALC

Share Button

Muito se tem falado em IPv6 com o esgotamento do IPv4. Para muitos o IPv6 ainda é um grande enigma pelo fato de ser “novo” e a primeira vista bem diferente do IPv4.

Para auxiliar a calcular sub-redes em IPv6 recentemente conheci uma ferramente que achei muito interessante, e particularmente a adotei para meus estudos e para meu dia a dia no trabalho.

O sipcalc é um projeto livre sobre licença GPL/BSD, que pode ser instalado na maioria dos sistemas operacionais derivados do UNIX, sua versão atual do pacote é 1.1.6.

Você poderá baixar o sipcalc AQUI ou instala-lo via apt-get em sistemas debian com o comando:

#apt-get install sipcalc.

Além do sipcalc também realizar calculo de subnet IPv4 como o conhecido ipcalc ele também disponibiliza de cálculos em IPv6.

Opções para IPv6:

IPv6 options:
  -e, --v4inv6			IPv4 compatible IPv6 information.
  -r, --v6rev			IPv6 reverse DNS output.
  -S, --v6split=MASK		Split the current network into subnets
				of MASK size.
  -t, --v6-standard		Standard IPv6. (default)

Visualizando uma classe IPv6

root@jorge:/home/jorge# sipcalc 2001:0DB8::/32 
-[ipv6 : 2001:0DB8::/32] - 0

[IPV6 INFO]
Expanded Address	- 2001:0db8:0000:0000:0000:0000:0000:0000
Compressed address	- 2001:db8::
Subnet prefix (masked)	- 2001:db8:0:0:0:0:0:0/32
Address ID (masked)	- 0:0:0:0:0:0:0:0/32
Prefix address		- ffff:ffff:0:0:0:0:0:0
Prefix length		- 32
Address type		- Aggregatable Global Unicast Addresses
Network range		- 2001:0db8:0000:0000:0000:0000:0000:0000 -
			  2001:0db8:ffff:ffff:ffff:ffff:ffff:ffff

-
root@jorge:/home/jorge#

Dividindo uma classe IPv6

root@jorge:/home/jorge# sipcalc -S /33 2001:0DB8::/32 
-[ipv6 : 2001:0DB8::/32] - 0

[Split network]
Network			- 2001:0db8:0000:0000:0000:0000:0000:0000 -
			  2001:0db8:7fff:ffff:ffff:ffff:ffff:ffff
Network			- 2001:0db8:8000:0000:0000:0000:0000:0000 -
			  2001:0db8:ffff:ffff:ffff:ffff:ffff:ffff

-
root@jorge:/home/jorge#

Com a opção -S podemos subdividir nossa classe /32 em quantas classes forem necessárias, vejamos o exemplo abaixo:

root@jorge:/home/jorge# sipcalc -S /64 2001:0DB8::/32
-[ipv6 : 2001:0DB8::/32] - 0

[Split network]
Network			- 2001:0db8:0000:0000:0000:0000:0000:0000 -
			  2001:0db8:0000:0000:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0001:0000:0000:0000:0000 -
			  2001:0db8:0000:0001:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0002:0000:0000:0000:0000 -
			  2001:0db8:0000:0002:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0003:0000:0000:0000:0000 -
			  2001:0db8:0000:0003:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0004:0000:0000:0000:0000 -
			  2001:0db8:0000:0004:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0005:0000:0000:0000:0000 -
			  2001:0db8:0000:0005:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0006:0000:0000:0000:0000 -
			  2001:0db8:0000:0006:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0007:0000:0000:0000:0000 -
			  2001:0db8:0000:0007:ffff:ffff:ffff:ffff

Nesse caso teremos mais de 65 mil classes possíveis contendo mais de 4 Bilhoẽs de endereços ao todo, ou seja um IPv4 todo.

Com esses resultados conseguimos visualizar onde a rede se inicia e termina, lembrando que no IPv6 não existe porção de rede e porção de host.

Podemos também gerar endereços para DNS reverso da seguinte maneira.

root@jorge:/home/jorge# sipcalc -r 2001:0DB8::/32
-[ipv6 : 2001:0DB8::/32] - 0

[IPV6 DNS]
Reverse DNS (ip6.arpa)	-
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.

-
root@jorge:/home/jorge#

O sipcalc também disponibiliza opção para integração IPv4 com IPv6 em casos de utilização de tuneis 6to4.

root@jorge:/home/jorge# sipcalc -e 2001:0DB8:: 
-[ipv6 : 2001:0DB8::] - 0

[V4INV6]
Expanded v4inv6 address	- 2001:0db8:0000:0000:0000:0000:0.0.0.0
Compr. v4inv6 address	- 2001:db8::0.0.0.0

-
root@jorge:/home/jorge#

Mais sobre o projeto SIPCALC AQUI

Também não deixe de ler ESSE artigo sobre endereçamento IPv6 disponibilizado pelo ipv6.br

Adicionando VLANs para gerencia no AirOs – Ubiquiti

Share Button

É muito comum a utilização de equipamentos Ubiquiti em redes com VLAN, e mesmo o equipamento possuindo uma interface WEB que disponibilize a criação de VLANs e atribuição de IPs, não é possível por essa interface inserirmos uma VLAN apenas para gerencia sem que o trafego seja tagueado.

Utilizo muito essa configuração para passar o trafego entre dois switches usando portas trunk, ou simplesmente para ter uma interface separada no equipamento apenas para gerencia.

Vejá o diagrama ilustrativo dessa utilização.
Diagrama2

Para isso incluo um script dentro do arquivo /etc/persistent/rc.poststart.

Para isso é necessário inicialmente configurar um IP qualquer no equipamento, podendo até ser o IP default, pois a interface WEB não aceita ter os campos IP GW e Mascara em branco. Feito isso basta alterar os dados do script abaixo conforme sua necessidade acessar o equipamento por ssh e colar o script no terminal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
echo "#------------CONFIGURACAO DAS VARIAVEIS----------------
 
VLAN="100"
IP="10.10.10.100"
MASC="255.255.255.0"
GW_NEW="10.10.10.254"
#-------------CONFIGURACAO DO GATEWAY ANTIGO-----------
GW_OLD="192.168.1.2" #aqui é necessário colocar o mesmo gateway que foi inserido na interface web
 
 
#----------------CONFIGURANDO VLANS--------------------
vconfig add br0 \$VLAN
ifconfig br0.\$VLAN \$IP netmask \$MASC
route del default gw \$GW_OLD
route add default gw \$GW_NEW" > /etc/persistent/rc.poststart;
cfgmtd -w -p /etc/;

Feito todos esses procedimento é apenas necessário dar um reboot no equipamento, preferencialmente a partir do terminal, já que você estará conectado a ele.

BACKUPS AUTOMATICOS DE RADIOS INTELBRAS, DELIBERANT E LIGOWAVE

Share Button

Os recém lançados radio Intelbras aqui no Brasil utilizam uma ferramente de gerenciamento que fornece backup integrado para todos os produtos chamada WNMS, à ferramenta também é utilizada lá fora por quem usa Deliberant ou LigoWave.

Porem se você é uma pessoa como eu, que não gosta de instalar varios gerenciadores para gerenciar cada marca de equipamento, tenho uma solução bem interessante e simples, que aqui mesmo tratei de como utiliza-la em produtos MikrotiK e Ubiquiti.

Para isso apenas necessitamos de um server ou mesmo desktop linux para realizar a tarefa.

Primeiro é necessário instalar o SSHPASS, para que não seja necessário inserir a senha manual a cada radio que iremos realizar o backup.

apt-get install sshpass

Pronto é só isso, basta dar o seguinte comando para gerar o backup.

sshpass -p “SENHA” ssh 192.168.2.66 -l admin “cat /tmp/system.cfg” > backup-radio.cfg

Onde:
SENHA = senha do dispositivo
192.168.2.66 = IP do dispositivo
admin = usuário do dispositivo
cat /tmp/system.cfg = arquivo onde figa guardada todas nossas configurações no dispositivo
backup-radio.cfg = arquivo que sera gerado localmente com todas as configurações salvas.

Podemos deixar a coisa mais automatica criando um arquivo com o nome “aps.txt” e um simples programa em Shell Script.

1
2
3
4
5
6
7
#!/bin/bash

for i in $(cat aps.txt); do
 
sshpass -p “SENHA” ssh $i -l admin “cat /tmp/system.cfg” > backup-radio-$i.cfg
 
done