Esta é a pergunta usual "Quero interligar o Wi-Fi com ethernet", mas preciso de algo específico aqui.
Minha caixa do Linux tem uma interface wlan0
que está no modo de estação, com MAC aa:aa:aa:aa:aa:aa
e uma interface de VLAN ( vlan0
) com MAC bb:bb:bb:bb:bb:bb
. Apenas um host específico está falando comigo pela VLAN, portanto, todos os pacotes que chegam da VLAN terão o endereço MAC de origem cc:cc:cc:cc:cc:cc
.
E devido ao enquadramento de três endereços no WiFi, todos os pacotes que chegam de wlan0
terão o endereço MAC de destino aa:aa:aa:aa:aa:aa
. Isso está certo ou estou simplificando demais?
O que eu quero fazer é uma ponte MAC NAT simples, na qual:
Um pacote proveniente de wlan0
obtém seu MAC de destino alterado para cc:cc:cc:cc:cc:cc
e enviado cegamente por VLAN.
Got from wlan0 Sent through vlan0
SRC: whatever it is SRC: whatever it is
DST: aa:aa:aa:aa:aa:aa --> DST: cc:cc:cc:cc:cc:cc
(payload) (payload)
Um pacote vindo de vlan0
obtém seu MAC de origem alterado para aa:aa:aa:aa:aa:aa
e enviado cegamente por wlan0
.
Sent through wlan0 Got from vlan0
SRC: aa:aa:aa:aa:aa:aa SRC: cc:cc:cc:cc:cc:cc
DST: whatever it is <-- DST: whatever it is
(payload) (payload)
As respostas recebidas do ARP de vlan0
também atualizam o MAC do ARP. Exemplo:
Sent through wlan0 Got from vlan0
SRC: aa:aa:aa:aa:aa:aa SRC: cc:cc:cc:cc:cc:cc
DST: whatever it is <-- DST: whatever it is
1.2.3.4 can be found at 1.2.3.4 can be found at
aa:aa:aa:aa:aa:aa cc:cc:cc:cc:cc:cc
ebtables
soa como a maneira perfeita de fazer isso ... se eu pudesse unir as duas interfaces juntas.
Qualquer ideia? Eu já ouvi falar sobre relayd
, isso poderia ajudar?