Como eu uso um único adaptador sem fio para um ponto de acesso e cliente no Raspberry Pi?

4

Eu consegui criar um ponto de acesso sem fio no meu Raspberry Pi usando um dongle USB Wi-Fi usando o hostapd no wlan0. O que eu gostaria de poder fazer é ter o ponto de acesso em alguma interface virtual (ou seja, wlan0: 1) ou vlan (wlan0.123) e ter o wlan0 conectado a um ponto de acesso existente.

Dessa forma, posso conectar-me ao dispositivo por meio do ponto de acesso que ele fornece ou pela rede à qual ele se conectou.

O objetivo final é este: eu posso conectar ao dispositivo usando o ponto de acesso que ele fornece. Em seguida, ele fará uma verificação dos pontos de acesso sem fio que encontrar, perguntará qual deles eu gostaria de conectar e, em seguida, tentarei me conectar a ele. Pode então dizer-me o endereço IP que foi capaz de obter nessa nova ligação ou dizer-me que não conseguiu ligar (porque ainda vou estar ligado através do ponto de acesso que está a fornecer).

Se houver outra maneira de fazer isso (sem ter dois adaptadores físicos de Wi-Fi), sou todo ouvidos.

Por enquanto, os passos que estou dando são para fazer o AP trabalhar na interface vlan. Isso não está funcionando ... o AP é visível, mas parece que o servidor DHCP não está emitindo um endereço IP.

Aqui está o conteúdo de / etc / network / interfaces:

auto lo
auto wlan0 wlan0.10
auto eth0

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0

iface wlan0.10 inet static
  address 192.168.50.1
  netmask 255.255.255.0
  network 192.168.50.0
  broadcast 192.168.50.255
  gateway 192.168.50.1
  vlan_raw_device wlan0

iface wlan0 inet manual

Aqui está o conteúdo do hostapd.conf:

interface=wlan0
driver=rtl871xdrv
country_code=NZ
ctrl_interface=wlan0.10
ctrl_interface_group=0
ssid=RPiAP
hw_mode=g
channel=1
wpa=3
wpa_passphrase=PASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
beacon_int=100
auth_algs=3
macaddr_acl=0
wmm_enabled=1
eap_reauth_period=360000000

Note que acima eu tive que dizer que a interface é wlan0. Parece que o hostapd não gosta se eu colocar wlan0.10.

Finalmente aqui está minha configuração do dhcp (isc-dhcp-server):

shared-network VLAN10 {
subnet 192.168.50.0 netmask 255.255.255.0 {
       range 192.168.50.10 192.168.50.250;
       option broadcast-address 192.168.50.255;
       option routers 192.168.50.1;
       default routers 192.168.50.1;
       default-lease-time 600;
       max-lease-time 7200;
       option domain-name "local";
}
}

Parece que o AP / dhcp não gosta de estar em uma VLAN, pois meu telefone parece ficar preso em "Obtendo endereço IP do RPiAP ...". Ou talvez eu tenha que fazer algumas regras do iptables para remover a marcação?

    
por Gabe 26.06.2013 / 08:14

2 respostas

1

Usar um único dispositivo WLAN como pontos de acesso (AP) e cliente (estação, STA) só é possível se o dispositivo o suportar. Você pode usar iw phy ou iw list para descobrir se o seu dispositivo faz isso; há uma linha valid interface combinations que descreve quais combinações são possíveis (incluindo outro modo). Os detalhes são, por exemplo, aqui .

Se o seu dispositivo for compatível, você poderá adicionar novas interfaces virtuais com algo como

iw phy phy0 interface add wlan0_ap type ap

(modificar conforme necessário, o outro tipo é sta para cliente / estação).

Em seguida, você pode executar hostapd em uma interface e usar a outra interface normalmente.

    
por 03.07.2018 / 08:26
0

O servidor hostap e dhcp está funcionando bem, mas o tempo do seu celular e o pi framboesa não está sincronizado. Tente colocar ao mesmo tempo os dois dispositivos.

    
por 08.11.2013 / 14:24