Você não pode facilmente conectar uma interface Wi-Fi, consulte aqui para uma boa explicação. Existem maneiras de contornar isso (o VirtualBox, por exemplo, faz isso imediatamente), e eu vou mostrar uma maneira de fazer isso.
Se não for possível unir wlan0
an eth0
, você poderá retransmitir o tráfego IP entre eles por meio de ip_forward
, mas isso deixa de fora dois tipos importantes de tráfego: DHCP (que usa soquetes brutos) e ARP (que é um protocolo de camada 2, portanto, não é coberto pelo ip-forward). Nós resolvemos o primeiro problema configurando nossas próprias consultas de resposta do servidor DHCP na interface eth0
only; para que isso funcione, devemos nos certificar de que os intervalos de endereços IP repartidos pelo seu roteador e pelo dnmasq no RPi não se sobreponham não . Contornamos o problema do ARP ativando o proxy-arp .
A coisa mais simples é negligenciar parprouted
e dhcrelay
, que introduzem complicações desnecessárias. Em vez disso, usaremos proxy-arp
.
-
Selecione uma sub-rede dentro de sua LAN que o seu não usa para atribuir endereços IP, por exemplo,
192.168.1.160/27
, e atribua seu primeiro endereço,192.168.1.161
à sua interfaceeth0
:ip addr add 192.168.1.161/32 dev eth0
-
Diga ao kernel que esta sub-rede está localizada na interface
eth0
:ip route add 192.168.1.160/27 dev eth0
-
Ativar proxy-arp e ip_forwarding:
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arp echo 1 > /proc/sys/net/ipv4/ip_forward
-
Baixe e instale o dnsmasq para executar o DHCP na interface eth0:
apt-get install dnsmasq
e crie um arquivo,
/etc/dnsmasq.conf
, com o seguinte conteúdo:domain-needed bogus-priv dhcp-authoritative interface=eth0 local=/YourDomainName.lan/ server=8.8.8.8 server=8.8.4.4 expand-hosts domain=YourDomainName.lan dhcp-range=192.168.1.162,192.168.1.190,12h
-
Reinicie o
dnsmasq
, está pronto.
Deve ser trivial iniciar todos os itens acima na inicialização, se não, deixe-me saber.