Come configurare smartphone e PC. Portale informativo
  • casa
  • Errori
  • Comandi Linux per il networking. Il buon vecchio Ping

Comandi Linux per il networking. Il buon vecchio Ping

La rete è una delle più componenti importanti amministrazione di server o semplicemente computer con un operante Sistema Linux. È improbabile che gli utenti di computer domestici abbiano bisogno di tutte queste utilità. Ma per gli amministratori di server o anche per le reti, questa è una cosa indispensabile. Soprattutto quando è necessario capire perché la rete non funziona o scoprire su quale nodo di rete la trasmissione dei pacchetti è interrotta.

In questo articolo, daremo un'occhiata al meglio utilità di rete linux, questi sono i più comandi di base, che può essere utilizzato per amministrare una rete in Linux. Questo articolo non ti insegnerà tutte le complessità dell'utilizzo di tali comandi, è solo un piccolo elenco con una breve descrizione. Se hai già una certa esperienza nell'usarli, puoi utilizzare l'articolo come cheat sheet per una migliore memorizzazione.

ping<хост> - invia una richiesta echo ICMP a un host remoto. I pacchetti verranno inviati continuamente finché non si preme Ctrl+C. Quando il pacchetto viene inviato, l'host deve inviare un messaggio di risposta ICMP, che indicherà che l'altro host sta funzionando.

host telnet<порт> - verificare la disponibilità di una porta specifica sull'host. Per impostazione predefinita, telnet utilizza la porta 23, ma è possibile utilizzarne anche altre. Ad esempio, 7 - echo port, 25 - SMTP, mail server, 79 - Finger, fornisce informazioni su altri utenti della rete. Clic ctrl+] terminare telnet.

ARP

ARP viene utilizzato per convertire gli indirizzi IP in indirizzi rete fisica a cui è connesso il computer, come Ethernet o Wi-Fi. Il superutente può aggiungere e rimuovere voci Arp. Rimuoverli può essere utile se la voce arp è stata falsificata o semplicemente sbagliata. Le voci aggiunte in modo esplicito sono permanenti e possono essere considerate attendibili dal sistema. La tabella ARP è memorizzata nel kernel e può cambiare dinamicamente. Le voci ARP ricevute da altri computer vengono memorizzate nella cache ed eliminate dopo un timeout di 20 minuti.

arp -a- visualizzare la tabella ARP

arp -s - aggiungere una voce alla tabella di routing

arp -a -d- rimuovere tutte le voci dalla tabella ARP

Instradamento

Queste utilità ti consentono di amministrare reti Linux, oltre a configurare il routing tra i nodi.

netstat -r- visualizzare la tabella di instradamento

La tabella di routing è memorizzata nel kernel e viene utilizzata per instradare i pacchetti IP all'esterno della rete locale.

aggiungere percorso- questo comando viene utilizzato per impostare manualmente percorsi statici (non dinamici). Tutti i pacchetti inviati da questo computer a determinata rete deve passare attraverso un gateway specifico. Installiamo questo gateway con il comando route. Possiamo impostare un percorso predefinito in modo che tutti i pacchetti in uscita per i quali non è definito alcun gateway vengano inviati attraverso di esso, per questo utilizzare 0.0.0.0 come indirizzo di destinazione.

indirizzato- Demone BSD che esegue il routing dinamico. Funziona sul protocollo RIP. Puoi eseguire il programma solo con i diritti di superutente.

gated-è un'alternativa per routed, può utilizzare contemporaneamente i protocolli RIP, OSPF, EGP. Hai anche bisogno dei permessi di root.

traceroute- molto utilità utile, per tracciare il percorso dei pacchetti. Molto spesso, questo comando viene utilizzato per controllare la rete Linux. Il pacchetto invia un messaggio al computer da tutti i gateway tra l'origine e la destinazione.

netstat -rnf inet- visualizza la tabella di routing ipv4

sysctl net.inet.ip.forwarding=1- consente ai pacchetti di passare attraverso questo computer.

percorso a filo- eliminare tutti i percorsi

route add -net 0.0.0.0 192.168.10.2- aggiungi percorso predefinito

instradato -Pripv2 -Pno_rdisc -d [-s|-q]- Avviare il demone instradato utilizzando il protocollo RIP2 senza supporto di rilevamento automatico ICMP e modalità di output verbose (s) o minima (q).

percorso aggiungere 224.0.0.0/4 127.0.0.1- aggiungi percorso utilizzato da RIP2

