Configurando o Access Point usando o adaptador Wifi no linux

0

Meu roteador quebrou, então estou tentando configurar algo temporariamente para compartilhar conexão de internet do meu PC principal (internet vem do modem conectado diretamente à placa ethernet) para outros dispositivos através de uma rede ad hoc, para isso eu tenho um adaptador wifi que usa o driver zd1211rw (eu também tenho o alfa rtl8187, mas esse adaptador não está funcionando no ubuntu 12.04).

O problema que estou tendo é que não consigo me conectar ao ponto de acesso Wi-Fi que eu criei, ele apenas fica "adquirindo endereço de rede" e nunca termina de conectar-se.

Meu computador principal é o Ubuntu 12.04, é isso que estou fazendo. Primeiro eu coloco o adaptador wifi no modo monitor com:

airmon-ng start wlan2

Isso cria uma interface mon0, então eu uso:

airbase-ng -e MyNetName -c 11 -v mon0

A partir daqui, já posso ver a rede MyNetName usando meu laptop (com o Windows), mas se eu tentar conectá-lo, fica em "adquirir endereço de rede". Os tutoriais que eu segui continuam com estes comandos:

ifconfig at0 up
ifconfig at0 192.168.1.254 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo > '/var/lib/dhcp/dhcpd.leases'

Então eu inicio o servidor dhcp com

dhcpd -d -f -cf /etc/dhcp/dhcpd.conf at0

O arquivo dhcpd.conf tem esta aparência:

ddns-update-style interim; <- also tried ad-hoc instead of interim
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
  option subnet-mask 255.255.255.0;
  option broadcast-address 198.168.1.255;
  option routers 192.168.1.254;
  option domain-name-servers 8.8.8.8;
  range 192.168.1.1 192.168.1.253;
}

A saída é semelhante a:

Internet Systems Consortium DHCP Server 4.1-ESV-R4
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Wrote 0 leases to leases file.
Listening on LPF/at0/00:02:72:69:28:c8/192.168.2.128/25
Sending on   LPF/at0/00:02:72:69:28:c8/192.168.2.128/25
Sending on   Socket/fallback/fallback-net
Can't create PID file /var/run/dhcpd.pid: Permission denied.

O último comando:

echo "1" > /proc/sys/net/ipv4/ip_forward

A saída do comando airbase-ng é assim:

11:34:03  Created tap interface at0
11:34:03  Trying to set MTU on at0 to 1500
11:34:03  Trying to set MTU on mon0 to 1800
11:34:03  Access Point with BSSID 00:02:72:69:28:C8 started.
11:34:10  Client 70:F3:95:B3:27:76 associated (unencrypted) to ESSID: "MyNetName"
11:34:13  Client 70:F3:95:B3:27:76 reassociated (unencrypted) to ESSID: "MyNetName"
11:34:17  Client 70:F3:95:B3:27:76 reassociated (unencrypted) to ESSID: "MyNetName"
11:34:21  Client 70:F3:95:B3:27:76 reassociated (unencrypted) to ESSID: "MyNetName"

Então, meu problema é que não consigo obter um ip interno no laptop que está tentando se conectar, a coisa do gerenciador de janelas fica no "endereço de rede de aquisição", a base aérea reage mostrando mais dessas mensagens reassociadas enquanto o laptop tenta conectar. Outro problema é que depois de executar iptables --flush a internet no PC principal pára de funcionar, mas eu quero lidar com isso assim que eu puder conectar-me completamente ao MyNetName.

Alguém tem uma ideia do que estou fazendo de errado?

    
por peterfra 26.04.2013 / 17:15

3 respostas

1

Eu nunca vi essa configuração usando o airbase-ng ... talvez você possa experimentar o hostapd resolver a questão constante de reassociação.

Além disso, esse caminho não faz muito sentido:

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254

Tente sem isso.

Por fim, você pode tentar instalar o tcpdump e monitorar o tráfego de rede em at0, enquanto o cliente está tentando adquirir o dhcp. Talvez a solicitação do dhcp não esteja nem passando.

    
por 10.07.2013 / 04:33
0

Você pode tentar usar o isc-dhcp-server. Eu tenho atualmente uma configuração muito semelhante para você com essa sendo a única diferença.

Instale-o - > altere /etc/default/isc-dhcp-server para servir na interface at0 - > comece usando

service isc-dhcp-server start

Isso ainda usará seu arquivo dhcpd.conf.

    
por 26.07.2013 / 10:47
0

use este comando:
sudo dhcpd -d -f -cf /etc/dhcp/dhcpd.conf at0
e, em seguida: sudo /etc/init.d/isc-dhcp-server start

    
por 03.12.2013 / 19:57