Associar numa rede que não é a da casa fazia o serviço dar o Wi-Fi como conectado, mover o cabo para .34 e responder pelo wlan0: a placa sumia da rede. Agora: - a conexão só conta quando o gateway responde pelo wlan0; - falha com mensagem "conectei em X, mas não chego ao roteador"; - rotas do wlan0 com métrica 600 (o cabo continua preferido); - ignore_routes_with_linkdown: cabo desligado não segura rota. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
21 lines
1.1 KiB
Bash
21 lines
1.1 KiB
Bash
#!/bin/sh
|
|
# Instala o Wi-Fi com modo de configuração na placa (rodar como root, a partir desta pasta).
|
|
# Seguro com o cabo ligado: sem rede salva, o serviço só sobe o ponto de acesso no wlan0 e não mexe no cabo.
|
|
set -e
|
|
cd "$(dirname "$0")"
|
|
apt-get install -y --no-install-recommends hostapd dnsmasq-base
|
|
# hostapd e dnsmasq rodam como filhos do serviço, nunca sozinhos
|
|
systemctl disable --now hostapd 2>/dev/null || true
|
|
systemctl mask hostapd 2>/dev/null || true
|
|
install -d -m 700 /etc/carinha-wifi
|
|
install -m 755 carinha_wifi.py /usr/local/sbin/carinha-wifi
|
|
install -m 644 carinha-wifi.service /etc/systemd/system/carinha-wifi.service
|
|
# Cabo e Wi-Fi na mesma rede: cada placa de rede só responde pelo próprio endereço (sem "ARP flux")
|
|
# e cabo desconectado não segura rota: o tráfego passa direto para o Wi-Fi
|
|
printf 'net.ipv4.conf.all.arp_ignore=1\nnet.ipv4.conf.all.arp_announce=2\nnet.ipv4.conf.all.ignore_routes_with_linkdown=1\nnet.ipv4.conf.default.ignore_routes_with_linkdown=1\n' > /etc/sysctl.d/90-carinha-arp.conf
|
|
sysctl -q --system
|
|
systemctl daemon-reload
|
|
systemctl enable carinha-wifi
|
|
systemctl restart carinha-wifi
|
|
echo "carinha-wifi instalado"
|