Forza Raspberry per ottenere Internet da una rete specifica


13

Ho configurato il mio RPi per connettermi a un dongle 3G all'avvio impostando ppp e wvdial su

/etc/network/interfaces

Il Pi si avvia e ho una connessione a Internet. Perfetto.

Ora il mio problema è che ogni volta che connetto il Pi al mio computer tramite Ethernet (usando questo tutorial ) la connessione Internet viene persa. Anche dopo la disconnessione dal mio computer non si collega ancora, ho bisogno di riavviare in modo da poter ottenere di nuovo la connessione a Internet.

C'è un modo per fare in modo che il Pi rimanga connesso a Internet attraverso l'interfaccia del dongle invece di provare a farlo attraverso la connessione al mio computer?


Entrambe le connessioni usano DHCP?
Lawrence,

Che aspetto ha l'output di ifconfig?
Bex,

L'impostazione di una metrica superiore su eth0 rispetto a ppp0 dovrebbe ottenere ciò che desideri. La metrica inferiore è quella con priorità più alta.
Lawrence,

Risposte:


6

Supponendo che tu lavori con Linux (raspian, debian, ecc ...):

Stai ponendo due domande diverse, per prima cosa risponderò alla domanda sul titolo:

Forza Raspberry per ottenere Internet da una rete specifica

Ho intenzione di bloccare la tua parola "rete" (al contrario di "interfaccia") e rispondere a questo in un puro senso IP:

Se disponi di più connessioni che potrebbero fornire Internet, controlli quali verranno utilizzate tramite la tabella di instradamento.

Per visualizzare la tabella di routing che utilizzo normalmente netstat -rn( -rè per "show routing", -nè per "mostrami numeri, non provare a fare ricerche DNS, che potrebbero bloccarsi se la mia connessione a Internet non è configurata correttamente"). Un esempio davvero semplice sarebbe simile a questo:

pi@homeServer ~ $ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.9.1     0.0.0.0         UG        0 0          0 eth0
192.168.9.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
172.20.10.0     0.0.0.0         255.255.255.240 U         0 0          0 wlan0
pi@homeServer ~ $ 

La linea in 0.0.0.0quell'output che mostra in che direzione andranno i pacchetti IP è la linea con una destinazione di e una maschera genetica di 0.0.0.0, che è normalmente nota come default route(una maschera di 0.0.0.0è tutto jolly, che è in realtà l'indicatore di una route predefinita), e poiché attualmente punta a un indirizzo specifico nell'intervallo `192.168.9 ', il traffico Internet passerà attraverso l'interfaccia Ethernet.

Se voglio passare a Internet dall'altra rete, utilizzerei (come root) il routecomando e, in questo caso, dato che la mia connessione wifi non è punto a punto, devo conoscere l'indirizzo IP del router che può inoltro del traffico da quella rete (nel mio caso 172.20.10.1) quindi farei:

  1. Elimina il percorso predefinito corrente

    sudo route del default
    
  2. Aggiungi una nuova route predefinita per l'altra rete

    sudo route add default gw 172.20.10.1
    

Cordiali saluti mentre routeè quello che uso, vedo che alcuni lo considerano deprecato e invece raccomandano di usare il ip routecomando, vedere il commento di @Fred sotto per la sintassi. riferimento per l'ammortamento

C'è un modo per rimanere in contatto attraverso l'interfaccia del dongle

È passato un po 'di tempo da quando ho lavorato con pppe wvdial, e senza configurazioni (o almeno riferimenti alle guide che hai seguito nel configurarle), è davvero difficile indovinare in quali problemi ti imbatti, ma come alcune idee:

  • La connessione è davvero inattiva o hai appena perso il percorso predefinito quando è arrivato eth0?
    • Controlla questo in entrambi netstat -rne ifconfig.
    • È presente un'interfaccia netstat -rn? in tal caso, esiste un percorso predefinito per raggiungerlo?
    • In ifconfigvedete interfaccia per il dongle (probabile ppp)? è UP?
  • Non ricordo dove ppp/ wvdiallog, ma dovrebbe essere verificato. Quel registro ti dirà lo stato della connessione e dovrebbe farti sapere se l'intero sistema si è spento per qualche motivo
  • Se vedi un'interfaccia, prova a pingqualcosa (... qualsiasi cosa ...) su di essa e vedi se la connessione viene stabilita.
    • So che il ppp/ wvdialcombo ha alcune funzionalità di connessione automatica (a seconda della configurazione)
      • Quindi, se la connessione è venuta fuori con un ping (o la connessione è rimasta attiva per tutto il tempo): potrebbe essere la rotta predefinita (ppp) che si è persa quando hai portato su Ethernet.
      • Se questo è il problema, dovrai solo aggiungere una route predefinita e l'intero sistema tornerà online.

2
ip routenon usa abbastanza la stessa sintassi. Tuttavia, è possibile copiare e incollare l'output da utilizzare come input. Ad esempio, se mostra default via 192.168.9.1 dev eth0, puoi rimuovere quella rotta semplicemente eseguendo ip route del default via 192.168.9.1 dev eth0. È possibile utilizzare facilmente l'output come modello per aggiungere nuovi comandi, ad es ip route add default via 172.20.10.1 dev wlan0.
Fred,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.