Como eu configuro uma ponte de interface de rede de WiFi para Ethernet com Debian?

11

Estou usando o Raspberry Pi usando o Raspbian, que é apenas o Debian.

Gostaria de fazer a ponte do roteador de rede WiFi principal que se conecta ao Cox Cable ao meu roteador com cabo aqui para que minha sub-rede tenha acesso confiável à Internet.

Ele precisa ser uma ponte de WiFi para Ethernet.

Eu configurei o / etc / networks para um endereço estático para o USB wlan1 com o adaptador externo e a antena hi-gain. O wpa_supplicant está configurado para efetuar login no roteador mestre corretamente.

Então, agora, está configurado para que eu possa acessar a rede adequada com a senha, na wlan1 externa. O endereço estático está definido em / etc / networks. Gateway e servidor de nomes estão OK. Eu posso navegar em páginas da web etc.

O link que falta é fazer a ponte para a porta eth0 para que meu roteador também possa se conectar, para fornecer serviço à minha sub-rede.

Não há necessidade de serviços de rede extras, como roteamento, nat ou dhcp, etc. Apenas uma ponte simples.

Alguém pode me indicar a direção certa para fazer isso acontecer?

SDsolar
fonte
Você tentou uma ponte muito básica, definindo nenhum IP no seu dispositivo Ethernet, criando uma ponte com brctl addbr br0, adicionando ambos os dispositivos à ponte brctl addif br0 devicee depois configurando o endereço Ethernet original e a rota ativada br0?
Julie Pelletier
Você não documentou como o seu wlan0 está configurado no atm.
Rui F Ribeiro
Bom ponto. Eu adicionei algumas edições para esclarecer. Eu gosto da sua resposta abaixo. É exatamente o oposto do que estou tentando fazer, mas tudo bem, porque acho que são informações suficientes para me mover. Obrigado por publicá-lo.
SDsolar
Encontrei essa e a primeira resposta é engraçada. 'muito correto' - então esse material de ligação aparentemente requer mágica também. unix.stackexchange.com/questions/272146/…
SDsolar
Atualização do futuro (final de 2018): Desde a 2.6.33, você não pode fazer a ponte da wlan para a eth. Você pode conectar a WLAN à eth somente se você alternar e depois wlan0 para o modo 4addr. Nem todos os drivers suportam isso. Você pode ler mais sobre isso aqui .
peterh - Restabelece Monica

Respostas:

8

Para configurar uma ponte de Ethernet para Wi-Fi, é tão simples quanto fazer no seu /etc/network/interfaces:

auto eth0
allow-hotplug eth0
iface eth0 inet manual

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual

auto br0
iface br0 inet static
bridge_ports eth0 wlan0
    address 192.168.1.100
    netmask 255.255.255.0

Substitua o endereço IP por algo mais apropriado à sua rede.

Se você preferir a atribuição de IP feita via DHCP, altere-a para:

auto br0
iface br0 inet dhcp
bridge_ports eth0 wlan0

Após mudar /etc/network/interfaces, reinicie o Debian ou execute

service networking restart

Ativará esta configuração.

Você precisará garantir que essa configuração esteja bridge-utilsinstalada. Você pode instalá-lo com:

sudo apt install bridge-utils

Para mais informações, veja:

PONTE-UTILS-INTERFACES

A interface wlan0 também deve ser configurada para se conectar ao seu AP remoto, para que essa configuração não seja usada literalmente.

Nota adicional: unir eth0 e wlan0 juntos significa, em termos leigos pobres, que br0 se apresentará como uma única interface lógica que engloba as interfaces que fazem parte da ponte. Geralmente, essa configuração é feita quando ambos estendem ou pertencem à mesma rede.

Rui F Ribeiro
fonte
Na verdade, não é o contrário; se você quiser que os clientes wifi se conectem ao raspberry, precisará do hostapd sobre essa configuração; Na verdade, tenho um openwrt que foi configurado aqui para fazer o que você está pedindo
Rui F Ribeiro
É mais simples do que, é uma questão de configurar o wpa_supplicant
Rui F Ribeiro
ESTÁ BEM. No momento, ele está configurado para que eu possa acessar a rede apropriada com a senha, na wlan1 externa. O endereço estático está definido em / etc / networks. Gateway e servidor de nomes estão OK. Ele efetua login no roteador perfeitamente. Posso navegar nas páginas da web etc. O link que falta está em conectar a porta eth0 para que meu roteador também possa se conectar.
SDsolar
2
Eu estou um pouco confuso. Se eu tentar sua configuração e sudo ifup -areceber a mensagem de erro can't add wlan0 to bridge br0: Operation not supported. Isso foi amplamente discutido com a ponte wlan0 para eth0 . O que estou perdendo com sua configuração?
Ingo
2
Não há problema em abrir uma nova pergunta, mas não tenho certeza se faz sentido. Acho que sua resposta está desatualizada e deve ser corrigida. Desde o kernel> = 2.6.33, você não pode adicionar wifi a uma ponte (exceto quando o WDS é usado). Isto é o que é discutido em Bridging wlan0 para eth0 .
Ingo