Configurando interfaces de rede
Publicado por Willian Oliveira (última atualização em 01/09/2010)
[ Hits: 15.478 ]
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
Compilação automática do GCC-4.7.3 para Ubuntu 12.04+ 64 bits
cpb - Copia arquivos executáveis...
Instalação de impressora via ssh
Script para criação de usuários do Samba
Estatística dos MB's consumidos pela internet
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
redirecionando saida de comando touch para o AWK[AJUDA] (2)
Lançado Ubuntu 24.04 Final (5)
iso de sistema 32 bit em atividade (14)
conflicting values set for option signed-by regarding source (1)