[TÓPICO DEDICADO] REDES DOMÉSTICAS - Dicas, Problemas, Tutoriais e Diagnósticos complexos

pra galera que utiliza openwrt ae.

Como configurar Roaming de clientes wifi forma funcional no openwrt!


Primeiro o que é roaming?
resposta simples e curta: a migração SEM PERDA DE CONEXÃO pelo dispositivo cliente entre raidos diferentes sobre o mesmo SSID

resposta longa: um blackholl das bermudas maquiavélico complicado para um c#####ho de configurar :haha:
Roaming-Rapido.jpg


Pré-requisitos para fazer a magia negra funcionar:
  • Ter um AP com suporte nativo(no nosso caso utilizando openwrt a gente da um jeito com instalação de um pacote)
  • Ter mais de 1 radio WIFI transmitindo o SSID da sua rede
  • Mesmo SSID da rede em configurado em todos os rádios
  • Mesma senha do SSID configurado em todos os rádios
  • Mesma criptografia(WPA2 OU WPA3) do SSID configurado em todos os rádios
obtendo os pré-requisitos a cima vc esta elegível para fazer a magia negra :joia:
obs. vc pode misturar multi vendor na mesma rede e fazer funcionar do mesmo jeito, des de que todos os aparelhos utilizados passem pelo check list acima, tipo ter uma aparelho openwrt com tudo e um tplink com FW original suporte ao 802.11kvr ativo.
SIM, a tplink colocou os protocolos padronizados 802.11k e 802.11v sendo possiveis de ativação apenas se ativar a função mesh, para "ludibriar" o leigo, a achar que a função só funciona entre aparelhos da mesma marca.

image.png

image.png

Vou utilizar como exemplo meu aparelhos Xiaomi Redmi Router AX6000

Primeiro passo para configurar o openwrt para funcionar:
OBRIGATORIAMENTE ter instalado o pacote wpad-mbedtls no aparelho, o FW padrão baixado do site do openwrt vem com o pacote base wpad-basic-mbedtls.
recomendação de como instalar o pacote completo: entre no openwrt firmware seletor, localize o seu aparelho, solicite um FW personalizado com o pacote completo; é possível fazer a reinstalação do pacote completo em aparelhos que já estão rodando openwrt, mas é extremamente problemático a instalação, pois interfere diretamente com o pacote hostapd, o mais fácil é tirar um BK do openwrt, solicitar o FW com o wpad-mbedtls completo flashar o novo FW e voltar o arquivo de BK com as configs.

image.png
image.png
Recomendação, nesta tela de pedido de FW personalizado, inclua o pacote luci-app-dawn
este pacote é um script descentralizado, que faz com que o proprio openwrt force a aparelhos burros(que não suportam 802.11kvr), a fazer o roaming de forma obrigatória, literalmente desconectando o mesmo do AP com sinal ruim quando após calculo de 3 ticks entre os APs com openwrt definir que o cliente burro esta com sinal melhor de outro AP mais próximo a ele.

Segundo configure o SSID de suas redes da seguinte forma:
image.png
image.png
image.png
image.png

image.png

Terceiro:
Repita as configurações do passo anterior em CADA SSID que vc tenha em sua rede.

Se tiver 5 AP trasmitindo sua rede wifi em radio 2.4GHz, configure em cada um deles a mesma config
Se tiver 8 AP trasmitindo sua rede wifi em radio 5GHz, configure em cada um deles a mesma config
Se tiver AP trasmitindo sua rede wifi em radio 6GHz(wifi 6E e wifi 7 no caso), configure em cada um deles a mesma config
Se tiver o mesmo AP, SIM! o mesmo ap! pq eles vem com radios 2.4GHz, 5GHz e 6GHz individualizados! configure o SSID da mesma forma em cada um deles.

Quarto:
Aproveito a magia negra de transitar dentro de sua wifi entre multiplos radios dentro da sua rede sem tomar drop de pacotes, quando ocorrer roaming e sempre ter o melhor aparelho com a melhor taxa de desempenho no link wifi servindo seu dispositivo!

FuckYEA.jpg


