Verificando roteamento em vários servidores Linux
Publicado por Sergei Martao (última atualização em 14/12/2015)
[ Hits: 2.809 ]
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 ""
Lista de Selecao de arquivos no Dialog
Faça download de vídeos do YouTube, convertendo para MPEG
Nenhum comentário foi encontrado.
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









