GNU/Linux >> Linux Esercitazione >  >> Linux

Impossibile accedere a siti Web selezionati su Linux (ma possibile su Windows)

(Copiato da Unix Stack Exchange)

Hai i sintomi di un MTU problema:alcune connessioni TCP si bloccano, in modo più o meno riproducibile per un dato comando o URL ma senza uno schema complessivo facilmente distinguibile. Un sintomo rivelatore è che le sessioni ssh interattive funzionano bene ma i trasferimenti di file quasi sempre falliscono. Inoltre pppoe è il portatore numero uno del problema MTU per gli utenti domestici. Quindi prescrivo un controllo MTU.

Che cos'è? La m massimo t trasmissione u nit è la dimensione massima di un pacchetto su un collegamento di rete. L'MTU varia da mezzo di trasporto a mezzo di trasporto, ad es. Ethernet cablata e Wi-Fi (802.11) hanno MTU diversi e i collegamenti ATM (che costituiscono la maggior parte dell'infrastruttura a lunga distanza) hanno ciascuno il proprio MTU. PPPOE è un protocollo incapsulato, il che significa che ogni pacchetto è costituito da pochi byte di intestazione seguito dal pacchetto sottostante, quindi riduce la dimensione massima del pacchetto della dimensione dell'intestazione. L'IP consente ai router di frammentare i pacchetti se rilevano che sono troppo grandi per l'hop successivo, ma questo non sempre funziona. In teoria l'MTU corretto dovrebbe essere scoperto automaticamente, ma anche questo non sempre funziona. In particolare, l'uso di Google suggerisce che Network Manager non agisce sempre correttamente sulle informazioni MTU ottenute dalla scoperta MTU, ma non so quali versioni siano interessate o quali siano i casi d'uso problematici.

Come misurarlo. Prova a inviare pacchetti ping di una determinata dimensione a un host esterno che risponde a loro, ad es. ping -c 1 -s 42 8.8.8.8 (su Linux; su altri sistemi, cerca la documentazione del tuo ping comando). I tuoi pacchetti dovrebbero passare per valori abbastanza piccoli di 42 (se 42 non funziona, qualcosa sta bloccando i ping). Per valori maggiori, il pacchetto non passerà. 1464 è un valore massimo tipico se l'elemento limitante dell'infrastruttura è la rete Ethernet locale. Se sei fortunato, quando invii un pacchetto troppo grande, vedrai un messaggio come Frag needed and DF set (mtu = 1492) . Se non sei fortunato, continua a sperimentare con il valore finché non trovi qual è il massimo, quindi aggiungi 28 (-s specifica la dimensione del payload e ci sono 28 byte di intestazioni in aggiunta). Vedi anche Come ottimizzare la tua connessione Internet usando MTU e RWIN sui forum di Ubuntu.

Come impostarlo (sostituisci 1454 con l'MTU che hai determinato e eth0 con il nome della tua interfaccia di rete)

  • Una volta sola (Linux):esegui ifconfig eth0 mtu 1454
  • Permanentemente (Debian e derivate come Ubuntu, se non si usa Network Manager):Modifica /etc/network/interfaces . Subito dopo la voce per la tua interfaccia di rete (dopo iface eth0 … direttiva), aggiungi una riga con pre-up ifconfig $IFACE mtu 1454 . In alternativa, se il tuo indirizzo IP è statico, puoi aggiungere mtu 1454 parametro al iface eth0 inet static direttiva.
  • Permanentemente (Debian e derivate come Ubuntu, con o senza Network Manager):crea uno script chiamato /etc/network/if-pre-up.d/mtu con i seguenti contenuti e renderlo eseguibile a livello mondiale (chmod a+rx ):

    #!/bin/sh
    ifconfig $IFACE mtu 1454
    

Linux
  1. Linux – Kali Linux è installato ma non viene visualizzato in Boot Manager?

  2. Come accedere alla cartella condivisa di Windows da Linux?

  3. Come posso disabilitare l'accesso a Internet per i programmi in esecuzione in Wine?

  4. Come posso installare Windows 7 senza dvd o usb, su Linux?

  5. Wannacrypt (wcrypt) può diffondersi tramite un server Linux che serve su SMB?

Come accedere alle partizioni Linux da Windows 10

Recensione del programma di installazione del pacchetto MX Linux - Bello ma può essere più bello

Accesso remoto a Windows 10 tramite Ubuntu Linux e Vise Versa

Sicurezza Linux vs Windows

I contenitori Windows possono essere ospitati su Linux?

Windows può usare una shell Linux invece di cmd?