Configurando interfaces de rede
Publicado por Willian Oliveira (última atualização em 01/09/2010)
[ Hits: 15.496 ]
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
Bloqueando ataque de força bruta em ssh através de script bash
Alterar o papel de parede aleatoriamente
Firewall ideal para Servidor de Arquivos (iptables).
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando e usando o Dconf Editor, o "regedit" para Linux
Como instalar o navegador TOR no seu Linux
Instalando Zoom Client no Ubuntu 24.04 LTS
problemas com artefatos na instalação (29)
Manjaro Substituindo Ubuntu no Desktop (13)
Dificuldade em ler binário (18)
Encriptografa... as particoes com LUKS, o que poderia dar errado? (4)