Verificando roteamento em vários servidores Linux
Publicado por Sergei Martao (última atualização em 14/12/2015)
[ Hits: 2.727 ]
Homepage: -
Download 6329.verifica_rotas.sh
Script bem simples para conectar em vários hosts automaticamente usando SSH e pesquisar por rotas tanto no arquivo interfaces quanto as que estão em execução (route -n).
#!/bin/bash
#
# Script para verificar o roteamento em varios servidores Linux automaticamente.
# O ideal é que no servidor que executar o script possua chave publica compartilhada com os demais servidores
# assim não pedira senha toda na conexão ssh.
#
# Sergei A. Martão 06/12/15
# Contador do vetor, usado para determinar o numero de servidores dentro do vetor.
let s=$s+1
# Variavel para adicionar o hostname do servidor, usado para para mostrar na tela.
# Exemplo, SERVER[$s]="FWACME"
SERVER[$s]=""
# IP do servidor usado para conectar via ssh pesquisar as rotas no arquivo interface.
#IP[$s]="192.168.0.1"
IP[$s]=""
# Para adicionar vários servidores usar a seguinte sintaxe.
#let s=$s+1
#SERVER[$s]="SERVER1"
#IP[$s]="192.168.0.254"
#let s=$s+1
#SERVER[$s]="SERVER2"
#IP[$s]="192.168.1.254"
# Porta ssh para conectar nos servidores.
# Exemplo PORTA="22"
PORTA=""
# Caminho onde o arquivo de log sera salvo.
# Exemplo, CAMINHO="/tmp/verificarota/"
CAMINHO=""
# Nome do arquivo de log
# Exemplo, ARQ="rotas"
ARQ=""
#Para ignorar rotas comentadas, adicione algum conteudo na variavel a baixo.
# caso não precise deixe vazio
# Exemplo, coment=1 ou coment=
coment=
# Verificando se a string coment esta vazia.
if [ -z $coment ];then rcoment="stringvazia"; else rcoment="^#";fi
# Criando o diretorio para armazenar as rotas e imprimir na tela.
mkdir -p $CAMINHO
# Entrada para variavel A1.
read -p "# Entre com uma rede, IP ou comentario para pesquisa no arquivo interfaces: " A1
# Pesquisando nos hosts.
for((i=1; i<=${#IP[@]}; i++));
do
echo "" > $CAMINHO/$ARQ_${SERVER[$i]}
# Pesquisando as rotas ativas no servidor.
echo "route -n | grep $A1" | ssh ${IP[$i]} -p $PORTA >> $CAMINHO/$ARQ_${SERVER[$i]} 2>/dev/null
# Pesquisando as rotas no arquivo interfaces.
echo "grep -i $A1 /etc/network/interfaces | grep -i route | grep -iv $rcoment" | ssh ${IP[$i]} -p $PORTA >> $CAMINHO/$ARQ_${SERVER[$i]} 2>/dev/null
done
# Limpando a tela antes de imprimir.
clear
echo "#------------------ INICIO -------------------#"
echo ""
# Mostrando as rotas
for((i=1; i<=${#IP[@]}; i++));
do
echo "#----- ${SERVER[$i]} -----#" >> $CAMINHO/$ARQ
echo ""
# Mostrando apenas as rotas desejadas.
grep -i "$A1" $CAMINHO/$ARQ_${SERVER[$i]} --color
echo ""
done
echo ""
echo "#-------------------- FIM --------------------#"
echo ""
retira espaços em branco de arquivos
Configuração Automática de Servidor de Arquivos
tag-mp3 - Um script para editar e/ou visualizar algumas tags ID3 de arquivos MP3
Instalador do Nagios no Fedora 14 e CentOS 5
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Scripts ou binários [RESOLVIDO] (3)
VOL já não é mais como antes? (10)
Pergunta: Meu teclado não está respondendo direito como e consertar? ... (4)