O como dispositivo cliente trata neste caso, no meu S20fe com modo desenvolvedor do andriod ativado e opção de exibir mais detalhes sobre rede wifi;
é possível ver que o S20fe já tem previamente a informação de quais rádios ele pode migrar, que tipo de rede(se é rede 2.4GHz, 5GHz, wifi6[no meu caso todos meu aps aqui agora são wifi6, mas se tiver aps wifi4 wifi5 wifi 6e e wifi7 ele ira saber de forma antecipada), nível de sinal(rssi) para cada rede e o score de cada ssid transmitido por cada radio.
Screenshot-20240625-203228-Settings.jpg

Para confirmar que o Roaming esta funcionando adequadamente, transite entre os APs e veja no System Log do openwrt se é apresentado o seguintes registros:
Código:
Tue Jun 25 15:44:40 2024 daemon.info hostapd: DU-5GHZ: STA 7c:8b:xxxxxxxxxx IEEE 802.11: authenticated
Tue Jun 25 15:44:40 2024 daemon.notice hostapd: DU-5GHZ: STA-OPMODE-N_SS-CHANGED 7c:8b:xxxxxxxxxx 1
Tue Jun 25 15:44:40 2024 daemon.info hostapd: DU-5GHZ: STA 7c:8b:xxxxxxxxxx IEEE 802.11: associated (aid 2)
Tue Jun 25 15:44:40 2024 daemon.notice hostapd: DU-5GHZ: AP-STA-CONNECTED 7c:8b:xxxxxxxxxx auth_alg=open
Tue Jun 25 15:44:40 2024 daemon.info hostapd: DU-5GHZ: STA 7c:8b:xxxxxxxxxx RADIUS: starting accounting session 89xxxxxxxxxxxxxxxxxxxxxxx
Tue Jun 25 15:44:40 2024 daemon.info hostapd: DU-5GHZ: STA 7c:8b:xxxxxxxxxx WPA: pairwise key handshake completed (RSN)
Tue Jun 25 15:44:40 2024 daemon.notice hostapd: DU-5GHZ: EAPOL-4WAY-HS-COMPLETED 7c:8b:xxxxxxxxxx


BONUS TIME!

NÃO É NECESSARIO a instalação do luci-app-dawn para utilização apenas dos protocolos nativos 802.11kvr, mas ao utilizar o DAWN é no MINIMO recomendo que vc tenha o 802.11r ativo em seus radios!
obs. o 802.11r já vem nativo com o pacote basico wpad-basic-mbedtls que vem preinstalado pelo openwrt.

o pacote extra que recomendei a instalação, o luci-app-dawn, ele é basicamente instalar e esquecer, não é necessario realizar configurações extras para que ele funcione.

a menos que vc queira escovar bit e ajustar o nivel da qualidade de sinal, forma de calculo, tempo do tick entre cada calculo, deixar o calculo mais agresivo ou relaxado.

caso queira seguir com a escovasão de bit, vc devera se conectar via ssh no openwrt e editar o seguinte arquivo de configuração: /etc/config/dawn
o como ajustar as configurações, recomendo dar uma lida no git do pacote no seguinte link: https://github.com/berlin-open-wireless-lab/DAWN/blob/master/CONFIGURE.md

para exemplo de configuração, esta é minha escovação de bit que fiz no dawn:
Código:
config local
        option loglevel '0'

config network
        option broadcast_ip '10.0.0.255'
        option broadcast_port '1025'
        option tcp_port '1026'
        option network_option '2'
        option shared_key 'Niiiiiiiiiiiiick'
        option iv 'Niiiiiiiiiiiiick'
        option use_symm_enc '0'
        option collision_domain '-1'
        option bandwidth '-1'

config hostapd
        option hostapd_dir '/var/run/hostapd'

config times
        option con_timeout '60'
        option update_client '10'
        option remove_client '15'
        option remove_probe '30'
        option remove_ap '460'
        option update_hostapd '10'
        option update_tcp_con '10'
        option update_chan_util '5'
        option update_beacon_reports '20'

config metric 'global'
        option min_probe_count '3'
        option bandwidth_threshold '0'
        option use_station_count '0'
        option max_station_diff '1'
        option eval_probe_req '0'
        option eval_auth_req '0'
        option eval_assoc_req '0'
        option kicking '2'
        option kicking_threshold '5'
        option deny_auth_reason '1'
        option deny_assoc_reason '17'
        option min_number_to_kick '3'
        option chan_util_avg_period '3'
        option set_hostapd_nr '2'
        option duration '0'
        option rrm_mode 'tpa'
        option disassoc_nr_length '6'

config metric '802_11g'
        option initial_score '70'
        option ht_support '5'
        option vht_support '5'
        option no_ht_support '0'
        option no_vht_support '0'
        option rssi '15'
        option rssi_val '-60'
        option low_rssi_val '-80'
        option low_rssi '-15'
        option chan_util '0'
        option chan_util_val '140'
        option max_chan_util '-15'
        option max_chan_util_val '170'
        option rssi_weight '0'
        option rssi_center '-70'

config metric '802_11a'
        option initial_score '100'
        option ht_support '5'
        option vht_support '10'
        option no_ht_support '0'
        option no_vht_support '0'
        option rssi '15'
        option rssi_val '-60'
        option low_rssi_val '-85'
        option low_rssi '-15'
        option chan_util '0'
        option chan_util_val '140'
        option max_chan_util '-15'
        option max_chan_util_val '170'
        option rssi_weight '0'
        option rssi_center '-70'

apos editar o arquivo de configurações, sempre executar o comando "/etc/init.d/dawn restart" no ssh ou realizar reboot completo do AP, para que elas sejam aplicadas.

Para conferir status do funcionamento do DAWN, e principalmente ter a informação mais util, a taxa de utilização sobre o ar no canal em que seu SSID esta sendo propagado, simplesmente entre no menu "DAWN" e depois "Network Overview"

Sera listado TODOS os SSID que são propagados pelo AP acessado, juntamente com dados propagados dos outros AP vizinhos da mesma rede que venham a trasmitir os mesmos SSID que o AP acessado.

Na print a baixo esta minha rede principal no momento, os aparelhos clientes são 1 Galaxy A30 e 2 Galaxy S20fe, cada um com sua cor.
a taxa exibida em "Utilization", é o calculo da utilização do ar em cada canal na minha localidade, o que isso quer dizer, que para variar os canais 11 e 1 da faixa 2.4GHz estão extremamente saturados, e é possivel prever que havera interferencias e perda de desempenho.
em "Access Point" é a lista de AP e cada RADIO que estão trasmitindo este SSID no momento
image.png
image.png

a outra tela que o pacote DAWN disponibiliza é a "Hearing Map", o que esta tela exibe?
Resposta: o resultado do SCORE do calculo realizado entre CADA cliente e possivel cliente na proximidade dos seus AP, e propagando a listagem para todos os AP dentro da mesma rede já fazerem previa utilização dos dados.

com este score o dawn pode forçar, vide o quam agresivo ele estiver configurado, a literalmente a desconectar forçadamente o cleinte do AP com pior score se for calculado um outro score melhor para o mesmo cliente e SSID

image.png

image.png
percebe-se que nas duas prints anteriores, foram listados diversos possíveis clientes, e efetivos clientes.
o como mencionei anteriormente, o dawn realiza o calculo de score de QUAL QUER dispositivo na próximo de seus AP, sempre para otimizar caso tal cliente se conecte na rede, já atuar imediatamente realocando ele forma forçada quando o cliente não suporta 802.11kvr nativamente.
Valeu magaiver mineiro!
 
Esses é dos bão!
 
Pessoal, estou com um problema estranho aqui e não consigo resolver de jeito nenhum, talvez vocês possam me ajudar.

Tenho um TrueNAS aqui em casa com JellyFin (porta 30013) e algumas medias que gostaria de compartilhar com um amigo, tudo configurado e funcionando perfeitamente na rede interna.

Porém, não consigo me conectar à porta 80 (externa) através do meu roteador, por algum motivo não consigo direcionar uma conexão que chega pela porta 80.

Meu router é um Xiaomi Redmi AX6000, abaixo a configuração de NAT que setei.

Erro-Xiaomi-AX6000.png


O que acho estranho é que consigo me conectar usando a porta externa 30013 ou 28525 (usei esse numero apenas para teste), se eu entrar por "IPEXTERNO:30013" ele redireciona certinho para a porta interna 30013, porém se a conexão externa chegar pela porta 80 o router não direciona para 192.168.31.217:30017, acaba em timeout.

Alguem já teve um problema parecido com esse ?

Agradeço qqer ajuda.

EDIT: outra coisa que pode ajudar a entender o q está acontecendo, pela rede interna eu consigo utilizar "IPEXTERNO:80" que o redirecionamento funciona.
EDIT2: meu modem VIVO está em modo bridge, o AX6000 está com acesso externo direto.
 
Última edição:
Pessoal, estou com um problema estranho aqui e não consigo resolver de jeito nenhum, talvez vocês possam me ajudar.

Tenho um TrueNAS aqui em casa com JellyFin (porta 30013) e algumas medias que gostaria de compartilhar com um amigo, tudo configurado e funcionando perfeitamente na rede interna.

Porém, não consigo me conectar à porta 80 (externa) através do meu roteador, por algum motivo não consigo direcionar uma conexão que chega pela porta 80.

Meu router é um Xiaomi Redmi AX6000, abaixo a configuração de NAT que setei.

Erro-Xiaomi-AX6000.png


O que acho estranho é que consigo me conectar usando a porta externa 30013 ou 28525 (usei esse numero apenas para teste), se eu entrar por "IPEXTERNO:30013" ele redireciona certinho para a porta interna 30013, porém se a conexão externa chegar pela porta 80 o router não direciona para 192.168.31.217:30017, acaba em timeout.

Alguem já teve um problema parecido com esse ?

Agradeço qqer ajuda.

EDIT: outra coisa que pode ajudar a entender o q está acontecendo, pela rede interna eu consigo utilizar "IPEXTERNO:80" que o redirecionamento funciona.
EDIT2: meu modem VIVO está em modo bridge, o AX6000 está com acesso externo direto.
A maioria das operadoras bloqueia a porta 80, então o problema não é na sua config e sim no bloqueio.
Funciona qdo vc usa na rede interna pq não sai pra operadora, vai somente até o modem. Qdo a conexão passa pela operadora ela filtra.
Pode tentar usar uma porta mais alta, tipo 8080, para fazer o redirecionamento.
 
A maioria das operadoras bloqueia a porta 80, então o problema não é na sua config e sim no bloqueio.
Funciona qdo vc usa na rede interna pq não sai pra operadora, vai somente até o modem. Qdo a conexão passa pela operadora ela filtra.
Pode tentar usar uma porta mais alta, tipo 8080, para fazer o redirecionamento.
Entendi, minha ideia seria não precisar ficar colocando porta para acessar, utilizando outras portas ele conecta normalmente, mas com as portas 80 e 8080 não funciona de jeito nenhum.

Sabe se tem alguma forma de liberar isso na operadora?
 
Entendi, minha ideia seria não precisar ficar colocando porta para acessar, utilizando outras portas ele conecta normalmente, mas com as portas 80 e 8080 não funciona de jeito nenhum.

Sabe se tem alguma forma de liberar isso na operadora?
Para planos residenciais acho que não tem como.
Acho que só é liberado em planos empresariais.
Nunca cheguei a usar, mas alguns serviços DDNS fazem redirecionamento de porta. Então poderia abrir uma porta alta e ao acessar pelo host configurado no DDNS ele redireciona para a porta alta configurada no seu router. No NOIP é chamado de Web Redirect.

 
Para planos residenciais acho que não tem como.
Acho que só é liberado em planos empresariais.
Nunca cheguei a usar, mas alguns serviços DDNS fazem redirecionamento de porta. Então poderia abrir uma porta alta e ao acessar pelo host configurado no DDNS ele redireciona para a porta alta configurada no seu router. No NOIP é chamado de Web Redirect.

Estou usando GoDaddy, com um domínio que comprei, vou ver se tem essa opção.

De qqer forma, eu pretendia jogar o JellyFin no cloudflare, para aumentar a segurança, imagino que consiga fazer isso por dentro do cloudflare.

Alguém usa cloudflare para isso? Será se o gargalo de velocidade inviabiliza o uso de VPN ? (Já que o sistema eh basicamente para transmissão de vídeo)

EDIT: Consegui redirecionar pelo GoDaddy, como o @LuisM sugeriu, vlww pela ajuda.
 
Última edição:
A maioria das operadoras bloqueia a porta 80, então o problema não é na sua config e sim no bloqueio.
Funciona qdo vc usa na rede interna pq não sai pra operadora, vai somente até o modem. Qdo a conexão passa pela operadora ela filtra.
Pode tentar usar uma porta mais alta, tipo 8080, para fazer o redirecionamento.
E o IPV6 nesse caso resolveria o problema?
 

Users who are viewing this thread

Voltar
Topo