Come impostare e configurare file TCP/IP su Linux (Impostazioni TCP/IP per Linux)

Anche i non fanatici hanno probabilmente sentito parlare di " TCP/IP ", ma tutti sanno di cosa si tratta o come configurarlo su un server Linux utilizzando la riga di comando(using the command line) ?

Aiuta a definire prima la terminologia di base. Per lo meno, ti consente di sviluppare una struttura su cui costruire la tua comprensione. TCP/IP non fa eccezione. 

Questa sezione sulla terminologia non è un elenco esaustivo. Ti darà una base su cui iniziare il tuo viaggio nella comprensione della rete e come configurare i file TCP/IP su Linux

The *Nix World

Ti sei mai chiesto cosa significa *nix ? Che dire di come Unix e Linux sono correlati(Unix and Linux are related) (per non parlare di tutte le varie versioni di ciascuno)?

*nix è un metodo per fare riferimento a Linux e/o Unix (o qualsiasi distribuzione) utilizzando un carattere jolly (l'asterisco) per farlo. 

* Nix è stato sviluppato alla fine degli anni '60. AT& T Bell Labs ha(T Bell Labs) sviluppato Unix più o meno nello stesso periodo. attraverso varie iterazioni e sviluppi, nacque anche Linux .

Il risultato di queste innovazioni parallele è che una volta appreso come eseguire installazioni su un server tramite la riga di comando, hai appreso un'abilità che è probabilmente compatibile con molte altre attività su una varietà di server  Unix o Linux .

Man Page – Informazioni a portata di mano(Man Pages – Information at Your Fingertips)

Proprio come Google , Linux ha il proprio set di strumenti di ricerca e ricerca che consentono agli utenti di trovare le risorse di cui hanno bisogno. Tali risorse sono note come "pagine man". Quando si accede a un server Linux (o un sistema operativo basato su (Linux)Linux ), è possibile aprire l'applicazione della riga di comando e digitare ciò che si desidera ricercare, ad esempio digitare un termine di ricerca in un file di documentazione interattivo.

Se scegli un argomento che vuoi ricercare, come un'utilità Linux , uno strumento, un (Linux)demone, uno script(daemon, script) , puoi cercarlo digitando "man" e poi la parola. Imparerai come farlo più avanti in questo articolo.

Le pagine man sono facili da usare. Basta(Just) iniziare a digitare un paio di parole e il sistema operativo Linux(Linux OS) inizierà a restituirti le informazioni. Se non c'è una pagina man per un argomento particolare , Linux te lo dirà.

Per la maggior parte, le pagine man sono ragionevolmente accurate per la versione del software su cui appaiono. Ad esempio, se sei connesso a un server Linux che ha 10 anni, la pagina man mostra le informazioni relative a quella versione (e all'età).

Le pagine man sono facili da usare e accurate, ma ci sono un paio di avvertimenti. Illustriamo questi avvertimenti tramite immagini. 

Nell'immagine seguente, la pagina man di ARP indica che ARP è obsoleto (nella sezione "note") e che si dovrebbe invece cercare ip neigh . Sembrerebbe, con tale notazione, che si potrebbe voler digitare " man ip neigh " per accedere alle informazioni sullo strumento/protocollo sostitutivo. 

Tuttavia, digitando “ man ip neigh ” non si cerca nella pagina man “ip neigh”. Invece, cercherà due pagine man... una per "ip" e l'altra per "neigh". 

Anche se è vero che otterrai una pagina man se digiti "man ip neigh", a meno che tu non presti molta attenzione, potresti non notare che in realtà non è quello che stavi cercando. 

Potresti aggiungere un trattino (anche se non è quello che mostra nella pagina man quando fai riferimento allo strumento di sostituzione)... Quindi, se aggiungi un trattino e digiti "man ip-neigh" funziona anche bene ma non è corretto o.

Potresti provare a digitare " man ip-neighbour " (nota l'ortografia britannica). Quando digiti quella particolare frase, vedrai la pagina man corretta per sostituire la pagina man di ARP (o sostituire il protocollo ARP ). La linea di fondo è questa: se non riesci a trovare ciò che ti serve, prova a utilizzare diverse combinazioni fino a ottenere la pagina man desiderata.

Ad esempio, prova a cercare la pagina man dello strumento nslookup. Puoi farlo digitando "man nslookup". Quando lo fai, vedrai una pagina man simile all'immagine/schermata qui sotto. Imparerai tutto ciò che vorresti sapere sullo strumento nslookup.

Dopo che la pagina man viene visualizzata sullo schermo, puoi scorrere verso il basso, leggere, applicare, testare e persino chiudere la pagina man (digitando la lettera "q" e lasciando che la pagina man si chiuda automaticamente).

Se richiedi una pagina man che non esiste, Linux ti fornirà il feedback che non ci sono voci per quella pagina man e ne proverà un'altra.

IPv4 e IPv6(IPv4 and IPv6)

Sia IPv4 che IPv6 sono tecnicamente gli stessi, ma non sembrano uguali a noi umani. Sono un mezzo per identificare macchine o dispositivi su una rete locale ( LAN ). Sono privati ​​nel modo in cui identificano i dispositivi nella LAN .

IPv4 utilizza numeri separati da punti/punti. La maggior parte di noi ha familiarità con il tipo di indirizzi IP che vediamo per i computer collegati alle nostre reti private utilizzando il formato IPv4 .

Anche i computer su una rete hanno un indirizzo IPv6 , ma ha un aspetto diverso. IPv6 è composto da caratteri alfanumerici separati da due punti ( : ). 

Quindi quali sono le differenze tra IPv4 e IPv6 ? Pensalo(Think) come un nome di rete. Uno è come il nome e l'altro è il cognome. Entrambi i nomi puntano alla stessa persona (o, in questo caso, a un computer). Proprio come generalmente abbiamo un nome diverso rispetto al nostro cognome, il "nome" IPv4(IPv4 “) sarà diverso dal "nome" IPv6(IPv6 “) anche se entrambi puntano alla stessa macchina.

Carla Schroeder ha scritto un articolo utile e di facile lettura su IPv4 e IPv6(useful article about IPv4 and IPv6) .

Accesso root su un server Linux (e su e sudo)(Root Access on a Linux Server (and su and sudo))

Per molte delle attività che devono essere completate, è richiesto l'accesso come root (aka amministratore o superutente). Questo perché molte di queste utilità e app sono abbastanza sensibili da essere limitate per motivi di sicurezza. 

Una soluzione alternativa per accedere come root o attivare l'accesso come superutente (su) è anteporre un comando con "sudo" che dice alla macchina Linux che quel particolare comando deve essere eseguito come superutente/root, ma che i comandi successivi no (a meno che anche preceduto dalla direttiva “sudo”). 

Nei casi in cui "sudo" viene utilizzato e anteposto al comando, Linux richiederà la password su per autenticare l'identità e le autorizzazioni del superutente.

Protocolli di rete(Networking Protocols)

ci sono molti protocolli differenti da considerare quando si parla di Linux . I due protocolli primari di questo articolo sono TCP e IP.

Protocollo di controllo della trasmissione (TCP)(Transmission Control Protocol (TCP))

Transmission Control Protocol , più spesso indicato come TCP , è un protocollo utilizzato per la trasmissione di pacchetti, proprio come descrive il nome.

Vedi sotto per una spiegazione di vari strumenti, incluso lo strumento Linux chiamato Controllo del traffico(Traffic Control) (tc). 

TCP indirizza il sistema operativo Linux su come i pacchetti devono spostarsi da un posto all'altro. Controlla anche il traffico di rete e dirige la trasmissione di pacchetti di informazioni (come cartelle di dati(data) che si spostano da un luogo all'altro). 

Questo è il motivo per cui il protocollo è chiamato  Transmission Control Protocol (TCP). 

Protocollo Internet (IP)(Internet Protocol (IP))

Il protocollo Internet(Internet Protocol) è comunemente indicato con il suo acronimo, IP.

Nel caso dell'IP(IP) si dispone di un'area più ampia ( Internet ) per trasmettere i pacchetti. È come avere una super autostrada più ampia, più lunga e più percorsa... chiamata Internet. Mentre TCP controlla il movimento dei pacchetti attraverso una rete, IP controlla il movimento dei pacchetti attraverso Internet.

Protocollo ICMP(ICMP Protocol)

ICMP sta per Internet Control Messaging Protocol . Sebbene sia un protocollo disponibile nella maggior parte delle distribuzioni Linux , potrebbe non essere disponibile su tutte le distribuzioni Linux . Ciò è stato evidenziato dalla mancanza di una pagina Man all'interno di un'installazione Centos corrente.(Centos)

A prima vista, potrebbe non sembrare che questo particolare protocollo sia così essenziale, ma in realtà lo è. ICMP è responsabile di fornire messaggi di errore se/quando un pacchetto non raggiunge correttamente la sua destinazione. ICMP è essenziale per ricevere aggiornamenti sullo stato della consegna (o ricezione) dei pacchetti di informazioni trasmessi.

User Diagram Protocol (UDP)

User Diagram Protocol ( UDP ), come Transmission Control Protocol ( TCP ), è un protocollo per la trasmissione di pacchetti di informazioni da un punto all'altro. Nel caso di TCP , come parte del processo/trasmissione, c'è una verifica della corretta consegna dei pacchetti, rendendolo più affidabile di UDP .

Nel caso di UDP , non esiste un processo di verifica, quindi non saprai se i pacchetti sono stati trasmessi o ricevuti correttamente e senza errori. In quanto tale, è un protocollo abbastanza facile da utilizzare ma non è verificabile o in grado di essere autenticato. 

Configurazione Linux(Linux Configuration)

Sono disponibili diversi file di configurazione nel sistema operativo  Linux .

Ad esempio, se stai eseguendo un server Apache sulla tua macchina Linux , i file di configurazione di Apache sono importanti. (Apache)Questi file consentono al server Web Apache di sapere cosa sta succedendo con il dominio e, più specificamente, il sito ospitato su quel server.

A volte il file di configurazione è etichettato come httpd.conf. A volte è etichettato come apache.conf. Oppure potrebbe essere un'etichetta/nome completamente diverso. Potresti trovare i file di configurazione in una posizione su un server e altre volte si trovano in una posizione completamente diversa su un altro server.

Fortunatamente, ci sono comandi utili che possono aiutare a localizzare file di configurazione specifici. Ad esempio, puoi digitare quanto segue per individuare il file di configurazione " httpd.conf ", se esiste:

find / -name “httpd.conf”

La prima parola, "trova", consente a Linux di sapere quale comando/utilità stai utilizzando, che in questo caso è l'utilità "trova". Il secondo componente della riga di comando è "/" che consente all'utilità di ricerca di sapere che dovrebbe cercare il percorso a partire dal livello radice del server.

Se stavi cercando in una posizione più specifica, potresti avere qualcosa come "/etc" per far sapere a Linux di iniziare nella directory etc e seguire quel percorso. Fornendo un percorso/posizione specifico, puoi potenzialmente accelerare il processo, perché Linux non deve cercare in luoghi ridondanti.

L'opzione " -name " consente a Linux di sapere cosa stai cercando nel nome del file o della directory. È utile includere il nome tra virgolette e puoi anche utilizzare un asterisco ( * ) come carattere jolly durante la ricerca.

Alcuni esempi di file e directory di configurazione nella directory/percorso "/etc" includono: 

  • pam.d – una directory che contiene le utilità relative ai moduli di autenticazione. "Su" e "sudo" si trovano lì, a titolo di esempio.
  • sysconfig – una directory che include funzioni del computer, come gestione dell'alimentazione, mouse e altro. 
  • resolv.conf – un file che aiuta nella funzionalità del server dei nomi di dominio, se la macchina Linux viene utilizzata in tale capacità.
  • services – questo file contiene le connessioni disponibili (cioè le porte aperte) disponibili sulla macchina Linux .

Se ti stai chiedendo se file, percorsi o utilità sono obsoleti o obsoleti, usa le pagine man per controllare. Questo è un modo utile per tenere sotto controllo ciò che è attuale e ciò che è cambiato.

Comprensione del file system Linux(Understanding the Linux File System) 

In molte distribuzioni Linux(Linux distributions) , i file di configurazione si trovano nella directory degli script di rete nel percorso " etc/sysconfig ". Se non si trovano lì, è probabile che ci sia una posizione/percorso simile. I file che sono presenti in questo caso particolare sono mostrati nello screenshot qui sotto.

Come vedrai nello screenshot qui sotto, ci sono due file di configurazione. Ciascuno di essi è etichettato in base alle rispettive interfacce (ad esempio ifcfg-eth0).

I file di configurazione sono preceduti da “ ifcfg ” che sostituisce il comando ifconfig(ifconfig command) (oltre a diventare parte del nome del file di interfaccia). Detto questo, ora è stato anche in qualche modo sostituito poiché ifcfg non è compatibile con IPv6 .

I riferimenti alle due interfacce ( ifcfg-eth0 e ifcfg-lo ) si riferiscono a tipi specifici di interfacce. Gli sviluppatori Linux(Linux) sono stati utili in quest'area, fornendo definizioni e indicazioni sotto forma di nomi di file. Nel caso dell'interfaccia che termina con " eth0 ", si tratta di un'interfaccia connessa tramite "ethernet" o dotata di funzionalità ethernet.

L'uso delle lettere " eth " ti indica la giusta direzione. Il numero che segue “eth” fornisce il numero del dispositivo. Quindi, il prossimo dispositivo Ethernet potrebbe essere qualcosa come " ifcfg-eth1 " e così via.

Il nome del file che termina con "lo" si riferisce a un'interfaccia "loopback". Viene anche indicato come " localhost ". Questa è una connessione di rete che tecnicamente non è una vera connessione di rete. Consente semplicemente ai processi di comunicare sul dispositivo senza comunicare in rete. Pensa "virtuale" quando pensi a questa particolare interfaccia.

Tutte le distribuzioni Linux sono in grado di avere un loopback (o localhost) e di solito sono impostate per uno per impostazione predefinita. Usano un'interfaccia che termina con "-lo". L'indirizzo IP per l'host locale è in genere 127.0.0.1. In molti casi, l'interfaccia virtuale di loopback può essere utilizzata per testare le connessioni ed escludere altri potenziali problemi di rete.

I file(The Files)

Esistono diversi modi per modificare i file di configurazione (oltre a visualizzarli). Un metodo consiste nell'usare " vi editor " a cui si accede tramite il comando " vi " seguito dal nome del file. In questo caso, quando si digita “ vi ifcfg-eth0 ” (senza virgolette) è possibile visualizzare le informazioni di rete per quella particolare interfaccia (eth0).

Tuttavia, sarebbe più consigliabile farlo nel modo tradizionale e seguire le istruzioni di configurazione della rete che si trovano nella pagina man di ifcfg.

Questo può anche essere più facile per la persona non tecnica. L'uso dell'editor vi richiede un po' di attenzione ai dettagli, quindi se sei orientato ai dettagli (o sei già un programmatore o un amministratore di sistema) l'editor vi potrebbe essere una soluzione ottimale quando lavori con i file di configurazione di Linux .

Accedendo alle pagine man, siamo in grado di rivedere le informazioni sullo script ifcfg che ha sostituito lo script ifconfig (come mostrato nella schermata sopra della pagina man). Inoltre, osservando l'elenco delle interfacce nella distribuzione Linux , notiamo i comandi ifup e ifdown. Anche quelli possono essere esaminati nelle loro pagine man.

Uno screenshot della pagina man è mostrato nell'immagine qui sotto. Come vedrai nella pagina man, ci sono file di configurazione Linux aggiuntivi (e i percorsi per arrivare a quei file) che possono essere consultati (e modificati) nell'impostazione e configurazione dei file TCP/IP su Linux .

Se utilizzi un editor di testo a riga di comando come l'editor vi per visualizzare il file di configurazione, noterai alcune opzioni che sono state definite. Ad esempio, guardando l'interfaccia di rete, potresti vedere le parole in maiuscolo, seguite da un segno di uguale (=) e poi un'altra parola. 

Ad esempio, potrebbe esserci una direttiva che è " ONBOOT " e potrebbe dire "ONBOOT=yes" come esempio di un'opzione di configurazione. Ci sono anche molti altri punti di configurazione e opzioni. Ad esempio, un altro è NETMASK

Se vedi la direttiva di configurazione, " NETWORKING ", dovrebbe essere seguita da un "sì". Se è seguito da "no" potrebbe rappresentare un problema perché indicherebbe che l'interfaccia di rete non è attivata per il networking. 

Ecco una procedura passo passo per correggere la situazione appena descritta:

  1. Fai una copia del file di configurazione, per sicurezza. Ci sono alcuni modi per farlo. Uno dei più semplici è con la finestra di comando.

    Digitare: cp ifcfg-eth0 ifcfg-eth0_20200101

    Quindi nella riga successiva, digitare: mv ifcfg-eth0_20200101 /home/mydirectory/ifcfg-eth0_20200101

    Questo sposta la copia del file appena eseguita in una directory che stai utilizzando per i backup.
  2. Ora che hai eseguito un backup del file di configurazione, è il momento di apportare modifiche a quel file di configurazione. Se stai usando l'editor vi, dovresti digitare quanto segue:

    vi ifcfg-eth0

    Dopo averlo fatto, il file si aprirà nell'applicazione di comando/terminale (simile al modo in cui si apre una pagina man quando la attivi).

    Una volta che il file di configurazione è aperto, dovresti cercare la riga che include " NETWORKING=no " ed eliminare quella riga o cambiarla in "NETWORKING=yes". Questo può essere fatto con il " cw” nell'editor vi. Digitando una barra in avanti, stai dicendo all'editor vi che stai cercando qualcosa. In questo caso, fai sapere all'editor che stai cercando “NETWORKING” e quando viene trovato (indicando con il mouse quella posizione) puoi usare il tasto freccia destra per spostarti sulla parola “no”.

    Quando arrivi alla parola "no", fermati sulla "n" e digita " cw " permettendoti di cambiare il "no" in "sì". Il "cw" sta per cambia parola e Linux ti consente di cambiare l'intera parola da una parola ("no") a un'altra ("sì"). Se desideri modificare solo una lettera, puoi utilizzare una "r" per sostituire una lettera o un carattere.

    Gli screenshot mostrano questo processo di seguito.
     
  3. Dopo aver salvato il file di configurazione (cioè digitando esc per uscire dalla modalità INSERT e poi una doppia Z per salvare il file), è il momento di riavviare il servizio o il computer. Questo può essere fatto in diversi modi. Un metodo per riavviare il computer è digitare la seguente riga di comando:

    shutdown -r now

    Il comando shutdown dice alla macchina Linux di spegnersi. L'opzione -r dice al comando che non è solo un arresto, ma un riavvio e di farlo ora.

    Suggerimento:(Tip:) se vuoi sapere quando il computer o il server ha completato il riavvio, digita "ping" e poi l'indirizzo IP pubblico del computer/server (o un nome di dominio di un sito ospitato sul server Linux ).

    Usando il comando ping, vedrai che il server non è "pingabile" (cosa che accade durante il riavvio) e quindi quando il server si riavvia correttamente, il ping risponderà con una risposta positiva, indicando un riavvio riuscito.

Di seguito sono riportate alcune immagini che aiutano a illustrare i passaggi nell'elenco precedente.

Passo 1:

Passo 2:

Suggerimento:(Tip:) tieni presente che nulla nel mondo dei server è singolare. Ad esempio, è possibile modificare la configurazione per un'interfaccia particolare (in questo caso eth0), ma potrebbe essere solo un'interfaccia su una rete e potrebbe essere influenzata da (o influenzare) un altro server.

Quindi, nell'esempio sopra, riavviando il server, verranno riavviati anche i dispositivi di rete. Questa non è l'unica opzione per questa interfaccia, ma questa interfaccia sarebbe influenzata da un comando di riavvio. 

/etc/hosts File(s)

Il /etc/hosts può esistere o meno. Se esiste, può essere utilizzato o meno nella configurazione. Ad esempio, potresti avere un sistema diverso che gestisce le configurazioni host, invece di gestire direttamente il file. Inoltre, il file hosts stesso varia. Ad esempio, IPv4 e IPv6 gestiscono la configurazione in modo diverso, come puoi vedere nell'immagine seguente.

Configuration Files; Locations/Paths; Terms; and More

Alcuni nomi di file e percorsi di file aggiuntivi utili sono:

  • /etc/sysconfig/network-scripts/ (percorso del file di configurazione)
  • /etc/sysconfig/network-scripts/ifcfg-eth0 (file di configurazione)
  • /etc/hosts (file di configurazione)
  • /etc/resolv.conf (file di configurazione con informazioni sul server dei nomi)

In molti casi, il software del sistema o del server crea automaticamente i file di configurazione. Inoltre, se viene utilizzato DHCP , esistono altri aspetti della configurazione di rete che vengono calcolati al volo, poiché in questo caso non vengono utilizzati indirizzi IP statici.

I seguenti comandi da riga di comando (CL) sono stati (o sono) utilizzati nella maggior parte delle distribuzioni Linux. Laddove sono obsoleti o deprecati, viene elencato il comando di sostituzione.

  • route ( obsolete / deprecated ): è stato utilizzato per mostrare e modificare le rotte. Sostituito da ip route .
  • hostname : utilizzato per visualizzare o manipolare e modificare il nome host della macchina. 
  • netstat : Visualizza connessioni di rete, tabelle di routing, statistiche dell'interfaccia, appartenenze multicast, ecc.
  • arp : ( obsolete / deprecated ) utilizzato per mostrare informazioni IPv4 ; in particolare la cache del vicino di rete. IPv6 è diventato l'indirizzo di rete, sostituendo la raccolta IPv4 di quattro numeri separati da punti. Alla luce di queste modifiche, questo comando obsoleto è stato sostituito da ip neigh .
  • ip : non solo IP sta per "protocollo Internet" e la WAN definitiva (rete WAN), ma è anche un'utilità che consente all'amministratore di sistema o all'utente del computer di visualizzare i parametri TCP/IP e di impostarli come necessario.
  • tc : sta per "controllo del traffico" ed è un'utilità che aiuta a gestire il traffico in entrata e in uscita sulla macchina Linux

Strumenti di configurazione: GUI vs. Riga di comando (CL)(Configuration Tools: GUI Vs. Command Line (CL))

Per fornire un punto di riferimento, le tre immagini seguenti mostrano un meccanismo di interfaccia utente grafica ( GUI ) per gestire la configurazione della rete, incluso TCP/IP

La prima immagine è la GUI di Apple Mac(Apple Mac GUI) ( System Preferences > Networking ) e le seconde due immagini sono quella del sistema operativo Windows(Windows Operating System) (sebbene vari da versione a versione). Si accede tramite il Pannello di controllo Microsoft(Microsoft Control Panel) e Connessioni di rete(Network Connections) , come puoi vedere negli screenshot.

Pro e contro della GUI rispetto all'editor di testo o alla riga di comando (CL)(Pros and Cons of GUI Versus Text Editor or Command Line (CL))

Sebbene molte persone preferiscano le interfacce utente grafiche ( GUI ) per la loro facilità d'uso, presentazione visiva e semplicità generale, è utile comprendere i file di configurazione (in questo caso relativi alla rete) in modo da poter risolvere e correggere eventuali problemi. 

Potresti voler prendere prima la GUI , ma aiuta ad essere pienamente informati ... per ogni evenienza. Inoltre, ci sono alcuni sistemi operativi che non hanno necessariamente una GUI (o non ne hanno ancora una) così di nuovo; è utile essere preparati.

Nella prossima sezione tratteremo i file di configurazione e come accedervi, aggiornarli, nonché la gestione dei file e delle utilità.

Strumenti, utilità, script e demoni della riga di comando (CL) di Linux(Linux Command-Line (CL) Tools, Utilities, Scripts, and Daemons)

Ci sono molti strumenti disponibili per le distribuzioni Linux . Anche(Again) in questo caso , come altri comandi, ci sono somiglianze (e differenze) tra il modo in cui questi strumenti vengono utilizzati nelle diverse distribuzioni. In alcuni casi, gli strumenti sono disponibili ma devono essere installati prima e il processo di installazione spesso varia.

Lo strumento da riga di comando è spesso indicato come shell e nei primi giorni terminal . Ci sono altri termini per definirlo, ma in genere è un'applicazione che consente all'utente di accedere ai sistemi operativi digitando i comandi in una finestra.

Diamo un'occhiata a un paio di esempi. Il primo proviene dal sistema operativo Windows e probabilmente sembra familiare agli utenti Windows . Lo strumento viene aperto digitando CMD (come mostrato negli screenshot seguenti). 

Il secondo screenshot è quello di un'applicazione chiamata Terminal che viene preinstallata sulla maggior parte dei computer Apple .

NSLookup (nslookup)

Nel caso di nslookup , ns sta per nameserver e la parte di ricerca(lookup) del comando è una "ricerca" di informazioni. Quindi, ciò che il nome di questo strumento ci dice è che cercherà informazioni generalmente disponibili tramite un server dei nomi.

NSLookup è uno strumento utile. In questo caso, lo stiamo utilizzando per cercare informazioni su eBay. Per fare ciò, digitiamo "nslookup ebay.com" e ci vengono presentate informazioni simili a quelle mostrate nell'immagine qui sotto.

Il comando viene visualizzato nella parte superiore dello screenshot (dopo le informazioni private sfocate). Quindi, l'output di tale richiesta ( nslookup ) viene mostrato di seguito, con informazioni come Server (l'indirizzo IP pubblico), l' indirizzo IP(IP address) specifico , ecc. 

Controllo del traffico (tc)(Traffic Control (tc))

Un altro strumento è lo strumento "Traffic Control" (denominato anche "tc"). E' uno strumento che permette la programmazione e l'elaborazione di pacchetti di dati. 

Il comando ti dice come(how) si muovono i pacchetti su una rete. Questo aspetto include le(how) risposte a domande come tempismo, velocità, dispositivi e altro ancora. Ecco una rappresentazione della riga di comando (CL) dell'uso di Traffic Control (tc):

Anche se ad alcuni potrebbe sembrare "incomprensibile", ogni parola nella riga di comando rappresenta qualcosa di importante. Ecco l'elenco:

  • tc : Questo è lo strumento, in questo caso "Traffic Control" (aka "tc"). Questo indica all'applicazione/software della riga di comando quale strumento Linux utilizzare.
  • qdisc : questa abbreviazione sta per accodamento disciplina(queuing discipline) ed è un altro modo per descrivere un semplice scheduler.
  • add : poiché stiamo costruendo una configurazione (sì, tecnicamente un file), stiamo dicendo lo strumento che stiamo aggiungendo(adding) ai controlli.
  • dev eth0 : Il "dev" si riferisce al "dispositivo", facendo sapere allo strumento che stiamo per definire il dispositivo. L'"eth0", in questo caso, è il riferimento al dispositivo. Noterai che questo è simile a ciò che appare in un'interfaccia utente grafica ( GUI ) per un'etichetta di dispositivo.
  • root : indica allo strumento che stiamo modificando il traffico in uscita dal livello root o in uscita.
  • netem : Questa parola rappresenta la frase "emulatore di rete". Anche se potrebbe non essere la rete hardware, sta emulando lo stesso. Questo è simile al modo in cui il software Parallels emula il software Windows per i computer Apple . Certo, è un software completamente diverso ma è un software di emulazione nello stesso modo in cui netem emula una rete. In questo caso, netem rappresenta una WAN (rete WAN) in contrapposizione a una LAN (rete locale). 
  • delay : Questa parola dice allo strumento tc che stiamo modificando il componente “delay” della transazione.
  • 400ms : Abbiamo già detto allo strumento che stiamo influenzando il ritardo, ma ora dobbiamo definire quanto stiamo influenzando il ritardo. In questo caso, è di 400 millisecondi. 

Responsabile del network(Network Manager)

Lo scopo di Network Manager è semplificare e automatizzare la configurazione della rete. Per gli utenti DHCP , Network Manager può ottenere un indirizzo IP, sostituire le route predefinite e sostituire automaticamente i server dei nomi.

Lo strumento nmtui per l'utilizzo di Network Manager è disponibile nella maggior parte, anche se non in tutte, le distribuzioni Linux . Inoltre, tieni presente che alcuni strumenti sono "disponibili" e tuttavia non disponibili. In altre parole, ci sono alcuni strumenti e demoni che devono essere installati e non sono necessariamente preinstallati sulla distribuzione Linux in questione.

Altri argomenti di rete(Other Networking Topics)

Ci sono molti aspetti del networking e del TCP/IP che sono particolarmente affascinanti, specialmente quando si ha a che fare con una distribuzione Linux . Non dimenticare(Don) che hai pagine di manuale (dette anche pagine di manuale) disponibili direttamente all'interno dell'installazione di Linux . Quindi, mentre questo può sembrare una sorta di elenco non correlato di ciò che non dovresti fare, puoi sempre usare una pagina man per capire cosa dovresti fare.

Linux come router(Linux as the Router)

Al giorno d'oggi, la maggior parte delle persone utilizza hardware dedicato all'attività di instradamento (ad esempio router) per gestire l'attività di instradamento di rete(manage the network route task) .

Molte volte, ciò è dovuto al fatto che i router fanno parte del pacchetto con pacchetti/contratti Internet per la casa o l'ufficio. Il cliente viene solitamente sorpreso a pagare un canone di locazione/affitto al mese (o annuale) o dover acquistare il router. 

Comunque sia gestito, non c'è bisogno che Linux funzioni come router anche se è in grado di funzionare come tale. Gli scenari sopra descritti creano una situazione quasi di pseudo-deprecazione per Linux , ma ciò non significa che Linux sia completamente fuori dal gioco. È possibile configurare un server Linux come router hardware (e successivo software), se necessario.

Instradamento IP (precedentemente "Percorso")(IP Route (Formerly “Route”))

L'immagine seguente mostra uno screenshot della pagina man per "Route" e le direttive che sono possibili con quello strumento. 

SNORT – Un sistema di rilevamento degli intrusi(SNORT – An Intruder Detection System)

Snort Software è un (Snort Software)sistema di rilevamento delle intrusioni(Intrusion Detection System) ( IDS ) open source originariamente sviluppato da Martin Roesch e successivamente acquisito da Cisco Systems(Martin Roesch and since acquired by Cisco Systems) . Funziona sulla base di regole che utilizzano i livelli TCP/IP della rete. La definizione di queste regole identifica le intrusioni per proteggere una rete.

How to Set Up Linux > TCP/IP Settings for Linux

I seguenti mini tutorial ti aiuteranno con alcune attività comuni che potresti incontrare nel mondo Linux

Tieni presente che i tempi cambiano rapidamente, quindi è utile utilizzare le tue pagine man e le ricerche in Google per verificare i seguenti passaggi e assicurarti che non ci siano altri strumenti che potrebbero fare meglio il lavoro. Al momento della stesura di questo articolo, non è così.

Esercitazione 01: Assegnazione di un indirizzo IP statico a una macchina Linux(Tutorial 01: Assigning a Static IP Address to a Linux Machine)

La prima domanda da porsi è se il computer/server necessita o meno di un indirizzo IP statico (uno che non cambia) o di un indirizzo IP modificabile (come DHCP – Dynamic Host Configuration Protocol ). Se questo è il tuo personal computer (non un server), è probabile che tu stia utilizzando DHCP per il tuo accesso a Internet.

Ciò significa che non devi pasticciare con l'assegnazione di un indirizzo IP statico al tuo computer. Il tuo provider di servizi Internet ( ISP ) e qualsiasi hardware fornito/noleggiato calcolano automaticamente un indirizzo IP al volo per consentirti di connetterti a Internet. In altre parole, se non hai bisogno di un indirizzo IP statico, uno che cambia dinamicamente va bene per il tuo computer non server.

Se hai un server e hai bisogno che sia accessibile ad altri (cioè fuori casa; una WAN/internet ; non-LAN), allora avrai bisogno di un indirizzo IP statico in modo che il dominio che stai usando sia mappato su di esso tramite il nameserver di hosting assegnato al dominio, oppure accessibile direttamente tramite l'indirizzo IP statico.

Se nessuno ha bisogno di accedere al tuo computer o server fuori casa, allora un indirizzo IP modificato (dinamico; non statico) va bene, perché nessuno sta usando un indirizzo IP statico.

Nota: alcune persone hanno utilizzato un indirizzo IP DHCP(DHCP IP) per l'accesso pubblico (sì, anche come server), ma

  1. Richiede una persona molto tecnica per farlo, quindi non è così comune.
  2. È molto più difficile da mantenere (a causa della sua natura in continua evoluzione) rispetto a un indirizzo IP statico.

Se hai bisogno di un indirizzo IP statico, vai avanti e segui i passaggi qui. In caso contrario, puoi saltare questa sezione.

Come vedrai, il comando (mostrato sopra) include "sudo" all'inizio della riga. Sebbene sia possibile utilizzare il comando "su" (superutente) e accedere come superutente, l'uso di "sudo" esegue solo quel comando come superutente.

L'altro metodo, l'accesso come superutente, consente di completare tutte le attività come superutente, rendendo più conveniente fare ciò che deve essere fatto.

Tuttavia, insieme a ciò c'è un rischio per la sicurezza, motivo per cui è più sicuro avviare semplicemente il comando con sudo e consentire all'app di richiedere una password (se necessaria) per completare il comando come superutente per quell'attività/comando.

La scelta è tua e dovrebbe basarsi su qualsiasi metodo sia più semplice. Al file rappresentato dallo screenshot qui sotto si accede tramite il seguente comando:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

Prima di utilizzare quel comando, il numero del dispositivo di rete viene verificato ( eth0 ) per assicurarsi che sia corretto. Come ricorderete, le configurazioni Linux sono gestite all'interno del file per l'interfaccia, quindi è essenziale che il numero dell'interfaccia sia verificato da quel file prima di modificare il file di configurazione.

Un altro aspetto del file di configurazione di cui tenere conto è l'uso della parola "statico". Poiché stiamo aggiungendo un indirizzo IP statico, è importante far sapere al file di configurazione che è così. 

Le note sono state aggiunte nello screenshot qui sotto per motivi illustrativi, ma non dovrebbero essere incluse nel file di configurazione. Inoltre, in alcune distribuzioni Linux , sono necessarie le virgolette. In questo particolare file di configurazione, non erano presenti virgolette nel file di configurazione creato automaticamente in modo che la tendenza continuasse e non venissero aggiunte virgolette.

Lo screenshot seguente mostra come apparirebbe effettivamente il file, con le note e gli spazi extra rimossi.

Si accede al successivo (e definitivo) file di configurazione da modificare digitando:

sudo vi /etc/resolv.conf

All'interno di quel file, i nameserver possono essere aggiunti (o modificati). Quei server dei nomi dovrebbero corrispondere all'altro file di configurazione che è stato appena modificato. In questo caso, in /etc/sysconfig/network-scripts/ifcfg-eth0 (lo screenshot sopra).

La verbosità che verrà utilizzata è "nameserver". Quindi, dove il file di configurazione del dispositivo mostra DNS1=8.8.8.8 , il file resolv.conf dovrebbe mostrare nameserver 8.8.8.8 .

La controparte di DNS2=4.4.4.4 verrebbe mostrata come server dei nomi 4.4.4.4(nameserver 4.4.4.4 ) nel file resolv.conf.

In parole povere, i passaggi precedenti funzionano sulla distribuzione Red Hat Linux , ma non vi è alcuna garanzia che funzionerà in futuro, con i cambiamenti tecnologici che si verificano. Questo è il motivo per cui le configurazioni dovrebbero essere testate e verificate.

Una volta completate le configurazioni, riavviare l'interfaccia di rete con il metodo preferito come descritto sopra. Questo applicherà le modifiche. È anche utile se l'indirizzo IP statico viene testato. Puoi farlo tentando di connetterti a quell'indirizzo IP statico pubblico da un altro dispositivo (preferibilmente su una rete diversa).

Puoi anche chiamare un amico o un collaboratore e fargli tentare una connessione all'indirizzo IP statico da un'altra posizione geografica (e da una rete diversa).

Esercitazione 02: Aliasing IP di rete(Tutorial 02: Network IP Aliasing)

È possibile assegnare più di un indirizzo IP a una scheda di interfaccia di rete ( NIC ). Questo è chiamato Network IP Aliasing perché solo un IP sarebbe effettivo, quindi gli indirizzi IP aggiuntivi sono alias della stessa scheda. Per assegnare l'indirizzo IP, utilizzare il metodo preferito per assegnare l'indirizzo IP come descritto nel Tutorial 01.

Non è che debba essere statico, ma per avere più indirizzi IP assegnati utilizzando Network IP Aliasing , è necessario assegnare indirizzi IP utilizzando un IP statico.

Esercitazione 03: Modifica del nome host della macchina Linux(Tutorial 03: Change Host Name of the Linux Machine)

Usa i seguenti passaggi per cambiare il nome host della tua macchina Linux usando il tuo editor preferito:

1. Modificare il file di configurazione del nome host digitando quanto segue nell'app della riga di comando:

   sudo vi /etc/hostname

Ovunque vedi il vecchio nome host in quel file di configurazione, sostituiscilo con il nuovo nome host.

2. Modificare il file di configurazione degli host digitando quanto segue nell'app della riga di comando:

   sudo vi /etc/hosts

Ovunque vedi il vecchio nome host in quel file, sostituiscilo con il nome host appena scelto/designato nello stesso modo in cui hai fatto con il file di configurazione del nome host(hostname) nel passaggio uno sopra.

3. Riavviare il server o il computer Linux . Un metodo per farlo (a seconda della tua distribuzione Linux ) è digitare quanto segue nell'app della riga di comando:

   sudo shutdown –r now

Questo riavvio è necessario affinché le modifiche abbiano effetto.

Esercitazione 04: Abilita e disabilita la tua NIC(Tutorial 04: Enable and Disable Your NIC)

Una delle cose più affascinanti che puoi fare tramite la riga di comando in Linux è abilitare o disabilitare la tua connessione Ethernet .

Per fare ciò, digita il comando appropriato tra questi due:

   sudo ip link setup
   sudo ip link setdown

Con le versioni precedenti di Linux , è possibile eseguire ifconfigup o ifconfigdown, ma è possibile che tali comandi siano obsoleti o obsoleti all'interno delle distribuzioni Linux più recenti . In tal caso, è preferibile il comando ip più recente.

Esercitazione 05: Abilita l'inoltro di rete(Tutorial 05: Enable Network Forwarding)

Il tuo sistema operativo Linux è in grado di connettere una varietà di reti e può fungere da router. Tutto quello che devi fare è uncomment the net.ipv4.ip_fporward=1 line che ti consentirà di inoltrare l'indirizzo IP.

Il file di configurazione necessario è normalmente archiviato in /etc/sysctl.conf :

Per esempi su come configurarlo, dai un'occhiata a " How to enable IP forwarding on Linux (IPv4 / IPv6) ".

Se stai configurando un server Linux utilizzando (Linux)DHCP (invece di un indirizzo IP statico) puoi optare per una forma di inoltro di rete. Questo non è comune, ma qui si fa riferimento perché è fattibile e rappresenta un caso in cui qualcuno potrebbe essere incline a farlo.

Esercitazione 06: Comandi remoti tramite Shell(Tutorial 06: Remote Commands Via Shell)

Nel caso in cui devi accedere a un server Linux e quel server non si trova geograficamente nella tua stessa posizione, potrebbe essere necessario utilizzare comandi remoti per accedere a quel server Linux remoto. 

Per coloro che sono programmatori o amministratori di sistema, "l'accesso remoto" a un server è un evento normale. 

Uno dei modi più popolari per farlo è utilizzare il comando " ssh ", facendo sapere all'app della riga di comando che si desidera accedere in modo sicuro al server Linux , anche se lo si fa tramite una connessione non sicura. 

Oltre all'uso del comando "ssh", devi fornire informazioni su dove ti stai connettendo e come (tra le altre opzioni disponibili).

È possibile utilizzare un nome di dominio per l' accesso al server Linux o anche un indirizzo IP statico pubblico. Il nome o l'indirizzo IP dice al comando ssh a cosa sta accedendo e dove trovarlo.

Altre opzioni possono includere il nome utente che verrà utilizzato per accedere al server remoto. Senza tale opzione definita, potrebbe essere richiesta ma è anche un'opzione per definirla contemporaneamente al comando ssh.

Per esempio:

   ssh username myserver.com

La password può anche essere configurata nel comando ma si consiglia, per motivi di sicurezza, di inserirla al momento della connessione con il server remoto. 

Come mai? Se la password viene digitata nel comando, in testo normale, la persona successiva può accedervi utilizzando lo stesso computer e avrebbe accesso alla password.

Per ulteriori motivi di sicurezza potresti voler accedere al server Linux tramite una porta specifica. (Linux)Designando una porta che può essere utilizzata, è possibile bloccare altre porte e prevenire tentativi di hacker o attacchi DOS (denial of service). 

Ci sono molti diversi punti di configurazione per ssh. Alcuni di questi sono elencati su shellhacks.com .

Esercitazione 07: Strumenti di monitoraggio della rete(Tutorial 07: Network Monitoring Tools)

Una componente importante della gestione di una rete è verificare che tutto funzioni e continui a funzionare. Puoi farlo attraverso il monitoraggio della rete. Gli strumenti che consentono il monitoraggio della rete variano ma alla fine raggiungono obiettivi e obiettivi simili.  

Uno di questi strumenti di monitoraggio della rete è Cacti . Cacti   è uno strumento di monitoraggio della rete open source. Cacti controlla la rete e fornisce rappresentazioni grafiche di ciò che è stato registrato. Questo aiuta gli utenti (soprattutto i principianti) a identificare dove potrebbero esserci problemi.

Il front-end può ospitare molti utenti e talvolta viene utilizzato dai servizi di hosting per visualizzare informazioni sulla larghezza di banda in tempo reale e altri dati nei grafici seguenti.

I dati possono essere inseriti in Cacti tramite qualsiasi script o comando esterno. Cacti riunirà i dati tramite un cron-job e riempirà il tuo database MySQL prima di presentarlo come grafico dell'utente front-end.

Per gestire la raccolta dei dati, puoi fornire a cactus i percorsi di qualsiasi script/comando esterno insieme a tutti i dati che l'utente dovrà "compilare". Cacti raccoglierà quindi questi dati in un cron-job e popolerà un database MySQL .

Cacti è uno strumento utile per gli amministratori di rete che desiderano monitorare l'utilizzo della rete e fornire ai consumatori immagini di facile comprensione. Cacti può essere scaricato gratuitamente su cacti.net . Il sito Web include la documentazione per installare e configurare lo strumento di monitoraggio della rete.

Le alternative ai cactus(Cacti) che potresti provare includono Solarwinds NPM , PRTG e Nagios . Solarwinds supporterà SNMP , ICMP/Ping , WMI , Netflow , Sflow , Jflow e IPFIX , solo per citarne alcuni. I modelli predefiniti, i grafici e gli avvisi ti aiutano a iniziare a monitorare rapidamente la tua rete.

PRTG fornisce gratuitamente fino a cento sensori. Ha caratteristiche simili a Solarwinds , oltre ad avvisi e applicazioni flessibili per Smartphone(Smartphones) , tablet, iPad.

Nagios ha tutti gli strumenti che troverai in Cacti , ma richiede un po' più di configurazione. Ci sono molti plugin tra cui scegliere. Ha una solida reputazione come uno dei più antichi strumenti di gestione e monitoraggio della rete. Ma dovrai sporcarti le mani nella manutenzione dei suoi file di configurazione.



About the author

Sono uno sviluppatore iOS con oltre 10 anni di esperienza. Sono specializzato nello sviluppo di app per iPhone e iPad. Ho esperienza nella creazione di flussi utente, nella creazione di kit di sviluppo personalizzati (CDK) e nell'utilizzo di vari framework di sviluppo di app. Nel mio lavoro precedente, ho anche sviluppato strumenti per aiutare a gestire l'App Store di Apple, che includono uno strumento di gestione del prodotto e uno strumento di invio delle app.



Related posts