Como posso simplificar o tráfego de forma transparente entre wlan0 e eth0?

6

Eu estou procurando fazer isso em um Raspberry Pi, mas não me importo com o sistema operacional que eu tenho que instalar, então a solução mais simples e fácil para o Pidora (Fedora 20 Remix), Raspbian ( Debian) ou Arch é o que eu gostaria.

Estou morando em um prédio da universidade, onde o acesso à Internet é fornecido por meio de uma rede sem fio protegida. Essa rede sem fio é autorizada usando o PEAP WPA2-Enterprise e exige que eu forneça um nome de usuário, senha e certificado de autenticação. A universidade fornece um script para configurar automaticamente uma máquina Linux para essa rede, e o script fica feliz trabalhando com o wpa_supplicant ou o network-manager - eu tentei os dois.

Eu tenho muitas máquinas (uma mistura de Linux e Windows) que conversam entre si através do meu roteador sem fio particular. Esse roteador tem uma porta WAN para fazer frente a uma conexão com a Internet, de modo a compartilhar essa conexão com todas as máquinas em sua rede sem fio.

Meu objetivo é fazer com que meu Raspberry Pi conecte-se à rede sem fio protegida da universidade e, em seguida, forneça uma conexão à Internet para a porta WAN em meu roteador sem fio privado. Decidi usar um Raspberry Pi porque é o menor overhead que eu tenho acesso e que é capaz de se conectar à rede sem fio protegida da minha universidade.

Eu não preciso ver meu Raspberry Pi na minha rede sem fio privada (se eu puder, tudo bem, mas eu estou realmente atrás da configuração mais simples possível). Tudo o que preciso é que meu Raspberry Pi manipule a autenticação para a rede sem fio da universidade e transmita os dados de forma transparente entre eth0 e wlan0. Para qualquer dispositivo conectado ao meu Raspberry Pi usando um cabo ethernet, o Raspberry Pi deve se parecer com um gateway de Internet direto.

Para resumir, estou procurando,

(Wi-Fi da universidade com WPA2 PEAP) - > (RPi wlan0) --- (RPi eth0) - > (WAN no roteador privado)

Eu tentei usar o bridge-utils no Debian, mas isso sempre parece nocautear a conexão sem fio do meu Raspberry Pi.

Eu também li sobre o uso de iptables e ebtables, mas, ainda, eu não entendo o que eu deveria estar fazendo lá, e algumas das configurações que eu encontrei na internet parecem entrar em conflito com um ao outro.

Devo acrescentar que a rede sem fio da universidade atribui dinamicamente ao meu Raspberry Pi um endereço IP no wlan0 cada vez que ele se conecta. Meu roteador privado lida com a atribuição de endereços IP dinâmicos para todas as minhas máquinas.

Eu ficaria muito grato se alguém pudesse delinear algumas instruções claras e simples para alcançar a configuração que estou buscando. É claro que estou disposto a ler e aprender qualquer coisa que eu precise para que isso aconteça, mas estou interessado em manter a solução tão simples e fácil de reproduzir quanto possível. O único dispositivo que eu quero configurar é o Raspberry Pi.

Observo que o que estou tentando fazer deve ser possível, porque é perfeitamente simples compartilhar minha rede sem fio da universidade pela porta ethernet do meu laptop Windows!

Muito obrigado antecipadamente!

    
por snoopy91 20.08.2014 / 17:46

1 resposta

5

Isso é tão simples quanto poderia ser. Você não precisa de nenhuma ponte. Apenas MASQUERADE sua rede local no RPi:

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Ativar o encaminhamento de tráfego:

echo 1 > /proc/sys/net/ipv4/ip_forward

O RPi não funcionará como bump-on-the-wire invisível, mas precisará de uma configuração de rede entre ele e seu roteador privado - que usarão o endereço IP da porta eth0 do RPi como gateway.

Então será assim:

(RPi wlan0) -- MASQUERADE -- (RPi eth0;192.168.99.254/24) → (WAN on Private Router,192.168.99.1/24)

Felicidades,

    
por 20.08.2014 / 18:21