Finestre.  Virus.  I Quaderni.  Internet.  ufficio.  Utilità.  Autisti

La cartella Etc è una cartella che contiene i seguenti file di testo hosts, lmhosts.sam, networks, protocol, services sono i contenuti standard della cartella etc per Windows XP e Windows 7.

Tutto sulla cartella etc

Trovare dove si trova la cartella etc è semplice, fai clic su "Start" - "Computer" - " disco locale C" - "Windows" - "System32" - "driver" - "ecc".

Quali file sono nella cartella etc

Se hai perso la cartella etc, puoi scaricare la cartella etc per Windows 7 e per Windows 8.

Ora descriverò come ripristinare la cartella etc scaricando l'archivio della cartella etc, decomprimerlo. Copia solo ecc., trova dove dovrebbe essere e incolla. La cartella etc per Windows 7 non è diversa dalla cartella etc per Windows XP. Il contenuto della cartella etc in Windows 7 è diverso da Windows 8. In Windows 8, ci sono altri due file nella cartella etc: hosts.backup e hosts.rollback. Il contenuto completo della cartella etc Windows 8 hosts, lmhosts.sam, networks, protocol, services, hosts.backup e hosts.rollback. I virus di solito modificano il contenuto di due file file host nella cartella etc e il file services nella cartella etc. Puoi aprire i file nella cartella etc con il blocco note.

Protocollo servizio file di rete ( file di rete Server, NFS) è uno standard aperto per fornire a un utente accesso remoto ai file system. Sulla base di esso, i file system centralizzati facilitano le attività quotidiane come backup o la scansione antivirus e le partizioni del disco concatenate sono più facili da mantenere rispetto a molte partizioni distribuite di piccole dimensioni.

Oltre a fornire storage centralizzato, NFS si è dimostrato molto utile per altre applicazioni, inclusi thin client e diskless, clustering di rete e middleware collaborativo.

Una migliore comprensione sia del protocollo stesso che dei dettagli della sua attuazione renderà più facile affrontare i problemi pratici. Questo articolo è dedicato a NFS e si compone di due parti logiche: prima vengono descritti il ​​protocollo stesso e gli obiettivi fissati durante il suo sviluppo, quindi l'implementazione di NFS in Solaris e UNIX.

DOVE TUTTO È INIZIATO...

Il protocollo NFS è stato sviluppato da Sun Microsystems ed è apparso su Internet nel 1989 sotto forma di RFC 1094 con il seguente titolo: "Network File System Protocol Specification" (Network Sistema di file Specifica del protocollo, NFS). È interessante notare che la strategia di Novell all'epoca era quella di migliorare ulteriormente i servizi di file. Fino a poco tempo fa, mentre il movimento per codici aperti non aveva ancora guadagnato forza, Sun non ha cercato di rivelare i suoi segreti soluzioni di rete, tuttavia, già allora l'azienda comprendeva l'importanza di garantire l'interoperabilità con altri sistemi.

RFC 1094 conteneva due specifiche originali. Al momento della sua pubblicazione, Sun stava sviluppando la successiva, terza versione della specifica, definita nella RFC 1813 "NFS Protocol Specification, Version 3" (NFS Version 3 Protocol Specification). La versione 4 di questo protocollo è definita in RFC 3010 NFS Protocol Specification Version 4 (NFS Version 4 Protocol).

NFS è ampiamente utilizzato su tutti i tipi di host UNIX, reti Microsoft e Novell e soluzioni IBM come AS400 e OS/390. Sconosciuto al di fuori del regno della rete, NFS è probabilmente il file system di rete indipendente dalla piattaforma più utilizzato.

UNIX ERA IL GENERATORE

Sebbene NFS sia un sistema indipendente dalla piattaforma, UNIX è il suo antenato. In altre parole, l'architettura gerarchica ei metodi di accesso ai file, inclusa la struttura del file system, i modi in cui utenti e gruppi vengono identificati e la modalità di gestione dei file, sono tutti molto simili al file system UNIX. Ad esempio, il file system NFS, essendo identico nella struttura a sistema di file UNIX è montato direttamente su di esso. Quando si lavora con NFS su altri sistemi operativi, vengono mappate le identità degli utenti e le autorizzazioni dei file.

NFS

Il sistema NFS è progettato per essere utilizzato in un'architettura client-server. Il client accede al file system esportato dal server NFS tramite un punto di montaggio sul client. Tale accesso è in genere trasparente per l'applicazione client.

A differenza di molti sistemi client-server, NFS utilizza le chiamate per scambiare informazioni. procedure remote (Procedura remota chiamate, RPC). In genere, il client stabilisce una connessione a una porta nota e quindi, in conformità con il protocollo, invia una richiesta per eseguire una determinata azione. Nel caso di una chiamata di procedura remota, il client crea una chiamata di procedura e quindi la invia al server per l'esecuzione. Descrizione dettagliata NFS sarà presentato di seguito.

Ad esempio, supponiamo che un client abbia montato la directory usr2 sul filesystem root locale:

/root/usr2/ -> remoto:/root/usr/

Se l'applicazione client necessita delle risorse di questa directory, invia semplicemente una richiesta sistema operativo su di esso e sul nome del file e che fornisce l'accesso tramite il client NFS. Ad esempio, si consideri il semplice comando UNIX cd, che "non sa nulla" dei protocolli di rete. Squadra

Cd /root/usr2/

