nenhuma página da web pode ser aberta quando o wifi é criado e conectado por telefone android

0

Eu quero criar um Ponto de acesso WiFi (AP) com hostapd e dnsmasq no meu adaptador de rede sem fio USB - 9271 Atheros usando a Internet conectada ao meu roteador através do meu adaptador eth0 .

lsusb  
Bus 003 Device 003: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n

O MAC para o Atheros 9271 é 00:1a:8c:30:08:b1 .
O MAC do meu telefone Android é f0:79:59:cb:d8:eb

Os dados da minha placa de rede sem fio são:

Saída para: iw list :

Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
* P2P-client
* P2P-GO

Conteúdo de: /etc/network/interfaces :

auto dsl-provider
iface dsl-provider inet ppp
pre-up /bin/ip link set eth0 up
provider dsl-provider

auto eth0
iface eth0 inet static
address 192.168.22.1
netmask 255.255.255.0
dns-server 114.114.114.114
auto wlan0
iface wlan0 inet dhcp

Conteúdo de: /etc/hostapd/hostapd.conf :

hw_mode=g
channel=11
driver=nl80211
ssid=test
interface=wlan0    
# encryption
wpa=2
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP
ctrl_interface=/var/run/hostapd    
# Only root can configure hostapd
ctrl_interface_group=0

Conteúdo de /etc/dnsmasq.conf :

log-queries
log-facility=/var/log/dnsmasq/dnsmasq.log
interface=wlan0
listen-address=192.168.22.1
dhcp-host=f0:79:59:cb:d8:eb,192.168.22.3,infinite
dhcp-option=3,192.168.22.1
dhcp-option=6,114.114.114.114

Para iniciar o AP, eu executo:

nmcli radio wifi off    
rfkill unblock wlan
ifconfig wlan0 192.168.22.2 up
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -P FORWARD ACCEPT
sudo iptables --table nat -A POSTROUTING -o wlan0 -j MASQUERADE
service dnsmasq restart
service hostapd restart
hostapd /etc/hostapd/hostapd.conf

para conectar-se ao AP com meu telefone Android com SSID test e senha password .

As informações exibidas no console do PC são:

hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
Using interface wlan0 with hwaddr 00:1a:8c:30:08:b1 and ssid "test"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED 
wlan0: STA f0:79:59:cb:d8:eb IEEE 802.11: authenticated
wlan0: STA f0:79:59:cb:d8:eb IEEE 802.11: associated (aid 1)
wlan0: AP-STA-CONNECTED f0:79:59:cb:d8:eb
wlan0: STA f0:79:59:cb:d8:eb RADIUS: starting accounting session 57921245-00000000
wlan0: STA f0:79:59:cb:d8:eb WPA: pairwise key handshake completed (RSN)

Quando tento conectar-me ao AP com o nome da conta test e senha password do meu telefone Android, ele se conecta, mas nenhuma página da web pode ser aberta no Firefox do meu telefone

Suspeito de um erro nesta seção:

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -P FORWARD ACCEPT
sudo iptables --table nat -A POSTROUTING -o wlan0 -j MASQUERADE

Como devo proceder?

@ Fabby, se hw_mode=n , ocorrer um erro da seguinte forma:

hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
Line 2: unknown hw_mode 'n'
1 errors found in configuration file '/etc/hostapd/hostapd.conf'
Failed to set up interface with /etc/hostapd/hostapd.conf
Failed to initialize interface

Por favor, observe as informações de saída do comando hostapd /etc/hostapd/hostapd.conf .

Configuration file: /etc/hostapd/hostapd.conf
Using interface wlan0 with hwaddr 00:1a:8c:30:08:b1 and ssid "test"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED 
wlan0: STA f0:79:59:cb:d8:eb IEEE 802.11: authenticated
wlan0: STA f0:79:59:cb:d8:eb IEEE 802.11: associated (aid 1)
wlan0: AP-STA-CONNECTED f0:79:59:cb:d8:eb

O endereço MAC do wlan0 é 00:1a:8c:30:08:b1 , que é o adaptador de rede sem fio USB no início, então o endereço MAC do wlan0 foi alterado para f0:79:59:cb:d8:eb , que é o endereço mac do meu telefone Android, essa ação é certa?

    
por it_is_a_literature 21.07.2016 / 05:16

1 resposta

0

Eu vejo que você está permitindo o tráfego na tabela de redirecionamento da configuração do iptables, no entanto, isso só é de fato usado quando o encaminhamento de IP é de fato ativado para as interfaces em questão.

Por padrão, ubuntu e de fato a maioria das distribuições linux que eu vi desabilitam o encaminhamento IP para segurança que é de fato um padrão sã já que isso é necessário se sua caixa é um roteador, neste caso é exatamente o que você é configurando assim você deve habilitar o encaminhamento IP.

No arquivo /etc/sysctl.conf você precisa descomentar esta linha:

net.ipv4.ip_forward=1

Se você também quisesse encaminhar o tráfego IPv6, também seria necessário remover o comentário dessa linha e configurar a configuração correta do IPv6 com o prefixo atribuído pelo seu ISP.

net.ipv6.conf.all.forwarding=1

Isso garantirá que a configuração correta seja definida na inicialização, se você quiser evitar a reinicialização, poderá usar comandos como os seguintes para ativar o encaminhamento imediatamente para a sessão atual

Para o IPv4:

sudo sysctl -w net.ipv4.conf.[interface].forwarding=1

Para o IPv6:

sudo sysctl -w net.ipv6.conf.[interface].forwarding=1

Onde [interface] é o nome da interface na qual o encaminhamento deve ser habilitado para a interface que se conecta à Internet para que o tráfego possa ser encaminhado de volta para a rede sem fio e para a interface conectada à rede rede sem fio.

Além disso, sua regra MASQUERADE parece incorreta para mim, MASQUERADE deve sair do tráfego da interface que se conecta à Internet e não trafega de saída para os clientes sem fio, o que você tem.

Assim, se o seu roteador de internet estiver conectado ao PC por Ethernet, sua regra provavelmente será parecida com esta:

sudo iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE

Onde eth0 é a interface conectada à internet.

Quanto ao erro do hostapd, hw_mode = n é inválido, a configuração deve ser a seguinte:

hw_mode=g
ieee80211n=1

Assim, o 802.11n será negociado automaticamente se ambos os dispositivos o suportarem, você pode forçar o requisito para o 802.11n com o custo de impedir que alguns dispositivos que não suportam o mesmo se conectem com o seguinte:

require_ht=1

Espero que ajude, se não, eu posso tentar ajudar mais, mas é assim que eu configuro o meu e ele funciona bem com todos os meus dispositivos android e fireOS.

Edit: Desculpe, só vi que você tentou mudar para hw_mode = n em resposta ao comentário que você tinha em primeiro lugar embora eu recomendaria permitir 802.11n para dispositivos compatíveis com a opção ieee80211n = 1 desde o cartão que você tem suporte a ele e permitirá que dispositivos compatíveis operem em velocidades mais altas, enquanto ainda suportam clientes sem fio com menos capacidade, contanto que você não os force (o sinalizador require_ht = 1 desconectaria clientes não compatíveis com 802.11n). Não há nenhum motivo para forçá-lo, no entanto, como 802.11n e 802.11g podem ser suportados simultaneamente.

    
por MttJocy 29.07.2016 / 21:42