Estou no processo de construção do meu próprio roteador baseado em Linux e deparei-me com um problema de ponte entre as redes wifi e LAN. A caixa executava o pfSense anteriormente, mas devido à sua incapacidade de usar meu adaptador wifi interno, decidi construir meu próprio roteador sobre o CentOS 7.
A caixa possui apenas uma porta Ethernet, portanto, configurei um switch gerenciado para criar duas VLANs:
- enp3s0.10: LAN
- enp3s0.99: WAN
Eu configurei o hostapd, conectado ao ponto de acesso wifi, mas notei que meu dispositivo não conseguiu obter um IP do meu servidor DHCP. Os dispositivos wifi conectados à minha rede precisarão acessar outros dispositivos na LAN com fio, como meus serviços DHCP e DNS.
Eu tentei fazer uma ponte entre o enp3s0.10 e o adaptador wifi (wls4), mas isso só faz com que minha porta LAN fique inacessível externamente. É possível conectar uma VLAN a um adaptador sem fio ou existe uma maneira melhor de fazer isso? Como os roteadores de consumo baratos conseguem isso?
Topologia de rede
Conforme solicitado (obrigado Damiano Verzulli), adicionei um diagrama da minha topologia de rede. Por ter menos de 10 pontos de reputação, fui forçado a fornecer um link.
Notas:
- A caixa do roteador Linux ("Roteador" no diagrama) possui uma porta Ethernet (enp3s0) e um adaptador wifi interno (wls4)
- Com exceção do enp3s0.99 (que recebe seu endereço / sub-rede do meu modem a cabo), todos os outros dispositivos na minha LAN têm um endereço no espaço 192.168.1.0/24
Respostas:
Consegui resolver o meu problema e queria compartilhar com outras pessoas que possam enfrentar um problema semelhante no futuro.
Minha rede
Solução
Defina cada interface de rede (incluindo uma interface de ponte chamada br0 )
Defina o valor de / etc / sysconfig / network-scripts / ifcfg-enp3s0 como:
Defina o valor de / etc / sysconfig / network-scripts / ifcfg-br0 para:
Defina o valor de /etc/sysconfig/network-scripts/ifcfg-enp3s0.10 como:
Defina o valor de /etc/sysconfig/network-scripts/ifcfg-enp3s0.99 como:
Reinicie a rede
Configuração hostapd
Defina o valor de /etc/hostapd/hostapd.conf para:
Crie um serviço systemd para adicionar wls4 à bridge br0 e inicie o hostapd. Fiz isso pelos seguintes motivos:
rfkill unblock wlan
Crie /root/launch_hostapd.sh (deve ser feito como root)
Tornar /root/launch_hostapd.sh executável
Crie /etc/systemd/system/launch_hostapd.service (deve ser feito como root)
Recarregar daemon systemctl
Ativar / iniciar o serviço launch_hostpad
Conclusão
Espero que isso ajude qualquer pessoa que queira conectar suas interfaces LAN e WLAN na tentativa de hospedar um AP via hostapd.
fonte