Noções básicas sobre roteamento e gateway WiFi

Noções básicas sobre roteamento e gateway WiFi

A soluçãoé explicadoaqui

O problema

Tenho 3 interfaces eth0, wlan0, wlan1 (2 dongles USB wifi) no meu Raspberry Pi.

  • wlan1 será usado para conectar-se a uma câmera WiFi via SSDP.
  • wlan0 será usado para ter uma conexão TCP com um servidor (IP/nome de domínio conhecido). Não sei nada sobre o WiFi ao qual o wlan0 está conectado via DHCP. Isso pode mudar de tempos em tempos. Ele não conhece especialmente o gateway.
  • eth0 será usado para depurar o acesso SSH, por meio do serviço de compartilhamento de conexão do MacBook Air, por exemplo.

Na verdade, todas essas interfaces estão funcionando. Aqui está a saída do ifconfig (wlan1 e eth0 estão na mesma rede, mas esse não será o caso no futuro):

eth0      Link encap:Ethernet  HWaddr b8:27:eb:8c:e2:10  
          inet addr:192.168.0.19  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:141 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:93616 (91.4 KiB)  TX bytes:12342 (12.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr c0:4a:00:2a:ab:6c  
          inet addr:192.168.43.44  Bcast:192.168.43.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1142 (1.1 KiB)  TX bytes:1145 (1.1 KiB)

wlan1     Link encap:Ethernet  HWaddr 74:da:38:0c:c6:f0  
          inet addr:192.168.0.14  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1480 errors:0 dropped:0 overruns:0 frame:0
          TX packets:155 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:222449 (217.2 KiB)  TX bytes:29711 (29.0 KiB)

E aqui está a saída de sudo route -n :

0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.43.0    0.0.0.0         255.255.255.0   U     0      0        0 wlan0

Se eu entendi bem o que li nas últimas 24 horas, preciso fazer algumas coisas de roteamento. Mas não entendo o que e como. Tive que alterar a rota padrão? Se sim, como posso fazer isso, já que não conheço o gateway wlan0 ou wlan1 antes de me conectar à rede? Esse é um problema impossível?

Editar: adicione /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
        post-up route del default dev wlan0

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
        wpa-ssid "wifi1"
        wpa-psk "psw1"

auto wlan1
allow-hotplug wlan1
iface wlan1 inet dhcp
        wpa-ssid "wifi2"
        wpa-psk "pwd2"

Responder1

Você pode consultar seu arquivo localizado em /etc/network/interfaces para encontrar o gateway padrão. Provavelmente é 192.168.0.1, mas não tenho certeza. O gateway é apenas o endereço do seu roteador.

Digite "cat /etc/network/interfaces" para ver as informações. Edite com privilégios de root (sudo) se quiser alterá-lo.

Experimente isto:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    # post-up route del default dev wlan0
    address 192.168.0.19
    netmask 255.255.255.0
    gateway 192.168.0.1

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
    wpa-ssid "wifi1"
    wpa-psk "psw1"
    address 192.168.43.44
    netmask 255.255.255.0
    gateway 192.168.0.1

auto wlan1
allow-hotplug wlan1
iface wlan1 inet static
    wpa-ssid "wifi2"
    wpa-psk "pwd2"
    address 192.168.0.14
    netmask 255.255.255.0
    gateway 192.168.0.1

Faça backup do seu arquivo /etc/network/interfaces original e tente este. Isso define tudo como estático (imutável). Você terá que reiniciar suas interfaces com ifdown/ifup ou apenas reiniciar o computador.

Responder2

Se eu entendi bem o que li nas últimas 24 horas, preciso fazer algumas coisas de roteamento.

Não, a menos que você queira configurar seu sistema como um roteador.

O gateway padrão é o IP que o Linux enviará o tráfego se o destino não estiver no intervalo de máscaras de sub-rede de nenhuma interface de rede. Normalmente, este será o tráfego destinado à “Internet”.

Se você não se importa com o fato de este sistema ter acesso à Internet, você não precisa de um, mas provavelmente precisa para que ele possa obter atualizações, etc.

O DHCP normalmente distribui um gateway padrão, bem como um endereço IP. Portanto, se wlan0estiver obtendo um IP do DHCP, provavelmente também estará obtendo um gateway padrão. (Ou deveria ser, você pode querer verificar seu servidor DHCP se ele não estiver distribuindo um.) Portanto, o tráfego destinado à Internet passará por essa interface.

Se não quiser usar DHCP ou distribuir um gateway padrão via DHCP, você pode especificá-lo manualmente. Deve ser o endereço IP de um roteador que pode encaminhar de/para a Internet.

As coisas correrão melhor se você tiver apenas um gateway padrão, portanto, certifique-se de que suas outras interfaces estejam configuradas para IPs estáticos e que apenas uma interface esteja recebendo algo via DHCP.

Responder3

Eu mesmo respondi a essa pergunta depois de horas de testes ...

É explicaraqui

informação relacionada