posizionerà la directory di lavoro sul file system remoto senza "nemmeno sapere" (anche l'utente non ha bisogno di saperlo) che il file system è remoto.

Dopo aver ricevuto la richiesta, il server NFS verificherà questo utente il diritto di eseguire l'azione richiesta e, in caso di risposta positiva, la eseguirà.

CONOSCIAMOCI MEGLIO

Dal punto di vista del client, il processo di montaggio locale di un file system remoto utilizzando NFS consiste in diversi passaggi. Come già accennato, il client NFS invierà una chiamata di procedura remota per eseguirla sul server. Si noti che in UNIX il client è un singolo programma (il comando mount), mentre il server è effettivamente implementato come più programmi con il seguente set minimo: port mapper service (port mapper), mount daemon (mount daemon) e server NFS.

Il comando mount del client comunica prima con il servizio di traduzione delle porte del server, che ascolta le richieste sulla porta 111. La maggior parte delle implementazioni del comando mount del client supporta più versioni di NFS, rendendo più probabile che il client e il server trovino una versione del protocollo comune. La ricerca viene effettuata a partire dalla versione più vecchia, quindi quando viene trovata quella comune, diventerà automaticamente la più nuova versione supportato dal client e dal server.

(Questo materiale è incentrato sulla terza versione di NFS, poiché è più comune su questo momento. La versione 4 non è ancora supportata dalla maggior parte delle implementazioni.)

Il servizio di traduzione delle porte del server risponde alle richieste in base al protocollo supportato e alla porta su cui è in esecuzione il daemon di montaggio. Il programma di montaggio del client stabilisce innanzitutto una connessione al daemon di montaggio del server e quindi gli invia il comando di montaggio tramite RPC. Se questa procedura ha esito positivo, l'applicazione client si connette al server NFS (porta 2049) e, utilizzando una delle 20 procedure remote definite in RFC 1813 ed elencate nella Tabella 1, accede al file system remoto.

Il significato della maggior parte dei comandi è intuitivo e non causa alcuna difficoltà per amministratori di sistema. Il seguente elenco, prodotto utilizzando tcdump, illustra il comando read utilizzato dal comando cat di UNIX per leggere un file denominato test-file:

10:30:16.012010 eth0 > 192.168.1.254. 3476097947 > 192.168.1.252.2049: 144 ricerca fh 32.0/ 224145 "file di prova" 10:30:16.012010 eth0 > 192.168.1.254. 3476097947 > 192.168.1.252.2049: 144 ricerca fh 32.0/ 224145 "test-file" 10:30:16.012729 eth0 192.168.1.254.3476097947: risposta ok 128 ricerca fh 32.0/22 ​​​​4307 (DF) 10:30:16.012729 eth0 192.168.1.254.3476097947: risposta ok 128 ricerca fh 32.0/224307 (DF) 10:30:16.013124 eth0 > 192.168.1.254. 3492875163 > 192.168.1.252.2049: 140 letti fh 32.0/ 224307 4096 byte @ 0 10:30:16.013124 eth0 > 192.168.1.254. 3492875163 > 192.168.1.252.2049: 140 letto fh 32.0/ 224307 4096 byte @ 0 10:30:16.013650 eth0 192.168.1.254.3492875163: risposta ok 108 letto (DF) 10: 30:16.013650 eth0 192.168.1.254.3492875163: risposta ok 108 letto (DF)

NFS è stato tradizionalmente implementato su UDP. Tuttavia, alcune versioni di NFS supportano TCP (il supporto TCP è definito nella specifica del protocollo). Il vantaggio principale di TCP è un meccanismo di ritrasmissione più efficiente in reti inaffidabili. (Nel caso di UDP, se si verifica un errore, viene ritrasmesso il messaggio RPC completo, costituito da diversi pacchetti UDP. Con TCP, viene ritrasmesso solo il frammento danneggiato.)

ACCESSO A NFS

Le implementazioni NFS in genere supportano quattro metodi di concessione dell'accesso: tramite attributi utente/file, a livello di condivisione, a livello di nodo principale e come combinazione di altri metodi di accesso.

Il primo metodo si basa sul sistema integrato UNIX di permessi sui file per un singolo utente o gruppo. Per semplificare la manutenzione, l'identificazione di utenti e gruppi dovrebbe essere coerente in tutti i client e server NFS. La sicurezza deve essere attentamente considerata: NFS può inavvertitamente concedere l'accesso a file non previsti al momento della loro creazione.

L'accesso alle risorse condivise consente di limitare i diritti solo a determinate azioni, indipendentemente dalla proprietà del file o dai privilegi UNIX. Ad esempio, il lavoro con il file system NFS può essere limitato alla sola lettura. La maggior parte delle implementazioni di NFS consente di restringere ulteriormente l'accesso a livello di risorse condivise a utenti e/o gruppi specifici. Ad esempio, il gruppo Risorse umane è autorizzato a visualizzare le informazioni e nient'altro.

L'accesso a livello master consente di montare un filesystem solo su nodi specifici, il che è generalmente una buona idea perché i filesystem possono essere facilmente creati su qualsiasi nodo che supporti NFS.

L'accesso combinato combina semplicemente i tipi di cui sopra (ad esempio, accesso a livello di condivisione con accesso concesso a un utente specifico) o consente agli utenti di accedere a NFS solo da un host specifico.

NFS STILE PINGUINO

Il materiale relativo a Linux qui presentato si basa su un sistema Red Hat 6.2 con kernel versione 2.4.9, fornito con la versione 0.1.6 del pacchetto nfs-utils. Esistono anche versioni più recenti: al momento in cui scriviamo, la maggior parte Ultimo aggiornamento il pacchetto nfs-utils era il numero 0.3.1. Può essere scaricato all'indirizzo: .

Il pacchetto nfs-utils contiene quanto segue file eseguibili: exportfs, lockd, mountd, nfsd, nfsstat, nhfsstone, rquotad, showmount e statd.

Sfortunatamente, il supporto NFS a volte crea confusione per gli amministratori Linux, poiché la disponibilità di una particolare funzionalità dipende direttamente dai numeri di versione sia del kernel che del pacchetto nfs-utils. Fortunatamente, ora le cose stanno migliorando in quest'area: gli ultimi kit di distribuzione includono le ultime versioni di entrambi. Per le versioni precedenti, consultare la Sezione 2.4 dell'NFS-HOWTO per un elenco completo funzionalità sistemi disponibili per ogni combinazione di kernel e pacchetto nfs-utils. Gli sviluppatori mantengono la retrocompatibilità del pacchetto con le versioni precedenti, prestando molta attenzione alla sicurezza e correggendo i bug del software.

Il supporto NFS deve essere avviato al momento della compilazione del kernel. Se necessario, al kernel deve essere aggiunta anche la capacità di lavorare con NFS versione 3.

Per le distribuzioni che supportano linuxconf, è facile configurare i servizi NFS sia per client che per server. Tuttavia, il modo rapido per configurare NFS usando linuxconf non fornisce informazioni su quali file sono stati creati o modificati, cosa molto importante per l'amministratore da sapere in caso di errore del sistema. L'architettura di NFS su Linux è vagamente accoppiata alla versione BSD, quindi i file e i programmi di supporto necessari sono facili da trovare per gli amministratori che eseguono BSD, Sun OS 2.5 o versioni precedenti di NFS.

Il file /etc/exports, come in more prime versioni BSD definisce i file system a cui i client NFS possono accedere. Inoltre, contiene un numero caratteristiche aggiuntive relativi a problemi di gestione e sicurezza, fornendo all'amministratore un mezzo per ritocchi. Questo file di testo, costituito da voci, righe vuote o righe commentate (i commenti iniziano con #).

Diciamo che vogliamo dare ai client accesso in sola lettura alla directory /home sull'host Lefty. Ciò corrisponderebbe alla seguente voce in /etc/exports:

/casa (ro)

Qui dobbiamo dire al sistema quali directory renderemo disponibili usando il demone di mount rpc.mountd:

# exportfs -r exportfs: nessun nome host specificato in /home (ro), digitare *(ro) per evitare avvisi #

Quando viene eseguito, il comando exportfs avverte che /etc/exports non limita l'accesso a un particolare nodo e crea una voce corrispondente in /var/lib/nfs/etab da /etc/exports che indica quali risorse possono essere visualizzate con cat:

# cat /var/lib/nfs/etab /home (ro,async,wdelay,hide,secure,root_squash, no_all_squash,subtree_check, secure_locks, mapping=identity,anonuid= -2,anongid=-2)

Altre opzioni elencate in etab includono le impostazioni predefinite utilizzate da NFS. I dettagli saranno descritti di seguito. Per concedere l'accesso alla directory /home, è necessario avviare i servizi NFS appropriati:

# portmap # rpc.mountd # rpc.nfsd # rpc.statd # rpc.rquotad

In qualsiasi momento dopo l'avvio del demone di montaggio (rpc.mountd), informarsi file separati disponibile per l'output, è possibile visualizzare il contenuto del file /proc/fs/nfs/exports:

# cat /proc/fs/nfs/exports # Versione 1.0 # Path Client(Flags) # IP /home 192.168.1.252(ro,root_squash,async, wdelay) # 192.168.1.252 #

Lo stesso può essere visualizzato usando il comando showmount con l'opzione -e:

# showmount -e Esporta elenco per mancini: /home (tutti) #

Andando un po' avanti, il comando showmount può anche essere usato per determinare tutti i filesystem montati, o in altre parole, per scoprire quali host sono client NFS per il sistema che esegue il comando showmount. Il comando showmount -a elencherà tutti i punti di montaggio del client:

# showmount -a Tutti i punti di montaggio sulla sinistra: 192.168.1.252:/home #

Come notato sopra, la maggior parte delle implementazioni NFS supporta varie versioni di questo protocollo. L'implementazione di Linux consente di limitare l'elenco delle versioni NFS che verranno eseguite specificando l'opzione -N per il demone di montaggio. Ad esempio, per avviare NFS versione 3 e solo la versione 3, immetti il ​​seguente comando:

# rpc.mountd -N 1 -N 2

Gli utenti esigenti potrebbero trovarlo scomodo demone linux NFS (rpc.nfsd) è in attesa di pacchetti versione 1 e versione 2, sebbene ciò ottenga l'effetto desiderato di abbandonare il supporto per il protocollo corrispondente. Speriamo che gli sviluppatori delle prossime versioni apportino le correzioni necessarie e riescano a raggiungere una maggiore coerenza tra i componenti del pacchetto per quanto riguarda varie versioni protocollo.

"NUOTO CON I PINGUINI"

Accesso alla Lefty sopra configurata, file system NFS esportato su Basato su Linux, dipende dal sistema operativo del client. Lo stile di installazione per la maggior parte dei sistemi operativi della famiglia UNIX è lo stesso dei sistemi operativi Sun e BSD originali o del più recente Solaris. Poiché questo articolo si concentra sia su Linux che su Solaris, esaminiamo la configurazione del client Solaris 2.6 dal punto di vista della creazione di una connessione alla versione Linux di NFS descritta in precedenza.

Con le funzionalità ereditate da Solaris 2.6, è facile configurarlo per agire come client NFS. Ciò richiede un solo comando:

# mount -F nfs 192.168.1.254:/home /tmp/tmp2

Facciamo finta che comando precedente mount ha esito positivo, il comando mount senza parametri produrrà quanto segue:

# mount / su /dev/dsk/c0t0d0s0 lettura/scrittura/setuid/ file di grandi dimensioni il lunedì 3 settembre 10:17:56 2001 ... ... /tmp/tmp2 su 192.168.1.254:/home lettura/ scrittura/remoto il lunedì 3 settembre 23:19:25 2001

Analizziamo l'output tcpdump sull'host Lefty dopo che l'utente ha inserito il comando ls /tmp/tmp2 sull'host Sunny:

# tcpdump host lefty e host sunny -s512 06:07:43.490583 sunny.2191983953 > lefty.mcwrite.n.nfs: 128 getattr fh Unknown/1 (DF) 06:07:43.490678 lefty.mcwrite.n.nfs > sunny.2191983953: reply ok 112 get attr DIR 40755 ids 0/0 sz 0x000001000 (DF) 06:07:43.491397 sunny.2191983954 > lefty.mcwrite.n.nfs: 132 access fh Unknown/10001 (DF) 06:07:43.491463 lefty.mcwrite.n.nfs > sunny. 06:07:43 .492417 lefty.mcwrite.n.nfs > sunny.2191983955: risposta ok 1000 readdirplus (DF)

Vediamo che il nodo Sunny richiede un descrittore di file (fh) per ls, al quale il nodo Lefty invia OK in risposta e restituisce la struttura della directory. Sunny controlla quindi l'autorizzazione per il contenuto della directory (132 access fh) e riceve una risposta di autorizzazione da Lefty. Il Sunny node legge quindi l'intero contenuto della directory utilizzando la procedura readdirplus. Le chiamate di procedura remota sono descritte in RFC 1813 e sono elencate all'inizio di questo articolo.

Sebbene la sequenza dei comandi per l'accesso ai file system remoti sia molto semplice, una serie di circostanze può causare un montaggio errato del sistema. Prima di montare una directory, il punto di montaggio deve già esistere, altrimenti deve essere creato utilizzando il comando mkdir. Di solito l'unica causa di errori sul lato client è la mancanza di una directory di montaggio locale. La maggior parte dei problemi associati a NFS, tuttavia, devono la loro origine a una mancata corrispondenza tra il client e il server oa una configurazione errata del server.

Il modo più semplice per risolvere i problemi su un server è dall'host su cui è in esecuzione il server. Tuttavia, quando qualcun altro amministra il server al posto tuo, ciò non è sempre possibile. Modo veloce assicurarsi che i servizi del server appropriati siano configurati correttamente - utilizzare il comando rpcinfo con l'opzione -p. Dall'host Solaris Sunny è possibile determinare quali processi RPC sono registrati sull'host Linux:

# rpcinfo -p 192.168.1.254 program vers proto port service 100000 2 tcp 111 rpcbind 100000 2 udp 111 rpcbind 100024 1 udp 692 status 100024 1 tcp 694 status 100005 3 udp 102 4 mountd /100005 3 tcp 1024 mountd 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100021 1 udp 1026 nlockmgr 100021 3 udp 1026 nlockmgr 100021 4 udp 1026 nlockmg r #

Si noti che qui vengono fornite anche informazioni sulla versione, il che è molto utile quando il sistema richiede il supporto per vari protocolli NFS. Se un servizio non è in esecuzione sul server, è necessario correggere questa situazione. Se il montaggio fallisce, il seguente comando rpcinfo -p ti dirà che il servizio mountd sul server è inattivo:

# rpcinfo -p 192.168.1.254 programma vers proto port service 100000 2 tcp 111 rpcbind ... ... 100021 4 udp 1026 nlockmgr #

Il comando rpcinfo è molto utile per scoprire se un particolare processo remoto è attivo. L'opzione -p è la più importante delle opzioni. Vedere la pagina man per tutte le funzionalità di rpcinfo.

Un altro strumento utile è il comando nfsstat. Con il suo aiuto, puoi scoprire se i client stanno effettivamente accedendo al file system esportato, nonché visualizzare informazioni statistiche in base alla versione del protocollo.

Finalmente ne basta un altro attrezzo utile determinare le cause dei crash di sistema è tcpdump:

# tcpdump host lefty e host sunny -s512 tcpdump: listening on eth0 06:29:51.773646 sunny.2191984020 > lefty.mcwrite.n.nfs: 140 ricerca fh Unknown/1"test.c" (DF) 06:29:51.773819 lefty.mcwrite.n.nfs > sunny .21 91984020: risposta ok 116 ricerca ERRORE: nessun file o directory (DF) 06:29:51.774593 sunny.2191984021 > lefty.mcwrite.n.nfs: 128 getattr fh Unknown/1 (DF) 06:29:51.774670 lefty.mcwrite.n.nfs > sunny.2 19198 4021: risposta ok 112 getattr DIR 40755 ids 0/0 sz 0x000001000 (DF) 06:29:51.775289 sunny.2191984022 > lefty.mcwrite.n.nfs: 140 ricerca fh Unknown/1"test.c" (DF) 06:29:51 .77535 7 lefty.mcwrite.n.nfs > sunny.2191984022: reply ok 116 lookup ERROR: No such file or directory (DF) 06:29:51.776029 sunny.2191984023 > lefty.mcwrite.n.nfs: 184 create fh Unknown/1 "test.c" (DF) 06:29:5 1.776169 lefty.mcwrite.n.nfs > sunny.2191984023: risposta ok 120 create ERRORE: Autorizzazione negata (DF)

L'elenco sopra, ottenuto dopo l'esecuzione dell'istruzione touch test.c, mostra la seguente sequenza di azioni: prima, il comando touch tenta di accedere a un file denominato test.c, quindi cerca una directory con lo stesso nome e, dopo tentativi falliti, tenta di creare il file test.c, anche questo non porta al successo.

Se il filesystem è montato, la maggior parte degli errori comuni è correlata ai normali permessi UNIX. L'uso di uid o NIS+ da parte di Sun evita di impostare i permessi a livello globale su tutti i filesystem. Alcuni amministratori praticano directory "aperte", dove i permessi per leggerli sono concessi a "tutto il mondo". Tuttavia, questo dovrebbe essere evitato per motivi di sicurezza. A parte i problemi di sicurezza, questa è ancora una cattiva pratica perché gli utenti raramente creano dati con l'intenzione di renderli leggibili da tutti.

Gli accessi da parte di un utente privilegiato (root) ai file system montati NFS sono trattati in modo diverso. Per evitare di concedere l'accesso illimitato a un utente con privilegi, le richieste dell'utente con privilegi vengono trattate come se provenissero dall'utente "nessuno". Questo potente meccanismo limita l'accesso degli utenti con privilegi a file leggibili e scrivibili a livello globale.

SERVER NFS, VERSIONE SOLARIS

Configurare Solaris in modo che funga da server NFS è facile come con Linux. Tuttavia, i comandi e le posizioni dei file sono leggermente diversi. All'avvio di Solaris, quando viene raggiunto il livello di avvio 3, i servizi NFS vengono avviati automaticamente e tutti i file system vengono esportati. Per avviare questi processi manualmente, inserisci il comando:

#/usr/lib/nfs/mountd

Per avviare il demone di montaggio e il server NFS, digitare:

#/usr/lib/nfs/nfsd

A partire dalla versione 2.6, Solaris non utilizza più un file di esportazione per specificare quali file system esportare. I file vengono ora esportati utilizzando il comando di condivisione. Supponiamo di voler consentire agli host remoti di montare /export/home. Per fare ciò, inserisci il seguente comando:

Condividi -F nfs /export/home

Misure di sicurezza

LA SICUREZZA IN LINUX

Alcuni servizi di sistema NFS attivi Basato su Linux dispongono di un meccanismo aggiuntivo per limitare l'accesso tramite liste di controllo o tabelle. A livello interno, questo meccanismo è implementato utilizzando la libreria tcp_wrapper, che utilizza due file per formare le liste di controllo degli accessi: /etc/hosts.allow e /etc/hosts/deny. Una panoramica esaustiva delle regole per lavorare con tcp_wrapper va oltre lo scopo di questo articolo, ma il principio di base è il seguente: la corrispondenza viene eseguita prima con etc/hosts.allow e poi con /etc/hosts. negare. Se la regola non viene trovata, il servizio di sistema richiesto non viene presentato. Per aggirare l'ultimo requisito e fornire un livello di sicurezza molto elevato, è possibile aggiungere la seguente voce alla fine di /etc/hosts.deny:

Tutto tutto

Successivamente, /etc/hosts.allow può essere utilizzato per impostare questa o quella modalità operativa. Ad esempio, il file /etc/hosts. allow , che ho usato durante la stesura di questo articolo, conteneva le seguenti righe:

lockd:192.168.1.0/255.255.255.0 mountd:192.168.1.0/255.255.255.0 portmap:192.168.1.0/255.255.255.0 rquotad:192.168.1.0/255.255.255.0 statd:192 .168.1.0/255.255.255.0

Ciò consente un qualche tipo di accesso ai nodi prima di concedere l'accesso a livello di applicazione. IN Accesso Linux a livello di applicazione, il file /etc/exports controlla. Consiste di voci nel seguente formato:

Esporta directory (spazio) host|network(opzioni)

Una "directory esportata" è una directory per la quale il demone nfsd può elaborare una richiesta. "Host|Network" è l'host o la rete che ha accesso al file system esportato e le "opzioni" determinano se il daemon nfsd impone l'accesso in sola lettura o la mappatura dell'ID utente sull'uso della risorsa condivisa.

L'esempio seguente concede all'intero dominio mcwrite.net l'accesso in sola lettura a /home/mcwrite.net:

/home/mcwrite.net *.mcwrite.net(ro)

Altri esempi possono essere trovati nella pagina man delle esportazioni.

SICUREZZA NFS IN SOLARIS

In Solaris, la capacità di fornire l'accesso NFS è simile a Linux, ma in questo caso le restrizioni vengono impostate utilizzando determinate opzioni nel comando share con l'opzione -o. L'esempio seguente mostra come abilitare il montaggio in sola lettura di /export/mcwrite.net su qualsiasi host nel dominio mcwrite.net:

#share -F nfs -o ro=.mcwrite.net/ export/ mcwrite.net

La pagina man di share_nfs descrive in dettaglio come concedere l'accesso utilizzando le liste di controllo su Solaris.

Risorse Internet

NFS e RPC non erano privi di "buchi". In generale, NFS non dovrebbe essere usato su Internet. Non puoi "bucare" i firewall consentendo l'accesso di qualsiasi tipo tramite NFS. Tutte le patch RPC e NFS devono essere attentamente monitorate e numerose fonti di informazioni sulla sicurezza possono essere d'aiuto. Le due fonti più popolari sono Bugtraq e CERT:

I primi possono essere visionati regolarmente alla ricerca delle informazioni necessarie o utilizzare l'iscrizione a una newsletter periodica. Il secondo fornisce, forse, informazioni non così tempestive, rispetto ad altri, ma in un volume abbastanza completo e senza un accenno di sensazionalismo, caratteristico di alcuni siti dedicati alla sicurezza informatica.

Cosa è uso pratico file /etc/networks? Per quanto ho capito, è possibile specificare i nomi di rete in questo file. Per esempio:

[e-mail protetta]:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 google-dns 8.8.4.4 [e-mail protetta]:~#

Tuttavia, se provo a utilizzare questo nome di rete, ad esempio nell'utilità ip, non funziona:

[e-mail protetta]:~# ip route add google-dns via 104.236.63.1 dev eth0 Errore: è previsto un prefisso inet anziché "google-dns". [e-mail protetta]:~# percorso ip aggiungi 8.8.4.4 tramite 104.236.64.1 dev eth0 [e-mail protetta]:~#

Qual è l'uso pratico del file /etc/networks?

2 Le soluzioni raccolgono il modulo Web per "l'utilizzo pratico del file /etc/networks"

Come scritto nella pagina man, il file /etc/networks dovrebbe descrivere i nomi simbolici per le reti. Con una rete, questo significa un indirizzo di rete con uno .0 finale alla fine. Solo supportato reti semplici classe A, B o C.

Nel tuo esempio, la voce google-dns non è corretta. Non è la rete A, B o C. È una relazione indirizzo IP-nome host, quindi appartiene a /etc/hosts . In effetti nemmeno la voce predefinita corrisponde.

Supponiamo che tu abbia un indirizzo IP 192.168.1.5 dal tuo rete aziendale. Una voce in /etc/network potrebbe essere:

Nome aziendale 192.168.1.0

Quando si utilizzano utilità come route o netstat , queste reti vengono tradotte (a meno che non si sopprima l'autorizzazione con il flag -n). La tabella di routing potrebbe essere simile a questa:

Tabella di instradamento IP del kernel Destinazione Gateway Genmask Flag Metric Ref Usa Iface default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 corpname * 255.255.255.0 U 0 0 0 eth0

Il comando ip non utilizza mai il nome host per l'input, quindi il tuo esempio non ha importanza. Inoltre inserisci il nome host in /etc/networks , non il nome di rete!

Le voci in /etc/networks sono utilizzate da strumenti che tentano di convertire i numeri in nomi, come il comando (obsoleto) route. Senza una voce adatta, mostra:

# route Tabella di instradamento IP del kernel Destinazione Gateway Genmask Flag Metric Ref Usa Iface default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 * 255.255.254.0 U 0 0 0 eth0

Se ora aggiungiamo la riga mylocalnet 192.168.0.0 a /etc/networks:

# route Tabella di routing IP del kernel Destinazione Gateway Genmask Flag Metric Ref Usa Iface default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 mylocalnet * 255.255.254.0 U 0 0 0 eth0

In pratica, questo non viene mai utilizzato.

Andare!


A volte reti e altri errori di sistema errori di windows potrebbe essere correlato a problemi nel registro di Windows. È possibile utilizzare più programmi file reti, ma, quando questi programmi vengono rimossi o modificati, possono rimanere voci del registro di sistema di Windows "orfane" (non valide).

Fondamentalmente, ciò significa che mentre il percorso effettivo del file potrebbe essere stato modificato, la sua posizione precedente errata è ancora registrata nel registro di Windows. Quando Windows prova a cercare questo riferimento file errato (le posizioni dei file sul tuo PC), networks. Inoltre, un'infezione da malware potrebbe aver corrotto le voci di registro associate a Microsoft Windows. Pertanto, queste voci di registro di Windows danneggiate devono essere riparate per correggere la radice del problema.

La modifica manuale del registro di Windows per rimuovere le chiavi di rete non valide non è consigliata a meno che tu non sia un professionista dell'assistenza PC. Gli errori commessi durante la modifica del registro possono rendere il tuo PC inutilizzabile e causare danni irreparabili al tuo sistema operativo. Infatti, anche una sola virgola nel posto sbagliato può impedire l'avvio del computer!

A causa di questo rischio, consigliamo vivamente di utilizzare uno strumento di pulizia del registro fidato come WinThruster (sviluppato da Microsoft Gold Certified Partner) per scansionare e riparare qualsiasi rete. L'utilizzo di un pulitore di registro automatizza il processo di ricerca di voci di registro non valide, riferimenti a file mancanti (come quello che causa l'errore di rete) e collegamenti interrotti all'interno del registro. Prima di ogni scansione, viene creato automaticamente un file copia di backup, che ti consente di annullare qualsiasi modifica con un clic e ti protegge da possibili danni computer. La parte migliore è che la correzione degli errori di registro può migliorare drasticamente la velocità e le prestazioni del sistema.


Avvertimento: Se tu non sei utente esperto PC, NON consigliamo di modificare manualmente il registro di Windows. L'uso errato dell'Editor del Registro di sistema può portare a problemi seri e domanda reinstallare Windows. Non garantiamo che i problemi derivanti dall'uso improprio dell'Editor del Registro di sistema possano essere risolti. Si utilizza l'Editor del Registro di sistema a proprio rischio.

Prima del ripristino manuale Registro di Windows, è necessario eseguire il backup esportando la parte relativa alle reti del registro (ad esempio, Microsoft Windows):

  1. Fare clic sul pulsante Inizio.
  2. Accedere " comando"v barra di ricerca... NON PREMERE ANCORA ACCEDERE!
  3. Tenendo le chiavi CTRL-Maiusc sulla tastiera, premere ACCEDERE.
  4. Verrà visualizzata una finestra di dialogo di accesso.
  5. Clic .
  6. La scatola nera si apre con un cursore lampeggiante.
  7. Accedere " regedit" e premere ACCEDERE.
  8. Nell'Editor del Registro di sistema, seleziona la chiave relativa alle reti (ad esempio Microsoft Windows) di cui vuoi eseguire un backup.
  9. Sul menu File Selezionare Esportare.
  10. Elencato Salvare selezionare la cartella in cui si desidera salvare il backup della chiave di Microsoft Windows.
  11. In campo Nome del file inserisci un nome per il file di backup, ad esempio "Microsoft Backup di Windows copia".
  12. Assicurati il ​​campo Intervallo di esportazione valore selezionato Ramo selezionato.
  13. Clic Salva.
  14. Il file verrà salvato con estensione .reg.
  15. Ora hai un backup delle tue reti.

I passaggi successivi per la modifica manuale del registro non saranno trattati in questo articolo, poiché potrebbero danneggiare il sistema. Se desideri maggiori informazioni sulla modifica manuale del registro, consulta i collegamenti sottostanti.

Bel momento, cari lettori. Pubblico la seconda parte. La sezione attuale si concentra su implementazione della rete in Linux(come configurare una rete in Linux, come diagnosticare una rete in Linux e mantenere il sottosistema di rete in Linux).

Configurazione di TCP/IP su Linux per reti Ethernet

Lavorare con protocolli di rete TCP / IP in Linux è sufficiente avere solo interfaccia di ritorno, ma se devi combinare host tra loro, ovviamente, hai bisogno di un'interfaccia di rete, canali di trasmissione dati (ad esempio, doppino), forse alcuni apparecchiature di rete. Inoltre, è necessario aver installato (, ecc.), solitamente fornito in formato . Deve inoltre disporre di una rete (ad esempio /etc/hosts) e del supporto di rete.

Impostazioni di rete

Iniziamo a comprendere i meccanismi di rete di Linux configurando manualmente la rete, ovvero dal caso in cui indirizzo IP interfaccia di rete statico. Pertanto, quando si configura una rete, è necessario tenere conto e configurare i seguenti parametri:

indirizzo IP- come già accennato nella prima parte dell'articolo - si tratta di un indirizzo univoco della macchina, nel formato di quattro numeri decimali separati da punti. Di solito, quando si lavora rete locale, selezionato da intervalli privati, ad esempio: 192.168.0.1

Maschera di sottorete- inoltre, 4 numeri decimali che determinano quale parte dell'indirizzo si riferisce all'indirizzo di rete/sottorete e quale parte all'indirizzo dell'host. La maschera di sottorete è un numero che viene aggiunto (in forma binaria) con un indirizzo IP per scoprire a quale sottorete appartiene l'indirizzo. Ad esempio, l'indirizzo 192.168.0.2 con la maschera 255.255.255.0 appartiene alla sottorete 192.168.0.

Indirizzo di sottorete- determinato dalla maschera di sottorete. Allo stesso tempo, non ci sono sottoreti per le interfacce di loopback.

Indirizzo di trasmissione- l'indirizzo utilizzato per inviare i pacchetti broadcast che verranno ricevuti da tutti gli host della sottorete. Di solito, è uguale all'indirizzo della sottorete con un valore host di 255, ovvero, per la sottorete 192.168.0, la trasmissione sarà 192.168.0.255, analogamente, per la sottorete 192.168, la trasmissione sarà 192.168.255.255. Non esiste un indirizzo di trasmissione per le interfacce di loopback.

Indirizzo IP del gatewayè l'indirizzo della macchina che è il gateway predefinito per la comunicazione con il mondo esterno. Possono essere presenti più gateway se il computer è connesso a più reti contemporaneamente. L'indirizzo del gateway non viene utilizzato su reti isolate (non connesse a rete globale) poiché queste reti non hanno un posto dove inviare pacchetti al di fuori della rete, lo stesso vale per le interfacce di loopback.

Indirizzo IP del server dei nomi (server DNS)- indirizzo del server che converte i nomi host in indirizzi IP. Solitamente fornito dall'ISP.

File delle impostazioni di rete Linux (file di configurazione)

Per capire il networking in Linux, ti consiglierei sicuramente di leggere l'articolo "". In generale, tutto Linux funzionaè basato su , che nasce all'avvio del sistema operativo e produce i suoi discendenti, che a loro volta svolgono tutto il lavoro necessario, sia che esegua bash o un demone. Sì, e tutto Avvio di Linux si basa su, in cui è scritta l'intera sequenza di avvio di piccole utilità con vari parametri, che vengono avviate / arrestate in sequenza all'avvio / arresto del sistema. Il sottosistema di rete Linux si avvia allo stesso modo.

Ogni distribuzione Linux ha un meccanismo di inizializzazione della rete leggermente diverso, ma il quadro generale, credo, dopo la lettura sarà chiaro. Se guardi gli script di avvio del sottosistema di rete di alcuni Distribuzione linux quindi come configurare la rete utilizzando file di configurazione, diventerà più o meno chiaro, ad esempio, in Debian (prenderemo questa distribuzione come base), lo script è responsabile dell'inizializzazione della rete /etc/init.d/networking visualizzando quali:

Net-server:~#cat /etc/init.d/networking #!/bin/sh -e ### BEGIN INIT INFO # Fornisce: networking # Required-Start: mountkernfs $local_fs # Required-Stop: $local_fs # Should-Start: ifupdown # Should-Stop: ifupdown # Default-Start: S # Default-Stop: 0 6 # Breve descrizione: aumenta le interfacce di rete. ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" [ -x /sbin/ifup ] || uscita 0 . /lib/lsb/init-functions process_options() ( [ -e /etc/network/options ] || return 0 log_warning_msg "/etc/network/options esiste ancora e sarà IGNORATO! Leggi README.Debian di netbase." ) check_network_file_systems() ( [ -e /proc/mounts ] || return 0 if [ -e /etc/iscsi/iscsi .initramfs ]; allora log_warning_msg "nessuna deconfigurazione delle interfacce di rete: la radice iSCSI è montata." exit 0 fi exec 9<&0 < /proc/mounts while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network devices still mounted." exit 0 ;; esac case $FSTYPE in nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." exit 0 ;; esac done exec 0<&9 9<&- } check_network_swap() { [ -e /proc/swaps ] || return 0 exec 9<&0 < /proc/swaps while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network swap still mounted." exit 0 ;; esac done exec 0<&9 9<&- } case "$1" in start) process_options log_action_begin_msg "Configuring network interfaces" if ifup -a; then log_action_end_msg $? else log_action_end_msg $? fi ;; stop) check_network_file_systems check_network_swap log_action_begin_msg "Deconfiguring network interfaces" if ifdown -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; force-reload|restart) process_options log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces" log_action_begin_msg "Reconfiguring network interfaces" ifdown -a --exclude=lo || true if ifup -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; *) echo "Usage: /etc/init.d/networking {start|stop}" exit 1 ;; esac exit 0

puoi trovare diverse funzioni che controllano i file system di rete montati ( check_network_file_systems(), check_network_swap()), oltre a verificare l'esistenza di alcuni ancora incomprensibili config /etc/rete/opzioni ( funzione processo_opzioni()), e in fondo, dal design caso "$ 1" in e in conformità con il parametro inserito (start/stop/force-reload|restart o qualsiasi altro) esegue determinate azioni. Di questi molto determinate azioni", l'esempio dell'argomento start mostra che la funzione viene avviata per prima processo_opzioni, quindi la frase viene inviata al registro Configurazione delle interfacce di rete ed eseguire il comando ifup -a. Se guardi man ifup , puoi vedere che questo comando legge la configurazione dal file /etc/network/interfaces e secondo la chiave -UN avvia tutte le interfacce che hanno il parametro auto.

I comandi ifup e ifdown possono essere usati per configurare (o, rispettivamente, deconfigurare) le interfacce di rete in base alle definizioni di interfaccia nel file /etc/network/interfaces.

-a, --tutto
Se dato a ifup, ha effetto su tutte le interfacce contrassegnate con auto. Le interfacce vengono richiamate nell'ordine in cui sono definite in /etc/network/interfaces. Se dato a ifdown, ha effetto su tutte le interfacce definite. Le interfacce vengono disattivate nell'ordine in cui sono attualmente elencate nel file di stato. Verranno disattivate solo le interfacce definite in /etc/network/interfaces.

ip-server:~# cat /etc/network/interfaces # 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 # L'interfaccia di rete primaria allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth2 iface eth2 inet indirizzo statico 192.168.1.1 netmask 255.255.255.0 gateway 192.168.1.254 broadcast 192.168.1.255

In questa riga di configurazione consentire-hotplug E auto sono sinonimi e le interfacce verranno richiamate a comando ifup -a. Questa, infatti, è l'intera catena operativa del sottosistema di rete. Allo stesso modo, in altre distribuzioni: in RedHat e SUSE, la rete viene avviata da uno script /etc/init.d/network. Dopo averlo esaminato, puoi trovare allo stesso modo dove si trova la configurazione di rete.

/etc/host

Questo file contiene un elenco Indirizzi IP E nomi host corrispondenti a loro (indirizzi).Il formato del file non è diverso dal file master:

IP-server:~# cat /etc/hosts # ip host.in.domain host 127.0.0.1 localhost 127.0.1.1 ip-server.domain.local ip-server 192.168.1.1 ip-server.domain.local ip-server

Storicamente, questo file è stato utilizzato al posto del servizio DNS. Attualmente il file può essere utilizzato anche al posto del servizio DNS, ma solo a condizione che il numero di macchine sulla tua rete sia misurato in unità, e non in decine o centinaia, perché in questo caso dovrai controllare la correttezza di questo file su ogni macchina.

/etc/nomehost

Questo file contiene Nome host NetBIOS:

IP-server:~# cat /etc/hostname ip-server

Questo file memorizza i nomi e gli indirizzi delle reti locali e di altro tipo. Esempio:

IP-server:~# cat /etc/networks predefinito 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 rete domestica 192.168.1.0

Quando si utilizza questo file, le reti possono essere gestite per nome. Ad esempio, aggiungi un percorso not aggiungere percorso 192.168.1.12 , UN aggiungere percorso.

/etc/nsswitch.conf

Il file definisce ordine di ricerca del nome host/networks, le seguenti righe sono responsabili di questa impostazione:

Per host: host: file dns Per reti: reti: file

Parametro File specifica di utilizzare i file specificati (/etc/host E /etc/reti rispettivamente), parametro dns specifica di utilizzare il servizio dns.

/etc/host.conf

Il file specifica le opzioni di risoluzione dei nomi per il resolver

IP-server:~# cat /etc/host.conf multi attivo

Questo file dice alla libreria resolv di restituire tutti gli indirizzi host validi trovati nel file /etc/hosts, non solo il primo.

/etc/resolv.conf

Questo file definisce i parametri del meccanismo di conversione da nome di rete a indirizzo IP. In parole povere definisce le impostazioni DNS. Esempio:

IP-server:~# cat /etc/resolv.conf server dei nomi 10.0.0.4 server dei nomi 10.0.0.1 ricerca dominio.locale

Prime 2 righe indicare i server DNS. La terza riga specifica i domini di ricerca. Se, durante la risoluzione di un nome, il nome non è un nome FQDN, questo dominio viene sostituito come "fine". Ad esempio, quando si esegue il comando ping host, l'indirizzo sottoposto a ping viene convertito in host.domain.local. Altri parametri possono essere letti in man resolv.conf . Molto spesso Linux utilizza la generazione dinamica di questo file, utilizzando il cosiddetto. programmi /sbin/resolvconf. Questo programma è un intermediario tra i servizi che forniscono dinamicamente i server dei nomi (ad esempio, Cliente DHCP) e servizi che utilizzano i dati del server dei nomi. Per utilizzare un file generato dinamicamente /etc/resolv.conf, è necessario rendere questo file un collegamento simbolico a /etc/resolvconf/run/resolv.conf. In alcune distribuzioni, il percorso potrebbe essere diverso, questo sarà sicuramente scritto man resolvconf.

Configurazione di rete

Dopo aver familiarizzato con i principali file di configurazione, puoi guardare il file . Il comando è già stato menzionato sopra. ifup, ifdown, ma questi strumenti non sono del tutto universali, ad esempio, nelle distribuzioni RH, questi comandi non sono disponibili per impostazione predefinita. Inoltre, le nuove distribuzioni hanno un nuovo strumento di gestione della rete di alto livello - , che appartiene al pacchetto iproute. A lui (il pacchetto iproute) dedicherò . E nel post attuale non lo prenderò in considerazione. I comandi descritti di seguito appartengono a .

Quindi, per essere sicuri che il comando funzioni in qualsiasi distribuzione Linux, è necessario utilizzare due comandi di base vecchio stile. Questo è , e arp. Prima squadra (responsabile di configurazione delle interfacce di rete(ip, maschera, gateway), secondo () - impostazione del percorso, terzo (arp) - gestione della tabella arp. Vorrei sottolineare che l'esecuzione di questi comandi senza disabilitare lo script di avvio SystemV standard del sottosistema di rete apporterà modifiche solo fino al primo riavvio / riavvio del servizio di rete, perché. se ci pensi con il tuo cervello, puoi capire che la sceneggiatura /etc/init.d/networking al prossimo avvio, rileggerà le precedenti configurazioni e applicherà le vecchie impostazioni. Di conseguenza, la via d'uscita per l'impostazione permanente delle impostazioni è il comando ifconfig con i parametri appropriati - entra o correggi manualmente le corrispondenti configurazioni dell'interfaccia di rete.

Allo stesso modo, se il comando ifconfig con opzioni mancanti(ad esempio, solo l'indirizzo IP), il resto viene completato automaticamente (ad esempio, l'indirizzo di trasmissione viene aggiunto per impostazione predefinita con un indirizzo host che termina con 255 e la subnet mask predefinita è 255.255.255.0).

Instradamento per le interfacce disponibili nei kernel moderni viene sempre generato automaticamente dal kernel. O meglio, i percorsi diretti alla rete in base alle impostazioni IP e alla sottorete in cui guarda l'interfaccia sollevata vengono formati automaticamente dal kernel. Il campo gateway (gateway) per tali voci mostra l'indirizzo dell'interfaccia di output o *. Nelle versioni precedenti del kernel (il numero del kernel da cui i percorsi hanno iniziato a salire automaticamente - non te lo dirò), era necessario aggiungere il percorso manualmente.

Se c'è bisogno di organizzarsi itinerari, allora devi usare . Puoi aggiungere e rimuovere percorsi con questo comando, ma ancora una volta, questo sarà d'aiuto solo fino a quando non riavvii /etc/init.d/networking (o un altro script di rete nella tua distribuzione). Affinché le rotte vengano aggiunte automaticamente, è necessario, proprio come con il comando ifconfig, aggiungere comandi per aggiungere rotte a rc.local o correggere manualmente le configurazioni dell'interfaccia di rete corrispondenti (ad esempio, in Deb - /etc/network/opzioni).

Con quali regole si formano i percorsi verso le reti, Sono dentro

Diagnostica di rete Linux

Esistono numerosi strumenti di diagnostica di rete in Linux, spesso molto simili a quelli di Microsoft. Prenderò in considerazione 3 principali utilità di diagnostica di rete, senza le quali sarà problematico identificare i problemi.

Penso che questa utility sia familiare a quasi tutti. Il compito di questa utility è quello di invio cosiddetto Pacchetti ICMP server remoto, che verrà specificato nei parametri del comando, il server restituisce i comandi inviati e pingcontare il tempo necessario affinché il pacchetto inviato raggiunga il server e ritorni. Per esempio:

# ping ya.ru PING ya.ru (87.250.251.3) 56(84) byte di dati. 64 byte da www.yandex.ru (87.250.251.3): icmp_seq=1 ttl=57 time=42.7 ms icmp_seq=3 ttl=57 time=42.5 ms 64 byte da www.yandex.ru (87.250.251.3): icmp_seq=4 ttl=57 time=42.5 ms 64 byte da www.yandex.ru (87.250.251.3): icmp_seq=5 ttl=57 time=41.9 ms ^C --- ya.ru ping statistiche --- 5 pacchetti trasmessi, 5 ricevuti, 0% perdita pacchetti, tempo 4012ms rtt min/avg/max/mdev = 41.922/42.588/43.255/0.500 ms

Come si può vedere dall'esempio precedente, ping ci fornisce molte informazioni utili. Prima di tutto, lo abbiamo scoperto possiamo stabilire una connessione con l'host ya.ru(a volte dicono che "l'host ya.ru è disponibile per noi"). In secondo luogo, Lo vediamo Il DNS funziona correttamente, perché il nome "pinged" è stato correttamente convertito in un indirizzo IP (PING ya.ru (87.250.251.3)). Ulteriore, in campo icmp_seq= imposta la numerazione dei pacchetti inviati. A ogni pacchetto inviato viene assegnato in sequenza un numero e se ci sono "lacune" in questa numerazione, questo ci dirà che la connessione con il "pinged" è instabile e potrebbe anche significare che il server a cui vengono inviati i pacchetti è sovraccarico. Per valore tempo= vediamo, quanto tempo ha viaggiato il pacco a 87.250.251.3 e ritorno. È possibile arrestare l'utilità ping premendo Ctrl+C.

Anche, utilità ping interessante in quanto può consentire di vedere esattamente dove sono sorti i problemi. Diciamo utilità ping visualizza un messaggio rete non raggiungibile o altro messaggio simile. Questo molto probabilmente indica una configurazione errata del tuo sistema. In questo caso, puoi inviare pacchetti all'indirizzo IP dell'ISP per scoprire dove si verifica il problema (tra il PC locale o "oltre"). Se sei connesso a Internet tramite un router, puoi inviare pacchetti al suo IP. Di conseguenza, se il problema si presenta già in questa fase, ciò indica una configurazione errata del sistema locale o un danneggiamento del cavo, se il router risponde e il server del provider no, il problema è nel canale di comunicazione del provider, ecc. Infine, se la conversione del nome in IP fallisce, puoi verificare la connessione su IP, se le risposte arrivano correttamente, puoi intuire che il problema è nel DNS.

Va notato che questa utility non è sempre uno strumento diagnostico affidabile. Il server remoto può bloccare le risposte alle richieste ICMP.

traceroute

In termini semplici, la squadra è chiamata traccia del percorso. Come puoi capire dal nome, questa utility mostrerà quale percorso i pacchetti sono andati all'host. utilità traceroute in qualche modo simile a ping, ma mostra informazioni più interessanti. Esempio:

# traceroute ya.ru traceroute su ya.ru (213.180.204.3), 30 hop max, pacchetti da 60 byte elecom.ru (213.132.64.65) 2.761 ms 5.787 ms 5.777 ms 3 lgw.kubtelecom.ru (213.132.75.54) 5.713 ms 5 0,701 ms 5,636 ms 4 KubTelecom-lgw.Krasnodar.gldn.net (194.1 86.6.177) 81,430 ms 81,581 ms 81,687 ms 5 cat26.Moscow.gldn.net (194.186.10.118) 47,789 ms 47,888 ms 4 8,011 ms 6 0) 43,322 ms 41,783 ms 41,106 ms 7 carmine-red-vlan602.yandex.net (87.250.242.206) 41,199 ms 42,578 ms 42,610 ms 8 42,126 ms 42,679 ms

Come puoi vedere, puoi tracciare il percorso dal router del provider 243-083-free.kubtelecom.ru (213.132.83.243) (Russia meridionale) all'host finale su www.yandex.ru (213.180.204.3) a Mosca.

scavare

Questa utilità invia query ai server DNS e restituisce informazioni sul dominio specificato. Esempio:

# dig @ns.kuban.ru roboti.ru ;<<>> DiG 9.3.6-P1<<>> @ns.kuban.ru roboti.ru ; (1 server trovato) ;; opzioni globali: print cmd ;; risposta ottenuta: ;; ->>INTESTAZIONE<<- opcode: QUERY, status: NOERROR, id: 64412 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;roboti.ru. IN A ;; ANSWER SECTION: roboti.ru. 448 IN A 72.52.4.90 ;; AUTHORITY SECTION: roboti.ru. 345448 IN NS ns1.sedoparking.com. roboti.ru. 345448 IN NS ns2.sedoparking.com. ;; Query time: 102 msec ;; SERVER: 62.183.1.244#53(62.183.1.244) ;; WHEN: Thu Feb 17 19:44:59 2011 ;; MSG SIZE rcvd: 94

comando scavare inviato una richiesta Server DNS - ns.kuban.ru (@ns.kuban.ru- questo parametro è facoltativo, in questo caso la fonte delle informazioni sul DNS verrà presa dal server dalle tue impostazioni di sistema) sul nome del dominio roboti.ru. Di conseguenza, ho ricevuto una risposta, in cui possiamo vedere nella sezione SEZIONE DI RISPOSTA informazioni sugli indirizzi IP del dominio, nella sezione SEZIONE AUTORITÀ informazioni sul cosiddetto. server DNS autorevoli. La terza riga dal basso ci dice quale server ha fornito la risposta.

Altre utilità diagnostiche

ping, dig e altre utilità diagnostiche con parametri sono disponibili nel post.

Collegamento di una nuova scheda di rete

La connessione e l'avvio di una nuova scheda di rete si riducono a pochi passaggi:

1. Collegamento fisico della carta

3. Visualizzare l'output per il sistema per rilevare una nuova scheda di rete:

Vediamo l'output PRIMA di collegare una nuova scheda:

Server:~# dmesg | grep eth [ 4.720550] e1000: eth0: e1000_probe: connessione di rete Intel(R) PRO/1000 [ 5.130191] e1000: eth1: e1000_probe: connessione di rete Intel(R) PRO/1000 [ 15.285527] e1000: eth2: e1000_watchdog: collegamento NIC is Up 1000 Mbps Full Duplex, Flow Control: RX [ 15.681056] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

l'output mostra che il sistema ha 2 schede di rete eth1 e eth2. Colleghiamo il terzo e guardiamo l'output:

Server:~# dmesg | grep eth [ 4.720513] e1000: eth0: e1000_probe: connessione di rete Intel(R) PRO/1000 [ 5.132029] e1000: eth1: e1000_probe: connessione di rete Intel(R) PRO/1000 [ 5.534684] e1000: eth2: e1000_probe: Intel(R) PRO/1000 Network Connection [ 39.274875] udev: interfaccia di rete rinominata eth2 in eth3 [ 39.287661] udev: interfaccia di rete rinominata eth1_rename_ren in eth2 [ 45.670744] e1000: eth2: e1000_watchdog: collegamento NIC attivo 1000 Mbps Full Duplex, controllo flusso: RX [ 46. 237232] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [96.977468] e1000: eth3: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

IN dmesg vediamo che è apparsa una nuova scheda di rete - eth3, che in realtà è eth2, ma è stata rinominata dal gestore dispositivi udev in eth3, ed eth2 è in realtà una eth1 rinominata (parleremo di udev in un post separato). L'aspetto della nostra nuova rete in dmesg ci dice che la scheda di rete supportato essenziale e corretto deciso. L'unica cosa rimasta è impostare una nuova interfaccia in /etc/network/interfaces(Debian) perché la mappa data non è stata inizializzata dallo script di avvio /etc/init.d/network. ifconfig vede questa carta:

Server:~# ifconfig eth3 eth3 Link encap:Ethernet HWaddr 08:00:27:5f:34:ad inet6 addr: fe80::a00:27ff:fe5f:34ad/64 Ambito:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:311847 errori:0 eliminati:0 sovraccarichi :0 frame:0 TX pacchetti:126 errori:0 eliminati:0 sovraccarichi:0 portante:0 collisioni:0 txqueuelen:1000 RX byte:104670651 (99,8 MiB) TX byte:16184 (15,8 KiB)

ma inoltre - non si configura. Come configurare una scheda di rete è stato discusso sopra.

Riepilogo

Penso che sia tutto per oggi. Quando ho iniziato a scrivere questo articolo, ho pensato che mi sarei inserito in un post, ma si è rivelato enorme. Pertanto, si è deciso di spezzare l'articolo in due. In totale, ho provato a dichiarare, non passo dopo passo, come configurare la rete, ma a stabilire il principio e spiegare la comprensione di come la rete si avvia e funziona in Linux. Spero davvero di esserci riuscito. Sarò felice dei tuoi commenti e aggiunte. Nel tempo, integrerò l'articolo.

Se noti un errore, seleziona una parte di testo e premi Ctrl + Invio
CONDIVIDERE: