[10] Comentário enviado por
paulohahn em 23/05/2010 - 17:45h:
Bom fiz tudo que esta aqui, e li muito mais em outros lugares..... estou dias nisto
Criei este script sh pra facilitar, esta com alguns "echo" pra facilitar o diagnóstico, e marquei o ponto onde inicia a falha:
#!/bin/bash
#
# Script Por Paulo Hahn, livre para ser usado e alterado, não precisa citar eu
# Um breve script para configurar um linux debian como ponto de acesso de rede sem-fio/wireless
# Programas Requeridos
IPT=`which iptables`;
WLC=`which wlanconfig`;
IWP=`which iwpriv`;
IWC=`which iwconfig`;
# Interface da rede sem-fio
IF_SEMFIO="ath0";
# Porta Física da Placa sem-fio
WLHD="wifi0";
# Interface da rede Com Acesso à Internet
IF_EXTERNA="eth0";
# Definição da rede sem-fio
RSF_ESSID="hahn";
RSF_RANGE="10.1.1.0/24"
RSF_GATEW="10.1.1.1";
RSF_CHANN="1";
RSF_RATE="54M";
RSF_TXPOW="auto";
RSF_SENHAWEP="012345abcdef012345abcdef26";
wln_start()
{
#
# Configurando Interface Sem Fio
#
# Zera a interface
$WLC $IF_SEMFIO destroy
# Recria no modo master/AP
$WLC $IF_SEMFIO create wlandev $WLHD wlanmode AP
# Configurando alguns parametros opcionais especificos do driver
$IWP $IF_SEMFIO mode 1 wds 1 turbo 0 dtim_period 2 bintval 25
# O nome da rede sem-fio
$IWC $IF_SEMFIO essid $RSF_ESSID
# Canal em que irá operar
$IWC $IF_SEMFIO channel $RSF_CHANN
# Velocidade
$IWC $IF_SEMFIO rate $RSF_RATE
# Potência de Transmissão
$IWC $IF_SEMFIO txpower $RSF_TXPOW
#
# Implementando a segurança
#
$IWC $IF_SEMFIO key restricted $RSF_SENHAWEP
#
# Criando a ponte entre a as interfaces
#
echo "Colocando as interfaces em modo promiscuo.."
ip link set dev $IF_EXTERNA down
ip link set dev $IF_SEMFIO down
ip link set $IF_EXTERNA promisc on
ip link set $IF_SEMFIO promisc on
ip link set dev $IF_EXTERNA up
ip link set dev $IF_SEMFIO up
ifconfig
ping $RSF_GATEW -c 1 -W 1
# Esse ping funcionou
echo "Criando a ponte br0"
brctl addbr br0
brctl addif br0 $IF_EXTERNA
brctl addif br0 $IF_SEMFIO
ping $RSF_GATEW -c 1 -W 1
# Esse ping NÃO MAIS
# Esta claro que a coisa toda para de funcionar por causa da bridge.... continua no fim
echo "Bota o endereço nela"
ip addr add $RSF_RANGE brd + dev br0
ping $RSF_GATEW -c 1 -W 1
echo "Gateway.."
ip route add default via $RSF_GATEW dev br0
ping $RSF_GATEW -c 1 -W 1
echo "Liga a passagem para frente de pacotes"
echo 1 > /proc/sys/net/ipv4/ip_forward
ping $RSF_GATEW -c 1 -W 1
echo "Levanta a ponte"
ifconfig br0 up
}
wln_stop(){
echo 0 > /proc/sys/net/ipv4/ip_forward
ip addr del $RSF_RANGE dev br0
ifconfig br0 down
brctl delbr br0
ip link set dev $IF_EXTERNA down
ip link set dev $IF_SEMFIO down
ip link set dev $IF_EXTERNA promisc off
ip link set dev $IF_SEMFIO promisc off
ip link set dev $IF_EXTERNA up
ip link set dev $IF_SEMFIO up
}
help_ajuda(){
echo
echo "$0 (start | stop)"
echo
echo "start - Ativa o Ponto de Acesso Sem-Fio"
echo "stop - Desativa o Ponto de Acesso Sem-Fio"
echo "restart - Reinicia o Ponto de Acesso Sem-Fio"
}
case $1 in
start)
wln_start;
;;
stop)
wln_stop;
;;
restart)
wln_stop;
wln_start;
;;
*)
help_ajuda;
exit;
;;
esac
Após a execução do script os micros conectados ao AP navegam tranquilamente, o problema é que o Gateway fica inacessível para o Linux Access Point, isto é, o micro que ta compartilhando a internet fica sem ela!
Se alguém tiver uma idéia... sei que estou quase lá! É sobre a bendita bridge.
[11] Comentário enviado por
paulohahn em 25/05/2010 - 01:12h:
Encontrei o problema!
Era a rota padrão o tal do "ip route add default via $RSF_GATEW dev br0"
Depois da ponte estar rodando eu dava um "netstat -r" e a eth0 aparecia como rota padrão, ora, quando a interface entra na bridge ela fica travada na bridge a gente tem de usar a própria bridge como placa, foi só colocar um comando pra tirar ela de lá, no meu caso fiz da seguinte forma:
route add default gw $RSF_GATEW dev br0
route del default gw $RSF_GATEW dev $IF_EXTERNA
Neste caso já estava utilizando "route" ao invés de "ip".
Agora que estou mais por dentro quero destrinchar como colocar todas as configurações já durante o boot, antes mesmo de logar, para ficar como um servidor.
Depois que o servidor wireless estiver carregando as configurações automaticamente já com WPA, vou para o gerenciamento de usuários.