Adicionando rotas de forma massiva a partir de um arquivo

Publicado por Sergei Martao em 06/11/2015

[ Hits: 3.599 ]

 


Adicionando rotas de forma massiva a partir de um arquivo



Às vezes precisamos desviar o tráfego de um determinado serviço para um segundo link de internet menos utilizado.
A forma mais comum é criar uma rota para um host de destino apontando para o segundo gateway, porém algumas empresas têm tantos hosts que se torna quase inviável fazer isso de forma manual, alguns exemplos são:
Contudo existe uma forma de automatizar esse processo, nessas ocasiões o comando "for" salva várias horas de digitação.

1 - Criei um arquivo para adicionar as redes e hosts que precisam ter o tráfego desviado:

# vim /tmp/redes

2 - Adicionei as redes e hosts, exemplo:

31.13.64.51
50.92.225.64/27
50.133.94.46
62.62.198.204/30

3 - Usando de exemplo o IP do Gateway de internet é 200.200.200.1 e a interface de saída eth0, podemos usar os seguintes comandos para adicionar as rotas.

Adicionado hosts:

# for i in `cat /tmp/redes | grep -v [/]`; do route add -host $i gw 200.200.200.1 dev eth0; done

Adicionando redes:

# for i in `cat /tmp/redes | grep [/]`; do route add -net $i gw 200.200.200.1 dev eth0; done

Detalhando:

for i in `cat /tmp/redes | grep -v [/]`;
  • O for é responsável por ler o arquivo e jogar o valor de cada linha na variável "i".
  • O "grep -v [/]" traz tudo que não contiver barra, ou seja, apenas os host.
  • O "grep [/]" traz apenas o que contiver barra, apenas as redes.

do route add -host $i gw 200.200.200.1 dev eth0;

Inicia a repetição do "for", assim o conteúdo da variável $i se torna o conteúdo do arquivo e adiciona rota para todos os hosts e redes.

O "done" finaliza o for.

A saída dos comandos será:

route add -host 31.13.64.51 gw 200.200.200.1 dev eth0
route add -host 50.133.94.46 gw 200.200.200.1 dev eth0
route add -net 50.92.225.64/27 gw 200.200.200.1 dev eth0
route add -net 62.62.198.204/30 gw 200.200.200.1 dev eth0


Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Como desativar o IPv6 no Debian 8

Instalando o netatop no Debian

Curso de Redes IPv6 com Material de Auto-Aprendizado Disponibilizado Livre

Ferramentas do Kali no Ubuntu

Instalar programas no Windows pela rede Samba

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts