Compartilhe a conexão wlan com o ethernet usando a linha de comando

1

Eu tenho uma conexão wlan1 que quero compartilhar com outros computadores na minha LAN (via Ethernet - eth0). Como isso é de alguma forma uma solução temporária, eu quero que isso seja feito por um script , para que eu não toque nos arquivos de configuração de rede do meu host (ou seja, eu vou executar este script após cada reinicialização se Eu quero).

O problema é que não consigo interligar wlan1 e eth0 .

sudo brctl addif br0 eth0 wlan1

Eu vi que é preciso ativar o 4addr :

 iw dev wlan1 set 4addr on

Na verdade, posso adicionar wlan1 à bridge, mas ... perco a conexão wifi! Vi que isso também é um problema comum :( Em 2 , a solução diz para fazer isso

iw dev wlan0 interface add wds.wlan0 type managed 4addr on
ip link set dev wds.wlan0 addr $ADDR
ip link set dev wds.wlan0 up

em que $ ADDR é "endereço do dispositivo WDS configurado no roteador". Eu não entendo o que é isso? O endereço MAC da minha placa de rede para o wlan1? E como devo criar minha ponte? O seguinte não está funcionando:

sudo brctl addbr br0
sudo brctl addif br0 eth0 wds.wlan0

Ou aqui , eles sugerem a instalação de ebtables. Mas a página não explica como eu deveria criar a bridge, e eles modificam o / etc / network / interfaces que eu não quero fazer ...

Então, alguém pode me ajudar a criar a ponte corretamente?

Até agora, meu script de wifi é:

 #!/bin/bash
 # this is for wlan1 - wifi connection
 pkill dhclient
 pkill wpa_supplicant
 ip link set dev wlan1 down
 ip addr flush dev wlan1
 iwconfig wlan1 essid "mywifi"
 iwconfig wlan1 frag 2432
 iwconfig wlan1 rts 2432
 ip link set dev wlan1 up   
 iwconfig wlan1 rate 1M
 dhclient -v wlan1

 # this is my IP address on my LAN
 ifconfig eth0 192.168.0.8 netmask 255.255.255.0

 # I need code here to create the bridge
 # PLEASE HELP HERE

Obrigado NB Estou executando um host Linux Mint 17.1. Eu instalei o bridge-utils.

    
por user1381 16.11.2015 / 21:16

1 resposta

-1

É possível ignorar a parte de bridging e usar iptables ?

Nesse caso, você pode configurar NAT de origem para mascarar o tráfego que sai na interface wlan.

Primeiro, você precisa ativar o encaminhamento de IP:

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

Em seguida, você precisa mascarar o tráfego que está saindo:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

Faça com que os hosts conectados à LAN usem 192.168.0.8 como seu gateway padrão e que sua máquina use o gateway conectado à interface wlan0 como o gateway padrão.

    
por 16.11.2015 / 21:28