rtquery -n- chiedere al demone RIP di inviare una richiesta a un altro host ( aggiornamento manuale tabelle di instradamento.

Altro

A volte è necessario non solo gestire la rete Linux, ma anche lavorare con altri protocolli, come DNS o FTP.

nslookup- inviare una richiesta al server DNS per convertire il nome a dominio in IP. Ad esempio, nslookup facebook.com restituirà l'indirizzo IP del server facebook.com.

ospite ftp- trasferire i file all'host. Spesso è necessario utilizzare anche un nome utente e una password.

rlogin -l- connettersi a un terminale virtuale con telnet. Non è consigliabile utilizzare questa costruzione, è meglio utilizzare una connessione sicura tramite ssh.

File importanti

/etc/host - nomi locali per gli indirizzi ip

/etc/reti- nomi di rete relativi agli indirizzi ip

/etc/protocolli- nomi di protocollo per i numeri di protocollo

/etc/servizi- servizi tcp/udp per i numeri di porta

Analisi di rete

indirizzo dell'interfaccia ifconfig- Interfaccia di avvio

interfaccia ifconfig- interrompere l'interfaccia

etereo e- ti consente di eseguire etereo in background

tcpdump -i -vvv- uno strumento per la registrazione e l'analisi dei pacchetti

netstat -w secondi -I interfaccia- visualizzare le impostazioni di rete e le statistiche

udpmt -p porta -s byte target_host- genera traffico UDP

udptarget -p porta- ricevere traffico UDP

tcpmt -p porta -s byte target_host- generare traffico TPC

tcptarget -p porta- ricevere il traffico TCP

ifconfig- visualizzare lo stato interfacce di rete

maschera di rete- ti permettono di vedere le sottoreti

Commutazione

ifconfig sl0 srcIP dstIP- configura l'interfaccia seriale (prima esegui slattach -l /dev/ttyd0 e poi sysctl net.inet.ip.forwarding=1

telnet 192.168.0.254- connettersi allo switch da questa sottorete

sh-ru o mostra la configurazione in esecuzione- visualizzare la configurazione corrente

configurare il terminale- vai alla modalità di configurazione

Uscita- uscire dalla modalità di configurazione

VLAN

vlann- creare VLAN con ID n

nessun vlan N- eliminare VLAN con ID N

senza etichetta Y- aggiungi la porta Y alla VLAN N

ifconfig vlan0 create- creare l'interfaccia vlan0

ifconfig vlan0 ID vlan vlandev em0- collega vlan0 a em0

ifconfig vlan0 attivo- attivare l'interfaccia virtuale

UDP/TCP

Questi sono programmi di rete Linux che consentono di trasferire pacchetti tra macchine.

socklab udp- avviare socklab utilizzando il protocollo udp.

calzino- creare un socket udp

send all'host socket_id- porta che trasmette i pacchetti di dati

recvfrom socket_id byte_size- ottenere dati dalla presa

socklab tcp- avviare socklab utilizzando il protocollo tcp

passivo- creare un socket in modalità passiva.

accettare- consente le connessioni in entrata

collegare la porta host- equivalente socklab

classe- chiude la connessione

scrivere- scrivere alcuni byte nel socket

NAT/Firewall

rm /etc/resolv.conf- disabilita la risoluzione dei nomi di dominio, che garantisce un corretto filtraggio secondo le regole del firewall.

ipnat -f filename - scrive le regole del firewall in un file

ipnat -l- ottenere un elenco di regole attive

ipnat -C -F- Chiara tabella delle regole

mappa em0 192.168.1.0/24 -> 195.221.227.57/32 em0- associare gli indirizzi IP all'interfaccia

map em0 192.168.1.0/24 -> 195.221.227.57/32 portmap tcp/udp 20000:50000- Associare un indirizzo IP a una porta.

ipf -f nome file- scrivere regole su un file

ipf -F -a- cancellare la tabella delle regole

ipfstat -I- informazioni su filtraggio, pacchetti filtrati e regole.

riscontri

In questo articolo, abbiamo esaminato le utilità di rete Linux più utili, con le quali è possibile eseguire test di rete Linux, controllare l'integrità della rete e rilevare problemi di rete. Puoi trovare informazioni più dettagliate su ciascuno di essi nella documentazione ufficiale.

Il networking è parte integrante di Linux e offre molti strumenti e comandi per diagnosticare qualsiasi problema di rete.

Esempi di comandi di rete in Linux

Trova il nome host/dominio e l'indirizzo IP - nome host
Esegui un test della connessione di rete - ping-
Ottieni configurazione di rete - Ifconfig
Connessioni di rete, tabelle di instradamento, statistiche di interfaccia - NETSTAT
Ricerca del nome interrogazione DNS— nslookup
Connessione ad altri host - Telnet
Ottieni host di rete: informazioni per la traccia utente
Crea una traccia - traceroute
Visualizza le informazioni utente - dito
Verifica dello stato dell'host di destinazione - Telnet

Esempi di utilizzo dei comandi di rete in Linux

Vediamo alcuni esempi di diversi comandi di rete in Linux. Alcuni di essi sono abbastanza semplici come ping e telnet, altri sono più potenti come Nslookup e NetStat. Quando usi questi comandi in combinazione, puoi ottenere tutto ciò che stai cercando, come nome host, connessioni punto finale, stato connessione e così via.

hostname — Nome host

Il nome host, senza opzioni, mostra l'host della macchina. Pertanto, per verificare chi è il proprietario, eseguire il comando:

#Nome host

Questo comando visualizza il nome di dominio della macchina. Per vedere l'indirizzo IP per la macchina corrente, esegui lo stesso comando con il tasto "i":

# nome host -i

ping - ping

Invia pacchetti di informazioni a una fonte definita dall'utente. Se i pacchetti vengono ricevuti, il dispositivo assegna e invia i pacchetti indietro. Ping può essere utilizzato per due scopi

uno . Per assicurare che connessione di rete può essere installato.

2. tempi di connessione. Se esegui il ping su www.. Usa Ctrl + C per interrompere il test. Puoi eseguire il comando in questo modo:

# sito di ping

È possibile impostare il tempo prima dell'invio di un pacchetto, ad esempio attendere 3 secondi prima di inviare il pacchetto successivo.

# ping -i 3 tuo_IP

Esistono diversi modi per controllare l'interfaccia locale:

# ping 0 # ping host locale # ping 127.0.0.1

Puoi anche inviare N numero di pacchetti e quindi completare il lavoro, per questo:

# ping -c 5 www.sito

Puoi anche scoprire la versione del ping stesso, per questo, esegui il comando:

# ping -V

Hai avviato l'utilità ping, ma non c'è alcuna risposta dal tuo host, inizi a scoprire qual è il problema e come risolvere questo problema, l'host remoto emetterà un avviso acustico.

# ping -a IP # ping -a 192.168.244.134

Con l'opzione "-q" puoi saltare le risposte dal tuo host remoto e mostrare le statistiche risultanti:

# ping -c 5 -q www.sito

Puoi cambiare la dimensione del pacchetto trasmesso (diciamo da 56 a 120), e puoi farlo in questo modo:

# ping -s 100 192.168.244.134

Possiamo anche modificare la durata del comando ping, ad esempio, dobbiamo eseguire il ping del servizio per 15 secondi, quindi eseguire:

# ping -w 15 192.168.244.134

Senza interrompere il comando ping, puoi vedere le statistiche di esecuzione premendo CTRL + |

Visualizza configurazione di rete, visualizza la configurazione corrente scheda di rete. Questo è utile per determinare se si stanno trasmettendo (TX) o ricevendo errori (RX).

traceroute

Un pratico programma per visualizzare il numero di hop e i tempi di risposta per raggiungere un sistema remoto o un sito web. Ma è necessaria una connessione Internet per utilizzare questo strumento. Ma sarà possibile installarlo per utilizzarlo.

# traceroute 192.168.244.133

È possibile visualizzare informazioni su tutti schede di rete oh cosa sono collegati, per questa corsa:

# Mostra collegamento ip

netstat

Il più utile e molto versatile per trovare connessioni da e verso l'host. Puoi imparare tutto sui gruppi multicast su una rete eseguendo:

# netstat -g

Per vedere chi "siede" sulla porta (diciamo 21), esegui il comando:

# netstat -pisolino | grep 21

Per vedere tutte le connessioni, inclusi TCP e UDP, eseguire il comando:

# netstat -a

# netstat -all

Il parametro che il programma viene eseguito visualizzerà solo la connessione TCP:

# netstat -tcp

# netstat -t

Il parametro che il programma viene eseguito visualizzerà solo la connessione UDP:

# netstat -udp

# netstat -u

nslookup

Se conosci l'indirizzo IP, verrà visualizzato come nome host. Per trovare tutti gli indirizzi IP per un determinato nome di dominio, viene utilizzato il comando Nslookup. Devi essere connesso a Internet per questa utilità. Esempio di utilizzo:

#nscerca su google.com

Puoi anche utilizzare Nslookup per convertire il nome host in indirizzo IP e dall'indirizzo IP dal nome host.

dito

Visualizza le informazioni dell'utente, visualizza il login del nome utente, il nome reale, il nome del terminale e lo stato della registrazione. questo è un comando Linux abbastanza vecchio e usato raramente al giorno d'oggi.

telnet

L'host di destinazione si connette tramite il protocollo Telnet, se viene stabilita una connessione telnet su qualsiasi porta, la connessione tra i due host funziona correttamente.

# telnet # telnet 192.168.244.134 23

Di solito viene utilizzato per scoprire se l'host è attivo o se la connessione di rete è buona.

I 10 principali comandi di rete di base in Linux sono finiti, ma se non ne ho parlato di più buone squadre secondo te, allora scrivi nei commenti e completerò questo articolo. Se hai domande e suggerimenti scrivi tutto nei commenti. Grazie.

Questa guida spiega come connettere un computer a una rete utilizzando i file di configurazione e utilità della console. L'obiettivo principale è quello di parlare vari modi Connessione a Internet senza utilizzare la GUI (interfaccia grafica). Il manuale non tratta argomenti come l'impostazione dei filtri di rete o, ad esempio, i propri punti Accesso Wi-Fi. Si presume che esista un metodo fornito dal provider per connettersi a Internet, per utilizzare il quale è necessario seguire i passaggi seguenti.

Il manuale fornisce esempi di modifica dei file di configurazione utilizzando gli editor di testo "nano" e "gedit". Si noti che il primo editor viene eseguito in un terminale e può essere utilizzato sia quando si esegue Ubuntu con o senza GUI, mentre "gedit" può essere utilizzato solo quando l'ambiente grafico è abilitato.

Requisiti di sistema

Qualsiasi opzione di installazione del sistema è adatta per riprodurre le azioni descritte nel manuale. Non è richiesta un'interfaccia utente grafica. Tutte le azioni devono essere eseguite nella console. Resta inteso che i comandi che iniziano con il simbolo $ devono essere eseguiti come utente e quelli che iniziano con # devono essere eseguiti dal superutente (root).

Prima di iniziare, assicurati che:

    Vari filtri di rete(ad es. iptables) e le relative utilità di configurazione (ad es. Firestarter) sono disabilitate/configurate correttamente e non interferiscono con la rete.

    Tu hai tutto parametri richiesti per connettersi alla rete (ad esempio, indirizzo IP, subnet mask e gateway predefinito per la connessione tramite un IP statico).

    I dispositivi di rete che filtrano per indirizzo MAC sono configurati correttamente e "conoscono" la tua interfaccia di rete.

    Il driver del dispositivo di rete è installato correttamente, il cavo (se connesso via cavo) è OK e connesso.

Per le impostazioni, avrai sicuramente bisogno del nome della tua scheda di rete. Può essere trovato dall'output del comando:

$ sudo lshw -C rete

Consente di visualizzare i dispositivi di rete collegati.

Esempio di output del comando:

[e-mail protetta]:~$ sudo lshw -C network *-network description: Interfaccia Ethernet # Tipo di dispositivo prodotto: L2 100 Mbit Ethernet Adapter # Nome adattatore fornitore: Attansic Technology Corp. # ID fisico del produttore del dispositivo: 0 informazioni sul bus: [e-mail protetta]:03:00.0 nome logico: eth0 # Nome interfaccia di rete versione: a0 seriale: 00:00:00:00:00:00 # Indirizzo fisico dispositivo (indirizzo mac) dimensioni: 100 MB/s capacità: 100 MB/s larghezza: 64 bit clock: 33MHz capacità: pm msi pciexpress vpd bus_master cap_list ethernet fisico tp 10bt 10bt-fd 100bt 100bt-fd configurazione di autonegoziazione: autonegotiation=on broadcast=yes driver=atl2 # Driver usato driverversion=2.2.3 # Driver duplex version=full firmware = L2 ip=192.168.0.5 latency=0 link=yes # Link disponibile module=atl2 multicast=yes port=twisted pair speed=100MB/s # Velocità di connessione corrente.

Prestare attenzione alla riga:

Nome logico: eth0

eth0 è il nome dell'interfaccia di rete che stai cercando.

Il nome eth0 verrà utilizzato ulteriormente per configurare questa particolare scheda di rete. Dove eth indica che l'interfaccia Ethernet è in uso e 0 è il numero del dispositivo. Se hai installato diversi dispositivi di rete, verranno nominati di conseguenza: eth0 , eth1 , eth2 , ecc.

Dall'introduzione di SystemD (a partire da Ubuntu 15.04), le interfacce di rete possono avere altri nomi (non ethX). Questo viene fatto in modo che i nomi dei dispositivi di rete non cambino quando vengono collegati nuovi adattatori alla macchina (in tempi recenti, alcuni modem USB fungono da adattatore di rete). Di conseguenza, eth0 potrebbe essere chiamato enp0s4 o eno1, o anche enx78e7d1ea46da, per esempio. È questo nome della scheda di rete che deve essere utilizzato nella configurazione della rete.

Puoi leggere ulteriori informazioni sulla denominazione delle interfacce di rete in SystemD.

Questa ridenominazione può essere disabilitata aggiungendo /etc/predefinito/grub, a una stringa con una variabile GRUB_CMDLINE_LINUX_DEFAULT corda net.ifnames=0. Dopodiché devi eseguire sudo update-grub

Configurazione della rete cablata

Impostazione dell'indirizzo IP, gateway predefinito, subnet mask

/etc/network/interfaces, ad esempio in questo modo:

E aggiungi ad esso:
Per IP statico:

iface eth0 inet indirizzo statico 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameserver 192.168.0.254 8.8.8.8 auto eth0

    iface eth0 inet static - indica che l'interfaccia (iface eth0) si trova nell'intervallo di indirizzi IPv4 (inet) con un ip statico (statico);

    Indirizzo 192.168.0.1 - indica che l'indirizzo IP (indirizzo) della nostra scheda di rete è 192.168.0.1;

    Netmask 255.255.255.0 - indica che la nostra subnet mask (maschera di rete) è 255.255.255.0;

    Gateway 192.168.0.254 - indirizzo gateway predefinito 192.168.0.254;

    Server dei nomi DNS 192.168.0.254 8.8.8.8 - indirizzi Server DNS(di cui parleremo più avanti)

    Auto eth0 - indica al sistema che l'interfaccia eth0 dovrebbe essere abilitata automaticamente quando il sistema si avvia con i parametri di cui sopra.

eth0- il nome dell'interfaccia connessa. L'elenco delle interfacce può essere visualizzato digitando:

$ indirizzo IP

Di conseguenza il file /etc/network/interfaces dovrebbe assomigliare a questo:
(per una connessione cablata con IP statico)

# Questo file descrive le interfacce di rete disponibili sul tuo sistema # e come attivarle. Per ulteriori informazioni, vedere interfacce(5). # L'interfaccia di rete loopback auto lo iface lo inet loopback # La mia rete cablata. iface eth0 inet indirizzo statico 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameserver 192.168.0.254 8.8.8.8 auto eth0

Salva il file e chiudi l'editor. IN questo esempio(nano editor) - premi Ctrl + X , quindi Y , assicurati che "Nome file da scrivere" sia /etc/network/interfaces e premi Invio .

Ulteriori informazioni sulla sintassi dei file /etc/network/interfaces può essere letto nella documentazione.

Esempio di configurazione per IP dinamico:

faccia eth0 inet dhcp auto eth0

Impostazione temporanea dell'indirizzo IP e della subnet mask

Se è necessario configurare le impostazioni di prova, eseguire:

$ sudo ip addr aggiungi 192.168.0.1/24 dev eth0

Dove 192.168.0.1 è il nostro indirizzo IP, /24 è il numero di bit nella parte del prefisso dell'indirizzo (corrispondente alla subnet mask 255.255.255.0).
eth0- interfaccia di rete collegabile.

Queste impostazioni scompariranno dopo il riavvio del sistema e non influiranno sul file. /etc/network/interfaces

Configurazione DNS

La configurazione DNS è gestita dall'utilità resolvconf, che funziona in tandem con un piccolo server DNS di memorizzazione nella cache, dnsmasq. resolvconf consente di implementare Impostazione DNS sulla base di dati provenienti da diversi sottosistemi.
Una delle conseguenze di ciò innovazione utile(la transizione a questo schema è avvenuta in Ubuntu dalla versione 12.04) è che il file /etc/resolv.conf viene ora generato automaticamente, e non individualmente da ogni programma che vuole modificarlo (a volte sovrascrivendo le modifiche apportate in precedenza). La generazione automatica di /etc/resolv.conf significa che le modifiche manuali ad esso andranno perse.
Il /etc/resolv.conf generato automaticamente contiene un collegamento al server DNS sull'interfaccia locale (127.0.1.1) e lì (sulla porta 53) si trova il servizio dnsmasq, che è responsabile della risoluzione dei nomi simbolici in indirizzi IP. Va notato che questa porta (53) è aperta in modalità LISTEN, ma da allora Poiché si tratta di un'interfaccia locale, questa porta non è accessibile dalla rete esterna.
Le informazioni DNS per le interfacce statiche devono ora essere inserite in /etc/network/interfaces nei parametri dns-nameservers, dns-search e dns-domain (che corrispondono ai parametri nameserver, search e domain in /etc/resolv.conf)

Nota: in /etc/resolv.conf, quando si scrivono più server, vengono utilizzate diverse chiavi dei server dei nomi e in /etc/network/interfaces, tutti gli indirizzi dei server DNS vengono scritti in una riga dopo la chiave dns-nameservers, separati da spazi .

Di conseguenza, la descrizione dell'interfaccia statica in /etc/network/interfaces dovrebbe essere simile a questa:

iface eth0 inet indirizzo statico 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameserver 8.8.8.8 192.168.0.254 auto eth0

Ubuntu prima della versione 12.04

In più vecchio versioni di ubuntu quando è necessario specificare indirizzi statici I server DNS (se non vengono emessi automaticamente) eseguono:

$ sudo gedit /etc/resolv.conf

e inserisci lì gli indirizzi del server DNS ( voci separate per ogni server):

server dei nomi 192.168.0.100 server dei nomi 192.168.0.200

Dove 192.168.0.100 e 192.168.0.200 sono gli indirizzi del server DNS. Se devi aggiungere più indirizzi, ogni indirizzo deve iniziare con nuova linea e dalla frase nameserver

Configurazione delle connessioni ppp

Un demone è responsabile della creazione di connessioni point-to-point in Ubuntu pppd, Di più informazioni dettagliate di cui è disponibile nella documentazione. Questo tutorial esaminerà esempi su come creare Connessioni PPPoE tramite modem DSL, connessioni PPTP (connessioni VPN) e connessioni DIAL-UP tramite modem normale.

Connessione PPPoE

IN installazione standard Ubuntu include un'utilità di configurazione Connessioni PPPoEpppoeconf, per eseguirlo, digitare:

$ sudo pppoeconf

Apparirà una finestra "pseudo-grafica" nel terminale. L'utilità cercherà i dispositivi di rete e li visualizzerà sullo schermo, quindi cercherà un modem su questi dispositivi. Se in questa fase pppoeconf dà un risultato negativo, controlla la connessione, l'alimentazione del modem. Il prossimo passo- la scelta dei "parametri popolari" - nella maggior parte dei casi vale la pena concordare. Successivamente, l'utilità chiederà il tuo nome utente e quindi una password. Ora - la scelta del metodo Indicazioni DNS server. Ancora una volta, nella maggior parte dei casi, dovresti accettare di ricevere Indirizzi DNS server automaticamente. Successivamente, ti verrà chiesto di limitare la dimensione MSS a 1452 byte: di norma, dovresti essere d'accordo. La domanda successiva è se stabilire automaticamente la connessione all'avvio del computer. L'ultima domanda dell'utilità è se stabilire una connessione ora. pppoeconf crea il nome dsl-provider per la connessione per impostazione predefinita. Puoi gestire la connessione usando i comandi:

$ sudo pon dsl-provider # Per connettersi o $ sudo poff dsl-provider # Per disconnettersi

Se nel tuo caso le opzioni fornite dall'utility pppoeconf non abbastanza - fare riferimento alla documentazione di pppd o pppoeconf.

Nota: quando si imposta una connessione utilizzando pppoeconf parte delle impostazioni viene scritta in /etc/network/interfaces , per cui Network Manager non può più gestire la rete. Output: usa solo NM o solo console + configurazioni. Puoi riprendere il controllo di Network Manager come segue. Guida /etc/network/interfaces al seguente modulo (non è necessario eliminare l'eccesso, è sufficiente commentarlo):

# Questo file descrive le interfacce di rete disponibili sul tuo sistema # e come attivarle. Per ulteriori informazioni, vedere interfacce(5). # L'interfaccia di rete di loopback auto lo iface lo inet loopback

Riavvia la rete:

Riavvia o riavvia Network Manager:

$ sudo /etc/init.d/NetworkManager riavvia

Connessione PPTP

Per stabilire una connessione VPN con pppd devi installare il pacchetto pptp-linux, che si trova su disco di installazione Ubuntu. Successivamente, crea (come root) nella cartella /etc/ppp/peers file con il nome del tuo provider e modificalo, ad esempio in questo modo:

$ sudo nano /etc/ppp/peers/mio-provider

E aggiungi le opzioni di connessione lì, ad esempio:

Persisti # Quando la connessione è interrotta, riconnettiti. maxfail 0 # Numero massimo di tentativi di connessione falliti. 0 - infinito. mtu 1476 # Nome valore MTU (login) # Il tuo login. #nodefaultroute # Non essere un gateway predefinito defaultroute # Essere un gateway predefinito replacedefaultroute # Sostituisci il gateway predefinito se era remotename (vpn) # Nome Server remoto(per noi), può essere qualsiasi cosa. pty "pptp (server_address) --nolaunchpppd" # Avvia il comando pptp. # Indirizzo del server: può essere un indirizzo IP o nome del dominio, ad esempio vpn.foo.bar

(accesso) (vpn) (password)

Dopo aver riavviato il sistema è possibile gestire la connessione tramite i comandi:

Il processo di configurazione di una connessione VPN può essere notevolmente facilitato da un assistente di script.

Impostazione di una connessione DIAL-UP

Per impostare una connessione modem, puoi utilizzare il configuratore integrato pppd - pppconfig o attrezzo speciale wvdial .

Usando pppconfig

Il processo di configurazione con pppconfig molto simile all'utilità pppoeconfig, Ti verranno poste a turno domande sui parametri di connessione e ti verrà chiesto di inserire un numero di telefono, login e password e un nome di connessione. Eseguire pppconfig con diritti di superutente. Ad esempio in questo modo:

$sudo pppconfig

Puoi gestire la connessione in questo modo:

$ sudo pon my-provider # Per connettersi o $ sudo poff my-provider # Per disconnettersi

Dove my-provider è il nome che hai assegnato alla connessione durante la configurazione.

Usando wvdial

In alcuni casi (ad esempio, quando ci si connette tramite un telefono cellulare), è più comodo da usare wvdial. Per fare ciò, devi prima installarlo. Ad esempio in questo modo:

$ sudo apt-get install wvdial

Incluso nel pacchetto wvdial include un'utilità di configurazione automatica - wvdialconf .

$ sudo wvdialconf

L'output sarà qualcosa del genere:

[e-mail protetta]:~$ sudo wvdialconf password for ubuntu: Editing `/etc/wvdial.conf". Scansione delle porte seriali per un modem. Modem Port Scan<*1>: S0 S1 S2 S3 WvModem<*1>: Non può ottenere informazioni per porta seriale. ttyACM0<*1>: ATQ0 V1 E1 -- ​​OK ttyACM0<*1>: ATQ0 V1 E1 Z -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyACM0<*1>: Identificatore modem: ATI -- Produttore: QUALCOMM INCORPORATED ttyACM0<*1>: Velocità 4800: AT -- OK ttyACM0<*1>: Velocità 9600: AT -- OK ttyACM0<*1>: Velocità 19200: AT -- OK ttyACM0<*1>: Velocità 38400: AT -- OK ttyACM0<*1>: Velocità 57600: AT -- OK ttyACM0<*1>: Velocità 115200: AT -- OK ttyACM0<*1>: Velocità 230400: AT -- OK ttyACM0<*1>: Velocità 460800: AT -- OK ttyACM0<*1>: La velocità massima è 460800; quello dovrebbe essere sicuro. ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK Trovato un modem USB su /dev/ttyACM0. Configurazione del modem scritta in /etc/wvdial.conf. ttyACM0 : Velocità 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

Ora resta solo da modificare il file /etc/wvdial.conf e aggiungi il tuo numero di telefono, nome utente e password.

$ sudo nano /etc/wvdial.conf

Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Tipo di modem = Modem USB ISDN = 0 Secondi di inattività = 0 Nuovo PPPD = sì Tentativi di composizione = 0 Telefono = #777 Modem = /dev/ttyACM0 Nome utente = cellulare Password = internet Baud = 460800 Idle Seconds = 0 # Tempo di inattività della connessione, # dopo il quale dovrà essere terminata. Il valore 0 non è mai. Dial Attempts = 0 # Numero di tentativi di composizione. 0 - infinito. Comando di composizione = ATDP # Comando di composizione (P - impulso, T - tono). Ha senso per la composizione modalità a impulsi sui vecchi PBX.

Il file /etc/wvdial.conf è diviso in sezioni, i cui separatori sono i nomi delle sezioni stesse, preceduti dalla parola Dialer, tra parentesi quadre. Se esegui il comando senza parametri, entreranno in gioco le impostazioni elencate nella sezione Default. In caso contrario, verranno eseguiti anche i comandi specificati nelle sezioni aggiuntive.

Ora che tutto è configurato, la connessione può essere stabilita digitando:

$ sudo wvdial

Se è necessario eseguire wvdial con la composizione in modalità a impulsi, è possibile farlo con il comando

$ sudo wvdial pulse

È possibile terminare la connessione annullando il comando wvdial, ad es. nello stesso terminale devi premere Ctrl + C .

Connessione automatica

Modifica il file di configurazione /etc/network/interfaces, ad esempio in questo modo:

$ sudo nano /etc/network/interfaces

E aggiungi ad esso:
Per pppoe , pptp e connessioni dial-up senza utilizzare wvdial :

iface ppp0 inet ppp provider my-provider auto ppp0

Dove mio-provider- il nome della tua connessione.
Usando wvdial:

iface ppp0 inet wvdial provider wvdial auto ppp0

Ora, quando riavvii i servizi di rete, la connessione verrà stabilita automaticamente.

Configurazione manuale del percorso

Se non ottieni l'indirizzo del gateway predefinito dal server a cui ti stai connettendo o per qualche altro motivo devi specificare i percorsi manualmente, puoi creare il tuo script in /etc/ppp/ip-up.d/, o su raccomandazione della documentazione ufficiale, creare /etc/ppp/ip-up.local ad esempio così:

$ sudo nano /etc/ppp/ip-up.local

$ sudo nano /etc/ppp/ip-up.d/routing

con il seguente codice:

#! /bin/sh # route del default route add default ppp0 # nome della connessione Ppp. # ecco le route richieste, ad esempio: route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0

$ sudo chmod ug+x /etc/ppp/ip-up.local

$ sudo chmod ug+x /etc/ppp/ip-up.d/routing

Ora le rotte si collegheranno automaticamente quando viene stabilita una connessione ppp.

Impostazione MTU e TTL

MTU (Maximum Transfer Unit) - il parametro determina il valore dell'unità massima di trasferimento. Questo importo massimo ottetti (byte) che l'interfaccia può supportare in una singola operazione di trasmissione/ricezione. Per Ethernet, questo valore predefinito è 1500 ( taglia massima pacchetto Ethernet).

TTL (Time To Live): durata del pacchetto IP in secondi. Necessario per evitare il sovraccarico della rete con i pacchetti. Di solito, ogni router attraverso il quale passa il pacchetto riduce il TTL di uno. Se TTL=0, il pacchetto viene rimosso dal sistema. Inizialmente TTL=128 (per Windows) e TTL=64 (per Ubuntu). Per i record DNS, TTL definisce il tempo di validità dei dati durante la memorizzazione nella cache delle richieste.

Per modificare il valore MTU, modificare il file di configurazione /etc/network/interfaces, ad esempio in questo modo:

Auto eth0 iface eth0 inet indirizzo statico 192.168.1.5 netmask 255.255.255.0 mtu 600

Per modificare il valore TTL, digitare:

$ sudo su then # echo "128" > /proc/sys/net/ipv4/ip_default_ttl

Il valore TTL cambia solo con i diritti di amministratore, per disconnettersi dall'account amministratore, immettere Uscita

Configurazione Wi-Fi

Configurazione Wi-Fi con wpa-supplicant e /etc/network/interfaces

Questo capitolo discuterà come configurare una connessione a un file esistente Reti Wi-Fi utilizzando WPA2, lo standard di crittografia e autenticazione più sicuro al mondo. Inoltre, vengono forniti esempi di impostazioni per connessioni meno sicure.

Se puoi influenzare l'impostazione del punto di accesso, ad esempio, se è casa tua router wifi- provare a configurare l'autorizzazione utilizzando WPA2, perché questo è il massimo protocollo sicuro autenticazione nelle reti wireless al momento.

Osservazioni

Risoluzione dei problemi

Connessione Wi-Fi/Ethernet non stabilita con punto di accesso/router

Sintomi: la rete di solito inizialmente funziona correttamente, per un tempo lungo o breve, quindi scompare improvvisamente e non viene visualizzata dopo un riavvio. Questo problema potrebbe non essere permanente. La rete "da sola" inizia a funzionare e poi scompare di nuovo. Quando si riavvia la scheda di rete in questo modo:

sudo ifdown wlan0 sudo ifup wlan0

produrrà un testo simile alla console

Ascolto su LPF/wlan0/00-02-2A-E1-E0-6C Invio su LPF/wlan0/00-02-2A-E1-E0-6C Invio su Socket/fallback DHCPDISCOVER su wlan0 a 255.255.255.255 porta 67 intervallo 8 DHCPDISCOVER su wlan0 a 255.255.255.255 porta 67 intervallo 8 DHCPDISCOVER su wlan0 a 255.255.255.255 porta 67 intervallo 15 Nessun DHCPOFFERS ricevuto. Nessun lease funzionante nel database persistente - inattivo.

Causa del problema forse quello scheda madre non si diseccita completamente quando il computer è spento. In questo caso, probabilmente non diseccitato e alcuni apparecchiature periferiche, incl. le porte USB potrebbero non essere diseccitate. Se stai utilizzando, ad esempio, un adattatore USB Wi-Fi, in questo caso puoi notare il LED sull'adattatore (se dotato di esso). Probabilmente il problema si verifica a causa del fatto che l'apparecchiatura di rete in questa modalità non funziona correttamente.

Una soluzione semplice Il problema è spegnere il computer e scollegare il cavo di alimentazione dalla presa, quindi collegare il cavo di alimentazione e accendere il computer.

Decisione difficile Il problema sta nell'impostare i parametri del BIOS per un blackout completo delle apparecchiature di rete quando il computer è spento.

A volte la connessione Wi-Fi con il punto di accesso / router scompare ermeticamente

Sintomi: la rete inizialmente funziona, quindi dopo aver riavviato il punto di accesso / router scompare improvvisamente e non compare né dopo il riavvio né dopo aver ballato con un tamburello. Allo stesso tempo, l'adattatore wireless non vede il punto di accesso a distanza ravvicinata (sebbene possa stare accanto al computer), ma vede perfettamente tutte le reti vicine. Quindi, dopo il ~ventesimo~ riavvio del router, la rete riappare da sola.

Causa del problemaè possibile che alcuni router scelgano arbitrariamente un numero di canale funzionante, ignorando il numero di canale selezionato nelle impostazioni del router. Se il file /etc/network/interfaces contiene il numero del canale per interfaccia senza fili indicato, allora questo è probabilmente il problema. Il canale numero 6 è indicato nel file in questo modo:

Auto wlan0...canale wireless 6

Una soluzione semplice il problema è commentare questo parametro in modo che l'adattatore non sia limitato solo a questo canale e riavviare la rete

Auto wlan0 ... #canale wireless 6

Decisione difficile Il problema consiste nella registrazione di un bug sul sito Web del produttore del router (firmware per esso) e nell'aggiornamento del firmware del router dopo (nel caso) risolto.

Riavvio della rete

Ora che tutto azioni necessarie completato, è possibile riavviare la rete e testare la connessione. Per questo:

$ sudo /etc/init.d/networking restart

Ora, quando esegui il comando ip addr, la connessione eth0 dovrebbe essere visualizzata con i parametri impostati. Se viene visualizzata la connessione, ma i parametri non sono gli stessi di quelli specificati nel file /etc/network/interfaces o si verificano altri errori, ricontrolla questo file per inesattezze ed errori di battitura e prova a riavviare nuovamente la rete.

Domande frequenti sulla rete

Come posso accedere al mio computer dall'esterno (tramite Internet)?

Per prima cosa devi scoprire quale indirizzo IP fornisce il provider: grigio o bianco (da non confondere con statico / dinamico). Se grigio, non funzionerà nulla. Se bianco, sono possibili due opzioni:

    Non esiste un router o funziona in modalità bridge (bridge). In questo caso, l'indirizzo IP bianco viene assegnato al computer stesso. Inseriamo l'indirizzo: arriviamo al computer, tutto è semplice.

    L'indirizzo bianco è assegnato al router. Di conseguenza, a questo indirizzo arriviamo al router e non al computer. Per accedere al computer, devi inoltrare le porte sul router (vedi sotto).

Penso che la mia rete sia troppo lenta!

Misura la velocità di rete tra due computer utilizzando iperf . Puoi usare questa guida. Suggerisce di compilare il programma dal sorgente, ma puoi semplicemente installarlo dal file . Se iperf mostra un valore leggermente inferiore al previsto, allora va tutto bene con la rete, il problema potrebbe essere nell'hardware (il disco rigido / processore non può fornire alta velocità), nel metodo di trasferimento (ad esempio, scp e ftp sono molto lento), nelle impostazioni (la velocità può essere limitata, ad esempio, dalle impostazioni Server FTP) o qualcos'altro. Se iperf ha mostrato un valore molte volte inferiore a quello desiderato, allora sì, c'è un problema con la rete. Vale la pena vedere se la scheda è nella modalità corretta (ad esempio, utilizzando ethtool), verificare la presenza di "errori" nell'output di ifconfig e testare la velocità di connessione a un terzo computer.

Come posso scoprire quali programmi sono in ascolto sulle porte del mio computer?

Per visualizzare un elenco di porte aperte e i nomi dei programmi che le ascoltano, utilizzare il comando:

sudo netstat -nlpA inet,inet6

Per visualizzare informazioni su porto specifico grep può essere utilizzato. Ad esempio, per 80 porta:

sudo netstat -nlpA inet,inet6 | grep:80

Dall'output di netstat non è sempre chiaro quale programma sia in questione (ad esempio, 2671/pitone), ps ti dirà di più sul processo:

Sal aux | grep 2671

Come assegnare due indirizzi IP a una scheda di rete?

Ad esempio, l'interfaccia eth0 aggiungere un indirizzo 192.168.1.1 . Per un breve periodo, fino al riavvio della rete:

Sudo ip addr add 192.168.1.1/24 dev eth0

Per sempre: aggiungi quanto segue a /etc/network/interfaces:

#fix line auto auto eth0 eth0:1 # aggiungi alias iface eth0:1 inet indirizzo statico 192.168.1.1 netmask 255.255.255.0

Come inoltrare una porta?

Ad esempio, è necessario inoltrare la porta 8081. Chiamiamo l'indirizzo a cui accede il client IP_esterno, e l'indirizzo a cui dovrebbe andare - ip_interno.

iptables -t nat -A PREROUTING -p tcp -d externalip --dport 8081 -j DNAT --to-destination internalip:8081 iptables -t nat -A POSTROUTING -p tcp --dst internalip --dport 8081 -j SNAT - -to-source external_ip

E hai bisogno di qualcosa di simile

Iptables -t filter -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT


Autore: Paolo Ferrill
Data di pubblicazione: 4 novembre 2010
Traduzione: D.Ovodov
Data di trasferimento: gennaio 2010

Monitorare il traffico sulla tua rete è importante tanto quanto i dati e i computer che desideri proteggere. Capire come risolvere i problemi di rete di base ti proteggerà dallo spreco di tempo e denaro. Ogni distribuzione Linux include una serie di strumenti della console che possono aiutarti a determinare qual è il problema. Va notato che ci sono anche molti altri strumenti open source per evitare fastidiosi problemi di rete.

In questo articolo vedremo cosa può essere utilizzato dagli strumenti della console e da altri freeware. Conoscere alcuni semplici comandi e quando usarli ti aiuterà a diventare un esperto del settore in futuro. diagnostica di rete. Useremo Ubuntu 10.04 per i test, ma tutto ciò che abbiamo testato funziona altrettanto bene su altre distribuzioni.

Il buon vecchio Ping

Se non ti piace usare la riga di comando di Linux dal terminale, puoi tranquillamente fermarti qui e passare ad altre applicazioni. Ma, in effetti, non c'è assolutamente niente di sbagliato nella riga di comando, specialmente se la usi per diagnosticare problemi di rete. La maggior parte dei comandi mostra solo informazioni che possono aiutarti a capire cosa sta succedendo. Tuttavia, alcuni comandi richiedono i diritti di superutente o almeno la possibilità di eseguire il comando sudo.

Il primo e più importante comando è ifconfig . L'esecuzione di questo comando visualizzerà informazioni su tutti noto al sistema dispositivi di rete. Nell'esempio sopra, vedi eth0 e lo. Il primo corrisponde alla rete scheda ethernet(con indirizzo assegnato 192.168.0.2), la seconda è la cosiddetta connessione local loop o loopback. Questo comando mostra anche l'indirizzo MAC del dispositivo (HWaddr) e le statistiche sul traffico. Questo comando dovrebbe essere il primo se si riscontrano problemi di rete per vedere se l'indirizzo IP è corretto e se vengono conteggiati gli errori di traffico o di dati.

Il comando ping è il secondo usato dopo ifconfig per vedere se il tuo computer ha una connessione con il mondo esterno. L'esecuzione di una richiesta ping a qualsiasi indirizzo di rete che conosci (ad esempio, 4.2.2.1) mostrerà immediatamente se sei connesso o meno alla rete. Mostrerà anche il tempo di esecuzione della query. In genere, il tempo di esecuzione per un tipo di connessione DSL dovrebbe essere di circa 50 millisecondi.

Dopo questi due comandi, puoi provare a eseguire comando rotta. Verrà visualizzato un elenco di indirizzi IP, inclusi gli indirizzi di destinazione e gateway assegnati a uno dei dispositivi, nonché Informazioni aggiuntive, ad esempio la colonna Flags. Questa colonna conterrà la lettera G nella riga associata al gateway predefinito. Puoi usare questo indirizzo per comando ping per vedere se il tuo computer è connesso al gateway.

EtherApe può essere installato da Ubuntu Software Center. Questo programma utilizza le librerie GNOME e libpcap per visualizzare una mappa visiva di tutto traffico di rete passando attraverso l'interfaccia selezionata. Una volta installato, l'icona EtherApe apparirà nel menu Applicazioni / Sistema. Tuttavia, quando l'abbiamo lanciato in questo modo, non siamo riusciti ad aprire alcun dispositivo di rete, poiché ciò richiede i diritti di superutente. Quindi abbiamo avviato EtherApe da riga di comando usando sudo:

$ sudo etherape

Quando esegui il programma, dovrebbe iniziare a costruire visualizzazione grafica traffico che passa attraverso l'interfaccia Ethernet principale. È possibile selezionare un altro dispositivo se il computer dispone di più schede di rete tramite il menu Cattura / Interfacce. EtherApe può anche visualizzare i dati da un file pcap salvato e visualizzare il traffico del protocollo specifico.

nmap

Nmap è uno scanner di rete ampiamente utilizzato progettato per uso di sicurezza, rilasciato per la prima volta nel 1997. Utilizza una varietà di pacchetti speciali per testare la rete per un'ampia varietà di scopi, inclusa la creazione di una mappa di indirizzi IP, determinando quale è installato su calcolatore remoto sistema operativo e scopri l'intervallo di porte sull'indirizzo IP specificato. Una delle funzioni principali è il cosiddetto ping sweep, ovvero una serie di richieste ping per scoprire con quali indirizzi i computer sono connessi alla rete. Questo viene fatto come segue:

$ nmap -sP 192.168.0.1-255

Ci sono anche un certo numero di applicazioni grafiche disponibili nell'Ubuntu Software Center che usano nmap come base e visualizzano i risultati in un modo più "amichevole". Esempi di tali applicazioni sono NmapSI4, che utilizza l'interfaccia Qt4, e Zenmap.

tcpdump

Catturare il traffico di rete per ulteriori analisi è la funzione principale di tcpdump . Il pacchetto viene catturato utilizzando libpcap e la visualizzazione finale e l'analisi vengono eseguite da tcpdump. Le informazioni grezze dei pacchetti Ethernet vengono scritte in un file pcap per ulteriori analisi. Lo stesso formato è utilizzato da altri strumenti di sniffer di pacchetti come Wireshark.

Il comando per eseguire tcpdump per acquisire il traffico di base potrebbe essere:

$ sudo tcpdump nS

Il comando sudo è necessario per accedere al dispositivo Ethernet principale. Questo comando visualizzerà le informazioni di base tra cui l'ora, l'indirizzo di origine e di destinazione e il tipo di pacchetto. Tcpdump continuerà a essere eseguito e visualizzerà le informazioni nel terminale finché non si preme Ctrl-C. Tcpdump è il modo migliore e più veloce per scrivere il traffico di rete su un file. Il comando per questo scopo potrebbe essere:

$ sudo tcpdump w pktfile.pcap

Wireshark

Wireshark, precedentemente noto come Ethereal, è diventato la scelta di molti, se non della maggior parte, dei professionisti dell'amministrazione di rete. ( Utenti Ubuntu 10.04 troverà Wireshark nell'Ubuntu Software Center sotto "Internet".) Come con gli altri strumenti, abbiamo avviato Wireshark dalla riga di comando usando sudo per vedere i dispositivi Ethernet disponibili. Dopo l'avvio, a sinistra nella finestra principale è possibile visualizzare un elenco di interfacce disponibili. Dopo aver selezionato il fisico desiderato o dispositivo virtuale, verrai indirizzato a una pagina in cui verranno visualizzati i pacchetti di rete.

Wireshark fornisce informazioni molto ricche sul traffico acquisito e consente inoltre di utilizzare strumenti per filtrare / visualizzare i pacchetti in base a qualsiasi criterio. Il sito Web di Wireshark contiene collegamenti a video dimostrativi per aiutarti a metterti al corrente rapidamente.

Conclusione

Linux è la piattaforma ideale per imparare a risolvere i problemi di rete. Offre un numero enorme di applicazioni grafiche e console per analizzare e visualizzare il traffico di rete.

Sul sito "Linux Software Guide", troverai brevi descrizioni e collegamenti ai siti Web degli sviluppatori sia di quelli menzionati in questo articolo che di altri programmi per il monitoraggio e l'amministrazione delle reti.

Principali articoli correlati