Configuração de rede wireless (WPA)
Publicado por Dix (última atualização em 01/08/2014)
[ Hits: 3.102 ]
Criei um script básico para configurar a interface wireless desejada. Para isso, basta alterar as variáveis ou criar uma função personalizada seguindo as que já estão lá. É só não esquecer que alterar o "case" no final do script.
#!/bin/bash # # Shell Script - Configurador de Rede Wireless 3.0 by huddioli # ======================= # by huddioli - 2014-07-29 # # Testado no bash Debian 7 # # Utiliza o "iwconfig", "dhclient", "wpa_passphrase", "wpa_supplicant" # E o script "firewall.sh"; Pode ser personalizado, basta colocar o seu script pessoal # Esse Script foi criado para conectar a redes Wireless com senha WPA # Tirei as funcoes das senhas WEP, pois esse metodo é muito vulneravel # # Para executar o Script: rede_vol <opçoes> # # VARIAVEIS # Para onde irao as saidas de erros LOG_ERRO='/tmp/erro_script_rede.log' # Para onde irao as saidas padrao dos programas LOG_REDE='/tmp/script_rede.log' # Lista de Interfaces Eth e Wlan IFACES_1='/tmp/ifaces.txt' # Arquivo Temporario IFACES_2='/tmp/ifaces2.tmp' # Hora definida para registrar no arquivo de LOG AGORA=`date +%Y_%m_%d_%H:%M:%S` # # Montagem do inicio dos arquivos de LOG echo -e "{FONTE}33[01;31m##################$AGORA##################{FONTE}33[01;37m\n" >> $LOG_ERRO echo -e "{FONTE}33[01;31m##################$AGORA##################{FONTE}33[01;37m\n" >> $LOG_REDE # Funcoes para configurar as variaveis da Rede Wireless # Caso a configuracao de Rede seja via DHCP defina IP='dhcp' # Caso contrario IP='10.5.1.1' MASCARA='255.255.255.0' DNS='10.5.1.254' # O Proxy ainda nao implementei e nem o RTS e FRAG, mas vou atualizar function ConfiguraIPTrabalho(){ PLACA='wlan0' SSID='trabalho' PONTO_DE_ACESSO='54:E6:FC:D6:DB:DB' SENHA='VivaOLinux$AteAProxyma' CANAL='10' IP='10.5.1.100' MASCARA='255.255.255.0' GATEWAY='10.5.1.1' DNS='10.5.1.1' PROXY='' FIREWALL='firewall.sh' } function ConfiguraIPCasa(){ PLACA='wlan0' SSID='Casa' PONTO_DE_ACESSO='54:E6:FC:D6:DB:DB' SENHA='TesteDeScriptPessoal' CANAL='1' IP='dhcp' MASCARA='' GATEWAY='' DNS='' PROXY='' FIREWALL='firewall.sh' } function ConfiguraIP2(){ PLACA='wlan0' IP='10.5.1.3' MASCARA='255.255.255.0' GATEWAY='10.5.1.200' DNS='10.5.1.200' PONTO_DE_ACESSO='00:24:01:00:24:01' SSID='jaca' SENHA='T3st3D3ScriptPesso@l' CANAL='11' FIREWALL='firewall.sh' } # function ProcuraInterfaces(){ # Essa funcao simplesmente cria uma lista com as interfaces eth e wlan if [ -e $IFACES_1 ]; then rm -f $IFACES_1 2>> $LOG_ERRO >> $LOG_REDE fi if (\ ifconfig -a | grep eth >> $IFACES_1 && \ ifconfig -a | grep wlan >> $IFACES_1 &&\ cat $IFACES_1 | while read LINHA; \ do echo $LINHA| cut -d" " -f 1 >> $IFACES_2; done && \ rm -f $IFACES_1 2>> $LOG_ERRO >> $LOG_REDE && \ mv $IFACES_2 $IFACES_1 2>> $LOG_ERRO >> $LOG_REDE); then return 0 else return 1 fi } function DesativaPlacas(){ # Essa funcao desativa todas as placas que estao listadas no arquivo $IFACES_1 (1) echo -e "{FONTE}33[01;37m" echo -n "Encerrando programas de rede ................................" if (\ /etc/init.d/network-manager stop 2>> $LOG_ERRO >> $LOG_REDE && \ killall -q wpa_supplicant 2>> $LOG_ERRO >> $LOG_REDE && \ iwconfig $PLACA key off 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi echo -e "\nConfigurando rede $SSID" echo echo "Desativando interfaces de rede:" # (1) if [ -e $IFACES_1 ]; then cat $IFACES_1 | while read INTERFACE do echo -n "--Desativando interfaces de rede $INTERFACE ................." if (\ ifconfig $INTERFACE down 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]" fi done else echo "Arquivo $IFACES_1, não existe!" fi echo -n "Finalizando os serviços de rede ............................." if(\ iwconfig $PLACA key off 2>> $LOG_ERRO >> $LOG_REDE && \ /etc/init.d/networking stop 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi } function ConfiguraRede(){ ProcuraInterfaces DesativaPlacas echo -n "Processando chave WPA de rede ..............................." if (\ wpa_passphrase $SSID $SENHA > /etc/wpa_supplicant/wpa_supplicant.conf 2>> $LOG_ERRO && \ wpa_supplicant -i $PLACA -c /etc/wpa_supplicant/wpa_supplicant.conf -B -D wext 2>> $LOG_ERRO); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi echo -n "Configurando ACCESS-POINT na interface $PLACA ................" if (\ iwconfig $PLACA essid $SSID 2>> $LOG_ERRO >> $LOG_REDE && \ iwconfig $PLACA channel $CANAL 2>> $LOG_ERRO >> $LOG_REDE && \ iwconfig $PLACA ap $PONTO_DE_ACESSO 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi echo -n "Configurando FIREWALL ......................................." if (\ $FIREWALL start 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi if [ $IP = 'dhcp' ]; then echo -n "Configurando endereco IP (DHCP) na PLACA $PLACA .............." if (\ dhclient -r 2>> $LOG_ERRO >> $LOG_REDE && \ dhclient $PLACA 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi else if [ $PLACA = '' ] || [ $IP = '' ] || [ $MASCARA = '' ]; then echo -e "[{FONTE}33[01;31m Faltam dados de Configuração da Placa (PLACA, IP, MASCARA) {FONTE}33[01;37m]" else echo -n "Configurando endereco IP na PLACA $PLACA ....................." if (\ ifconfig $PLACA $IP netmask $MASCARA 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi fi if [ $GATEWAY != '' ]; then echo -n "Configurando GATEWAY ........................................" if (\ route add -net default gw $GATEWAY 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi fi if [ $DNS != '' ]; then echo -n "Configurando DNS ............................................" if (\ echo "nameserver " $DNS > /etc/resolv.conf 2>> $LOG_ERRO); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi fi fi echo } case $1 in trabalho) ConfiguraIPTrabalho ConfiguraRede ;; rede2) ConfiguraIP2 ConfiguraRede ;; casa) ConfiguraIPCasa ConfiguraRede ;; *) echo "Nenhuma configuracao válida foi selecionada!!" esac # Termina de editar o arquivo de LOG echo -e "\n\n{FONTE}33[01;31m#######################################################{FONTE}33[01;37m\n\n" >> $LOG_ERRO echo -e "\n\n{FONTE}33[01;31m#######################################################{FONTE}33[01;37m\n\n" >> $LOG_REDE # Exclui o arquivo que contém a lista das placas de redes rm -f $IFACES_1 2>> $LOG_ERRO >> $LOG_REDE
sys_info - exibe o status do sistema
Efetua uma busca na rede por IPs(hosts) ativos
Identificar arquivos criados ou removidos no sistema.
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? (14)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)