Verificando roteamento em vários servidores Linux
Publicado por Sergei Martao (última atualização em 14/12/2015)
[ Hits: 2.458 ]
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 ""
easydl - download de arquivos em forma de URLs
Script para preparar o pc para receber e gerenciar celular MOTOROLA (refeito o script)
Tradutor: ept ( English to Portuguese )
Abrindo Sessão Cluster Beowulf
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (16)
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)