Ligando wlan0 a eth0

22

No Arch Linux, gostaria que a eth0 (conectada ao roteador em ponte) compartilhasse a conexão recebida do wlan0, li os tutoriais, mas não sou mais experiente em comandos do que outros usuários e não entendo completamente.

    
por dbdii407 18.06.2010 / 05:44

5 respostas

21

UPDATE

Não é possível fazer a ponte entre o modo sem fio (cliente aka estação) e as interfaces com fio de acordo com este tópico no linux-ath5k-devel .

Configurar NAT

É preciso configurar o NAT:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Atribuindo um IP

Então você tem que atribuir endereços IP a si mesmo:

ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up

Instalar o daemon dhcp

Instale um servidor dhcp e adicione o seguinte texto ao seu arquivo de configuração (em /etc/dhcpd.conf ou algo similar)

subnet 10.0.0.0 netmask 255.255.255.0 {
    range 10.0.0.100 10.0.0.120;
    option routers 10.0.0.1;
    option domain-name-servers the-ip-address-you-have-in-etc-resolv.conf;
}

Iniciar o dhcpd

Em seguida, inicie-o /etc/init.d/dhcpd start

E é isso!

Somente leia abaixo se você estiver interessado na configuração de ponte que não funciona

brctl addbr mybridge
brctl addif mybridge eth0
brctl addif mybridge wlan0

Primeiro, você cria uma interface de ponte. Eu escolho um nome arbitrário mybridge e, em seguida, adiciono interfaces a ele.

Você deve solicitar um novo endereço IP (isso é necessário apenas se você deseja obter um IP válido para o próprio dispositivo de ponte):

dhclient -d mybridge
    
por 18.06.2010 / 11:44
21

Para a interface bridge wifi , você pode usar a ferramenta iw para ativar o 4addr da mesma forma:

# iw dev <wifiInterface> set 4addr on

ie:

# brctl addif <bridgename> <wifiInterface>
can't add <wifiInterface> to bridge <bridgename>: Operation not supported

# iw dev <wifiInterface> set 4addr on
# brctl addif <bridgename> <wifiInterface>

Agora deve funcionar. Você pode mostrar pontes usando:

# brctl show
    
por 13.11.2013 / 11:48
2

Depende de como o AP é para você:

1) Pode-se apenas querer ver pacotes vindos de você, com o seu conhecido endereço de camada de enlace (e, portanto, não de pacotes em ponte) 2) Ele pode ser ainda mais inteligente e saber qual endereço IP deve pertencer a qual endereço da camada de enlace (porque ele conhece o DHCP e o inspeciona)

Se 1 + 2 forem verdadeiros, você precisa de algo como IP NAT, DHCP, etc.

Mas se apenas 1) for o caso, você pode falsificar o endereço da camada de link e fazer o mapeamento reverso para o caminho certo na outra direção, conforme descrito aqui:

link

    
por 15.04.2015 / 14:53
1

4addr como descrito em outras respostas é certamente a melhor maneira quando suportado pelo adaptador / driver, mas nem todos eles o fazem. O NAT pode funcionar para algumas coisas, mas obter uma comunicação adequada das duas maneiras na rede se tornará problemática (por exemplo, conectando uma impressora ou acessando outros dispositivos IoT do outro lado do NAT). Qualquer coisa que se baseie em broadcast / multicast (ex. Auto-discovery, bonjour) falhará através do NAT.

A alternativa é usar um proxy ARP (parprouted), conforme descrito no link . Eu configurei isso em um Raspberry Pi para uma impressora e funciona como um encanto (adicionei 10 segundos de suspensão nos comandos post-up para permitir que ele obtivesse um endereço IP primeiro, pode ter a ver com a lentidão do meu antigo RPi ...)

    
por 20.07.2017 / 14:16
0

Para a interface bridge wifi , você pode usar a ferramenta iw para ativar o 4addr da mesma forma:

# iw dev <wifiInterface> set 4addr on

ie:

# brctl addif <bridgename> <wifiInterface>
# can't add <wifiInterface> to bridge <bridgename>: Operation not supported

# iw dev <wifiInterface> set 4addr on
# brctl addif <bridgename> <wifiInterface>

Agora deve funcionar. Você pode verificar com:

# brctl show

Pode não funcionar se o próprio iw reportar um erro, como "comando failed: Operation not supported (-95)" (visto em Raspbian). Nem todos os drivers implementam o recurso, aparentemente.

    
por 18.12.2016 / 13:47