Configurando interfaces de rede
Publicado por Willian Oliveira (última atualização em 01/09/2010)
[ Hits: 15.670 ]
Olá pessoal,
Eu sei que é muito fácil configurar interfaces de rede, mas eu acabei de criar um Shell-Script para fazer isso de uma forma mais interativa. Só tem algumas funcionalidades por enquanto, mas está bem funcional!
Por enquanto só tem isso:
* Ele cria e configura a interface de rede de forma que você não precisa saber muita coisa (estático e DHCP)
* Coloca IP automaticamente (se não colocado - como estático)
* Cria arquivos de configurações diferentes
* Une arquivos de configurações distintos
Esse script funciona bem no Debian Lenny 5.0.5, não testei em outras distribuições.
Para quem não sabe:
Ao baixar o arquivo, abra o terminal, e digite:
$ cd ~ (para ir para a pasta do seu usuário normal)
$ cd Downloads (ou outro diretório que o seu navegado salva os downloads)
$ sudo chmod 755 interfaces (dê permissões para o arquivo)
$ sudo ./interfaces (para executar o script)
Mas, cuidado!!! Esse script pode ajudar ou atrapalhar, use com consciência, pois o mesmo pode desconfigurar todas as suas interfaces de rede.
Eu acho que ele não funciona com interfaces wireless (pois não testei com a rede sem fio), quem testar e quiser compartilhar pode fica a vontade! =D
Desculpe qualquer erro de português do script, é que eu me preocupei com a parte funcional... xD
Abraços, até mais....
=D
Obs.: Não deixem de comentar.
#!/bin/bash #Pergunta se deseja sair sair() { echo -n "Você deseja sair ? [s/n] " read sairfun if [ $sairfun = "n" ] then $funcao else exit fi } #Fazer configuração estática estatico() { echo "" >> /etc/network/interfaces #Verifica se foi digitado algo nas variáveis, se não, ele preenche ou ignora if [ -z $ip ] then ip="192.168.0.2" echo "address $ip" >> /etc/network/interfaces else echo "address $ip" >> /etc/network/interfaces fi if [ -z $mascara ] then mascara="255.255.255.0" echo "netmask $mascara" >> /etc/network/interfaces else echo "netmask $mascara" >> /etc/network/interfaces fi if [ -z $rede ] then echo "#network $rede" >> /etc/network/interfaces else echo "network $rede" >> /etc/network/interfaces fi if [ -z $broadcast ] then echo "#broadcast $broadcast" >> /etc/network/interfaces else echo "broadcast $broadcast" >> /etc/network/interfaces fi if [ -z $gateway ] then echo "#gateway $gateway" >> /etc/network/interfaces else echo "gateway $gateway" >> /etc/network/interfaces fi if [ -z $mac ] then echo "#hwaddress ether $mac" >> /etc/network/interfaces else echo "hwaddress ether $mac" >> /etc/network/interfaces fi } #Fim do estático nova() { clear funcao="nova" #Verifica se existe uma pasta de configuração if [ -e /interfaces ] then echo "A pasta de configurações já existe" else mkdir /interfaces echo "A pasta de configurações foi criada" fi #Termina a verificação echo "============================================================" echo "| Nova configuração |" echo "============================================================" echo -n " Escreva o nome da configuração: [sem espaço] " read nome echo "============================================================" echo "" mii-tool echo "" echo "============================================================" echo -n " Escreva o nome da interface: [eth0] " read interface if [ -z $interface] then interface="eth0" fi echo "============================================================" echo -n " Escreva como deseja usar a interface: [dhcp/static] " read modo echo "============================================================" case $modo in static) echo -n "Digite o endereço IP (ex. 192.168.0.2): " read ip echo -n "Digite a mascara (ex. 255.255.255.0): " read mascara echo -n "Digite a rede (não necessário): " read rede echo -n "Digite o endereço broadcast (não obrigatório): " read broadcast echo -n "Digite o gateway (não obrigatório): " read gateway echo -n "Digite o mac (não obrigatório): " read mac ;; dhcp) echo "Usando configuração DHCP" ;; *) echo "Esse modo não é válido" echo "Usando DHCP" modo="dhcp" ;; esac echo "============================================================" echo -n "Apagar todo arquivo de configuração? [s/n] " read apagar #Você não deseja apagar o arquivo todo if [ $apagar = "n" -o $apagar = "não" ] then apagar="" echo "" >> /etc/network/interfaces echo "#Configuração: $nome" >> /etc/network/interfaces echo "" >> /etc/network/interfaces echo "auto $interface" >> /etc/network/interfaces echo "iface $interface inet $modo" >> /etc/network/interfaces if [ $modo = "static" ] then estatico fi /etc/init.d/networking restart echo "" cat /etc/network/interfaces echo "" echo -n "Salvar a configuração como está [s/n] " read salvar if [ $salvar = "s" ] then cp /etc/network/interfaces /interfaces/$nome echo "Salvo" exit else echo "Não salvo" exit fi fi #Se for diferente de "n" ou "não" o script aparagá o arquivo if [ $apagar="s" ] then apagar="" echo "#Configuração: $nome" > /etc/network/interfaces echo "" >> /etc/network/interfaces echo "auto $interface" >> /etc/network/interfaces echo "iface $interface inet $modo" >> /etc/network/interfaces if [ $modo = "static" ] then estatico fi /etc/init.d/networking restart echo "" cat /etc/network/interfaces echo "" echo -n "Salvar a configuração como está [s/n] " read guardar if [ $guardar = "s" ] then guardar="" cp /etc/network/interfaces /interfaces/$nome echo "Salvo" sair else echo "Não salvo" sair fi fi } #Função para usar unir uma interface salva com a atual unir() { clear funcao="unir" #Verifica se a pasta existe, se não ele cria uma if [ -e /interfaces ] then echo "A pasta de configurações já existe" else mkdir /interfaces echo "A pasta de configurações foi criada" fi #Termina a verificação da pasta #Menu da função unir echo "===================================================" echo "| Escolha o arquivo para unir |" echo "===================================================" echo "" ls /interfaces | more echo "" echo "===================================================" echo "" echo -n "Escolha: " read escolha if [ -e /interfaces/$escolha ] then echo "" >> /etc/network/interfaces cat /interfaces/$escolha >> /etc/network/interfaces cat /etc/network/interfaces /etc/init.d/networking restart else echo "Arquivo não existe" sleep 2 $funcao fi } #Função para usar as interfaces configuradas configurada() { clear funcao="configurada" #Verifica se a pasta existe, se não ele cria if [ -e /interfaces ] then echo "A pasta de configurações já existe" else mkdir /interfaces echo "A pasta de configurações foi criada" fi #Termina a verificação da pasta #Menu da fução configurada echo "===================================================" echo "| Usar uma interface configurada |" echo "===================================================" echo "| Qual configuração você deseja usar: |" echo "===================================================" echo "" ls /interfaces | more echo "" echo "===================================================" echo -n "Escolha: " read escolha if [ -e /interfaces/$escolha ] then cp /interfaces/$escolha /etc/network/interfaces /etc/init.d/networking restart sair else echo "Essa configuração não existe!" sleep 2 $funcao fi } menu() { clear funcao="menu" #Menu principal clear echo "===================================================" echo "| O que você deseja fazer: |" echo "===================================================" echo "| 1) Nova configuração |" echo "| 2) Usar configuração |" echo "| 3) Unir aquivo salvo com a configuração |" echo "===================================================" echo "| q) Sair |" echo "===================================================" echo "" echo -n "Opção escolhida: " read fazer case $fazer in 1) clear nova ;; 2) clear configurada ;; 3) clear unir ;; q) clear exit ;; *) echo -n "Opção inválida" sleep 2 menu esac } #Iniciar a função do menu principal menu
Desenvolvimento Java Para para máquinas "leves" (ou pra quem não quer eclipse, :P)
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta