ssh RPi do PC - Como compartilhar a conexão com a internet?

0

Eu tenho o Raspberry Pi conectado ao PC na porta eth0. Eu estou usando eth0 para ssh RPi. Eu tenho aplicação web no RPi que requer acesso à Internet.

Agora, eu configurei ip estático para o RPi (192.168.1.50) e para o PC (192.168.1.66). Posso conectar-me à Internet através de adaptador sem fio no PC e também através do adaptador USB Wi-Pi no RPi.

Aqui está o ifconfig do PC:

eth0      Link encap:Ethernet  HWaddr 3c:a8:2a:7e:fd:7d  
          inet addr:192.168.1.66  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::3ea8:2aff:fe7e:fd7d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:184 errors:0 dropped:0 overruns:0 frame:0
          TX packets:638 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20422 (20.4 KB)  TX bytes:80928 (80.9 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4126 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4126 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:460006 (460.0 KB)  TX bytes:460006 (460.0 KB)

wlan0     Link encap:Ethernet  HWaddr 34:e6:ad:08:67:5e  
          inet addr:192.168.1.13  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::36e6:adff:fe08:675e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11305 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10338 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6496258 (6.4 MB)  TX bytes:1391363 (1.3 MB)

Quando me conecto à Internet no RPi, o wlan0 recebe 192.168.1.10 .

O problema é que quando eu ssh através do PC para RPi, eu não tenho acesso à Internet no RPI e route -n mostra eth0 como interface preferida.

Estou tentando fazer a ponte entre a conexão sem fio e a Ethernet, no PC e para compartilhar a Internet no RPi enquanto faço ssh, ou para conectar conexões no RPi, para que eu possa ativar wlan0 e eth0 ao mesmo tempo.

Eu tentei echo 1 > /proc/sys/net/ipv4/ip_forward e também usei a opção MASQUERADE em iptables , mas sem sucesso. Eu estou sentindo falta de algo e fazendo algo errado, mas não posso realmente ver.

Você pode me explicar como posso alcançar meu objetivo aqui, como configurar o arquivo /etc/network/interfaces e qualquer outra coisa que eu deva considerar?

Obrigado.

    
por hideburn 06.02.2016 / 19:05

1 resposta

1

Com comandos: link (sem fio no meio)

Instalar bridge-utils:

apt-get install bridge-utils (ubuntu)

aptitude install bridge-utils (debain)

nano /etc/network/interfaces 

adicione abaixo das linhas

pre-up iwconfig wlan0 essid $YOUR_ESSID (wifi name)

bridge_hw $MAC_ADDRESS_OF_YOUR_WIRELESS_CARD(34:e6:ad:08:67:5e)

Instale ebtables:

aptitude install ebtables (debian)

apt-get install ebtables (ubuntu)

rede de ponte de configuração com endereço MAC wlan0 ($ MAC = 34: e6: ad: 08: 67: 5e)

ebtables -t nat -A POSTROUTING -o wlan0 -j snat --to-src $MAC --snat-arp --snat-target ACCEPT

Adicione o endereço MAC do dispositivo que precisa de acesso à Internet: (substitua $ ip por ip, $ MAC por endereço MAC de pi e computador)

Definir regras:

ebtables -t nat -A PREROUTING -p IPv4 -i wlan0 --ip-dst $IP -j dnat --to-dst $MAC --dnat-target ACCEPT
ebtables -t nat -A PREROUTING -p ARP -i wlan0 --arp-ip-dst $IP -j dnat --to-dst $MAC --dnat-target ACCEPT

Repita o comando acima para adicionar pi e computador.

Salvar regras:

EBTABLES_ATOMIC_FILE=/root/ebtables-atomic ebtables -t nat --atomic-save

EBTABLES_ATOMIC_FILE=/root/ebtables-atomic ebtables -t nat --atomic-commit

Com a GUI: link

    
por 06.02.2016 / 19:46