Script pessoal para uso em firmware de access point para conexão automática de PPPOE

Publicado por Leonardo Nogueira em 01/07/2010

[ Hits: 7.241 ]

Blog: http://www.sat5.com.br

 


Script pessoal para uso em firmware de access point para conexão automática de PPPOE



Diversos provedores via rádio utilizam autenticação PPPOE em suas torres, no entanto, deparam-se com uma pequena deficiência dos firmwares dos access points: não há uma opção de deixar salvo usuário e senha para conexão do PPPOE em modo cliente na INTERFACE WIRELESS do access point.

Pensando nisso, devolvi um script que se for salvo na opção Script Pessoal do firmware do access point, o próprio firmware do access point, ao ser inicializado, irá executá-lo de forma automática. Sendo assim, o próprio script fará a conexão PPPOE de forma autônoma, sem precisar de interferência alguma do usuário.

O script foi testado com sucesso com o firmware WAPPRO. Em outros firmwares não fiz testes, no entanto, acredito funcionar perfeitamente em qualquer firmware de AP baseado no firmware para chipset REALTEK.

#!/bin/sh
## Script Pessoal
#---- script de conexao PPPOE automatica no AP --
- #---- configuracoes do usuario -----
#---- usuario e senha para conexao PPPOE
usuario='usuario'
senha='senha'

#---- faixa de rede local do access point
rede='192.168.2.0/24'

#---- nome do dominio do servidor PPPOE
provedor='lsoft'
#-----------------------------------


#---- cria um arquivo para conexao PPPOE
rm /etc/script.sh

echo ' ' >> /etc/script.sh

route del default
route del default
ifconfig wlan0 0.0.0.0

#---- escreve o usuario e senha no arquivo chap-secrets
rm /etc/ppp/chap-secrets
echo '"'$usuario'" * "'$senha'"' >> /etc/ppp/chap-secrets

#---- escreve o usuario e senha no arquivo pap-secrets
rm /etc/ppp/pap-secrets
echo '"'$usuario'" * "'$senha'"' >> /etc/ppp/pap-secrets

#---- desliga qualquer processo pppd iniciado anteriormente
killall -9 pppd

#---- escreve as configuracoes do pppd (altere se for necessario conforme as configuracoes do seu provedor)
rm /etc/ppp/options

echo 'name "'$usuario'"' >> /etc/ppp/options


echo 'noauth' >> /etc/ppp/options
echo 'noipdefault' >> /etc/ppp/options
echo 'hide-password' >> /etc/ppp/options
echo 'defaultroute' >> /etc/ppp/options
echo 'persist' >> /etc/ppp/options
echo 'ipcp-accept-remote' >> /etc/ppp/options
echo 'ipcp-accept-local' >> /etc/ppp/options
echo 'nodetach' >> /etc/ppp/options
echo 'usepeerdns' >> /etc/ppp/options
echo 'mtu 1452' >> /etc/ppp/options
echo 'mru 1452' >> /etc/ppp/options
echo 'lcp-echo-interval 20' >> /etc/ppp/options
echo 'lcp-echo-failure 3' >> /etc/ppp/options
echo 'plugin rp-pppoe wlan0' >> /etc/ppp/options
echo 'rp_pppoe_service '$provedor >> /etc/ppp/options
echo 'plugin /etc/ppp/plugins/libplugin.a wlan0' >> /etc/ppp/options

#----- escreve o firewall para o AP compartilhar a conexao PPPOE com a rede local do proprio AP
#----- pode alterar o firewall conforme a necessidade do provedor ou do cliente
echo '#!/bin/sh' >> /etc/script.sh
echo '## Script Pessoal' >> /etc/script.sh
echo '#--- script gerado automaticamente -----' >> /etc/script.sh
echo 'iptables -F' >> /etc/script.sh
echo 'iptables -t nat -F' >> /etc/script.sh
echo 'iptables -P FORWARD DROP' >> /etc/script.sh
echo 'iptables -A INPUT -i lo -j ACCEPT' >> /etc/script.sh
echo 'iptables -A OUTPUT -o lo -j ACCEPT' >> /etc/script.sh
echo 'iptables -A FORWARD -s '$rede' -d 0/0 -j ACCEPT' >> /etc/script.sh
echo 'iptables -A FORWARD -s 0/0 -d '$rede' -mstate --state ESTABLISHED,RELATED -j ACCEPT' >> /etc/script.sh
echo 'iptables -t nat -A POSTROUTING -s '$rede' -d 0/0 -j MASQUERADE' >> /etc/script.sh

#---- bloquear portas de compartilhamento de arquivos entre a conexao PPPOE e o AP
echo 'iptables -A INPUT -p tcp --dport 137 -j DROP' >> /etc/script.sh
echo 'iptables -A INPUT -p tcp --dport 138 -j DROP' >> /etc/script.sh
echo 'iptables -A INPUT -p tcp --dport 139 -j DROP' >> /etc/script.sh
echo 'iptables -A INPUT -p tcp --dport 443 -j DROP' >> /etc/script.sh
echo 'iptables -A INPUT -p udp --dport 137 -j DROP' >> /etc/script.sh
echo 'iptables -A INPUT -p udp --dport 138 -j DROP' >> /etc/script.sh
echo 'iptables -A INPUT -p udp --dport 139 -j DROP' >> /etc/script.sh
echo 'iptables -A INPUT -p udp --dport 443 -j DROP' >> /etc/script.sh
chmod 777 /etc/script.sh

#---- executa a discagem PPPOE
pppd &

#---- aguardar 15 segundos enquanto o PPPOE eh discado
sleep 15

#---- executa o script do firewall que foi escrito por este script personalizado
sh /etc/script.sh

#---- fim do script de conexao PPPOE ----

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Usando o i4l para criar instaladores de aplicativos para Linux

Comandos para o dia-a-dia

Aumentando a segurança do seu servidor SSH

LibreOffice - Soffice.bin consome 100% dos recursos da CPU [Resolvido]

IPwatchD - Detectar conflitos de IP em GNU/Linux

  

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