Come configurare smartphone e PC. Portale informativo
  • casa
  • notizia
  • Configurazione di elenchi di accesso estesi in Cisco. Elenco di accesso esteso denominato

Configurazione di elenchi di accesso estesi in Cisco. Elenco di accesso esteso denominato

Continuiamo a sviluppare la nostra piccola rete accogliente Lift mi Ap. Abbiamo già discusso dei problemi di routing e stabilità e ora, finalmente, siamo cresciuti per connetterci a Internet. Basta confinamento all'interno del nostro ambiente aziendale!
Ma con lo sviluppo compaiono anche nuovi problemi.
Prima il virus ha paralizzato il server web, poi qualcuno ha speronato il worm, che si è diffuso attraverso la rete, occupando parte della larghezza di banda. E qualche cattivo ha preso l'abitudine di usare password ssh a forza bruta per il server.
Riuscite a immaginare cosa inizierà quando ci collegheremo a Internet?!
Quindi oggi:
1) imparare a configurare vari elenchi di controllo di accesso
2) cercare di capire la differenza tra limitare il traffico in entrata e in uscita
3) capiamo come funziona il NAT, i suoi pro, contro e possibilità
4) in pratica organizzeremo una connessione Internet tramite NAT e aumenteremo la sicurezza della rete utilizzando le liste di accesso.

Elenco controllo accessi

Quindi cosa abbiamo da dire sulle liste di accesso? In realtà l'argomento è relativamente semplice e solo i pigri del corso CCNA non vengono copiati. Ma non facciamo a pezzi la nostra incredibile storia a causa di qualche pregiudizio?

Qual è lo scopo delle liste di accesso? Sembrerebbe che la risposta ovvia sia limitare l'accesso: vietare a qualcuno di fare qualcosa, per esempio. In generale, questo è vero, ma va inteso in un senso più ampio: non si tratta solo di sicurezza. Cioè, inizialmente, probabilmente era così com'era, da qui permesso e negare durante la configurazione. Ma in realtà, ACL è un meccanismo di filtraggio versatile e potente. Con il loro aiuto, puoi determinare a chi applicare determinate politiche e chi no, chi parteciperà a determinati processi e chi no, chi limitiamo in velocità a 56k e chi a 56M.
Per renderlo un po' più chiaro, facciamo un semplice esempio. In base agli elenchi di accesso, il Policy-Based Routing (PBR) funziona. Puoi fare qui in modo che i pacchetti in arrivo a partire dal le reti 192.168.1.0/24 sono state inviate all'hop successivo 10.0.1.1 e a partire dal network 192.168.2.0/24 su 10.0.2.1 (notare che il normale routing si basa sull'indirizzo di destinazione del pacchetto e automaticamente tutti i pacchetti vengono inviati a un hop successivo):

Alla fine dell'articolo, un esempio di impostazione e.

Tipi di ACL
Ok, dimentichiamo questo testo per un po'.
In generale, le liste di accesso sono diverse:
  • Standard
  • esteso
  • Dinamico
  • Riflessivo
  • cronometrato
Oggi concentreremo la nostra attenzione sui primi due e puoi leggere di più su tutti loro dalla tsiska.
Traffico in entrata e in uscita
Per iniziare, cerchiamo di capire una cosa. Che cos'è il traffico in entrata e in uscita? Ne avremo bisogno in futuro. Il traffico in entrata è quello che arriva all'interfaccia dall'esterno.

In uscita è quello che viene inviato dall'interfaccia verso l'esterno.

Puoi applicare l'elenco di accesso sia al traffico in entrata, quindi i pacchetti indesiderati non arriveranno nemmeno al router e, di conseguenza, oltre alla rete, sia in uscita, quindi i pacchetti arrivano al router, vengono elaborati da esso, raggiungono il target interfaccia e rilasciarlo solo su di esso.

Un elenco di accesso standard controlla solo l'indirizzo del mittente. Esteso: indirizzo del mittente, indirizzo del destinatario e porta. Si consiglia di impostare ACL standard il più vicino possibile al destinatario (in modo da non tagliare più del necessario) e ACL estesi più vicino al mittente (per eliminare il traffico indesiderato il prima possibile).

Pratica

Passiamo subito alla pratica. A cosa lo limiteremmo nella nostra piccola rete Lift mi Up?
  1. Server web. Consenti a tutti l'accesso sulla porta TCP 80 (protocollo HTTP). Per il dispositivo da cui verrà eseguito il controllo (abbiamo un amministratore), è necessario aprire telnet e ftp, ma gli daremo l'accesso completo. Tutti gli altri si spengono
  2. File server. Dobbiamo arrivarci i residenti di Lift mi Up tramite porte per cartelle condivise e tutto il resto tramite FTP.
  3. Server email. Qui abbiamo SMTP e POP3 in esecuzione, ovvero le porte TCP 25 e 110. Apriamo anche l'accesso di controllo per l'amministratore. Blocchiamo gli altri
  4. Per il futuro server DNS, è necessario aprire la porta UDP 53
  5. Consenti messaggi ICMP alla rete del server
  6. Poiché abbiamo la rete Altro per tutte le persone non parti che non hanno inserito FEO, VET e Contabilità, li limiteremo tutti e daremo solo alcuni accessi (inclusi noi e l'amministratore)
  7. Anche in questo caso, solo l'amministratore dovrebbe essere autorizzato nella rete di controllo e, naturalmente, la sua amata.
  8. Non creeremo ostacoli alla comunicazione tra i dipendenti del dipartimento
1) Accesso al WEB-server
Qui abbiamo una politica che vieta tutto ciò che non è consentito. Pertanto, ora dobbiamo aprire qualcosa e chiudere tutto il resto.
Poiché stiamo proteggendo la rete di server, appenderemo anche l'elenco sull'interfaccia andando verso di loro, cioè su FE0 / 0.3.La domanda è solo su in o a fuori dobbiamo farlo? Se non vogliamo inviare pacchetti verso server che sono già sul router, allora questo sarà traffico in uscita. Cioè, gli indirizzi di destinazione (destinazione) saranno nella rete di server (di cui sceglieremo a quale server va il traffico) e gli indirizzi di origine (sorgente) possono essere qualsiasi, sia dalla nostra rete aziendale che da Internet .
Un'altra nota: poiché filtreremo per indirizzo di destinazione (alcune regole per il server WEB, altre per il server di posta), allora abbiamo bisogno di una lista di controllo degli accessi estesa, solo che ci consente di farlo.

Le regole nell'elenco di accesso vengono controllate in ordine dall'alto verso il basso fino alla prima corrispondenza. Non appena una delle regole ha funzionato, indipendentemente dal fatto che sia Consenti o Nega, il controllo si interrompe e l'elaborazione del traffico si basa sulla regola attivata.
Cioè, se vogliamo proteggere il server WEB, allora prima di tutto dobbiamo dare il permesso, perché se configuriamo nella prima riga negare qualsiasi ip- allora funzionerà sempre e il traffico non andrà affatto. Qualsiasi- questa è una parola speciale che indica l'indirizzo di rete e la maschera di ritorno 0.0.0.0 0.0.0.0 e significa che assolutamente tutti i nodi di qualsiasi rete rientrano nella regola. Un'altra parola speciale è ospite- significa la maschera 255.255.255.255 - cioè esattamente un singolo indirizzo specificato.
Quindi, la prima regola: consentire l'accesso a tutti sulla porta 80
msk-arbat-gw1 (config-ext-nacl) # commento WEB
qualsiasi host 172.16.0.2 eq 80

permettiamo ( permesso) Traffico TCP da qualsiasi host ( qualunque) ospitare ( ospite- esattamente un indirizzo) 172.16.0.2, indirizzato alla 80a porta.
Stiamo cercando di bloccare questo elenco di accesso sull'interfaccia FE0 / 0.3:
msk-arbat-gw1 (config-subif) # ip access-group Servers-out fuori

Controlliamo da uno qualsiasi dei nostri computer collegati:

Come puoi vedere la pagina si apre, ma per quanto riguarda il ping?

E quindi da qualsiasi altro nodo?

Il fatto è che dopo tutte le regole nel cisk ACL, un implicito negare qualsiasi ip(negazione implicita). Cosa significa questo per noi? Qualsiasi pacchetto che lascia l'interfaccia e non corrisponde a nessuna delle regole dell'ACL è negato implicitamente e viene scartato. Cioè, almeno ping, almeno ftp, almeno tutto qui non funzionerà.

Andiamo oltre: è necessario dare pieno accesso al computer da cui verrà effettuato il controllo. Questo sarà il computer del nostro amministratore con l'indirizzo 172.16.6.66 dall'Altra rete.
Ogni nuova regola viene automaticamente aggiunta alla fine dell'elenco se esiste già:
msk-arbat-gw1 (config) #
msk-arbat-gw1 (config-ext-nacl) # permesso tcp host 172.16.6.66 host 172.16.0.2 intervallo 20 ftp
msk-arbat-gw1 (config-ext-nacl) # allow tcp host 172.16.6.66 host 172.16.0.2 eq telnet

È tutto. Controlliamo dal nodo desiderato (poiché telnet non è supportato dai server in RT, controlliamo su FTP):

Cioè, il messaggio FTP è arrivato al router e dovrebbe lasciare l'interfaccia FE0 / 0.3. Il router controlla e vede che il pacchetto corrisponde alla regola che abbiamo aggiunto e lo passa.

E da un nodo estraneo

Il pacchetto FTP non corrisponde a nessuna delle regole, ad eccezione dell'ip implicito allow any any, e viene scartato.

2) Accesso al file server
Qui bisognerebbe, prima di tutto, decidere chi sarà il “residente”, a chi deve essere consentito l'accesso. Naturalmente, questi sono coloro che hanno un indirizzo dalla rete 172.16.0.0/16 - solo loro avranno accesso.
Ora con cartelle condivise. Nella maggior parte dei sistemi moderni, per questo è già utilizzato il protocollo SMB, che necessita della porta TCP 445. Nelle versioni precedenti veniva utilizzato NetBios, che veniva alimentato tramite tre porte: UDP 137 e 138 e TCP 139. Dopo aver concordato con il nostro amministratore, abbiamo configurerà la porta 445 (sebbene controlli nell'ambito di RT, ovviamente, non funzionerà). Ma oltre a questo, abbiamo bisogno di porte per FTP - 20, 21 e non solo per host interni, ma anche per connessioni da Internet:
msk-arbat-gw1 (config) # ip access-list esteso Server-out
msk-arbat-gw1 (config-ext-nacl) # allow tcp 172.16.0.0 0.0.255.255 ospite 172.16.0.3 eq 445
msk-arbat-gw1 (config-ext-nacl) # allow tcp qualunque host 172.16.0.3 intervallo 20 21

Qui abbiamo riapplicato la costruzione gamma 20 21- per specificare più porte in una riga. Per FTP, in generale, solo la porta 21 non è sufficiente. Il fatto è che se lo apri solo, l'autorizzazione avrà luogo per te, ma il trasferimento dei file no.

0.0.255.255 - maschera con caratteri jolly. Parleremo un po 'più tardi di cosa si tratta.

3) Accesso al server di posta
Continuiamo a sviluppare la pratica - ora con il server di posta. Come parte dello stesso elenco di accesso, aggiungiamo nuovi record di cui abbiamo bisogno.
Invece dei numeri di porta per i protocolli ampiamente utilizzati, puoi specificare i loro nomi:
msk-arbat-gw1 (config) # ip access-list esteso Server-out
msk-arbat-gw1 (config-ext-nacl) #permit tcp qualsiasi host 172.16.0.4 eq pop3
msk-arbat-gw1 (config-ext-nacl) #permit tcp qualsiasi host 172.16.0.4 eq smtp
4) Server DNS
msk-arbat-gw1 (config) # ip access-list esteso Server-out
msk-arbat-gw1 (config-ext-nacl) # permesso udp 172.16.0.0 0.0.255.255 ospite 172.16.0.5 eq 53
5) ICMP
Resta da sistemare la situazione del ping. Va bene aggiungere le regole alla fine dell'elenco, ma è in qualche modo esteticamente piacevole vederle all'inizio.
Usiamo un semplice trucco per questo. Per fare ciò, puoi utilizzare, ad esempio, un editor di testo. Copia il pezzo ACL dallo spettacolo run lì e aggiungi le seguenti righe:
nessun ip access-list esteso Server-out
ip access-list esteso Server-out
consentire icmp qualsiasi qualsiasi
commento WEB



nota FILE


commento MAIL


nota DNS

Nella prima riga, eliminiamo l'elenco esistente, quindi lo creiamo di nuovo ed elenchiamo tutte le nuove regole nell'ordine di cui abbiamo bisogno. Con il comando nella terza riga, abbiamo consentito a tutti i pacchetti ICMP di passare da qualsiasi host a qualsiasi host.

Quindi, copia tutto in blocco e incollalo nella console. L'interfaccia interpreta ogni riga come un comando separato e lo esegue. Pertanto, abbiamo sostituito il vecchio elenco con quello nuovo.
Controlliamo che ci sia un ping:

Meraviglioso.

Questo trucco è utile per la configurazione iniziale o se sai esattamente cosa stai facendo. In una rete di produzione, quando si configura un ACL in remoto, si corre il rischio di rimanere senza accesso al componente hardware configurabile.

Per inserire una regola all'inizio o dove vuoi, puoi usare questo trucco:
ip access-list esteso Server-out
1 permesso icmp qualsiasi qualsiasi

Ogni regola nell'elenco è numerata con un determinato passaggio e se metti un numero davanti alla parola permetti / nega, la regola verrà aggiunta non alla fine, ma al posto che ti serve. Sfortunatamente, questa funzione non funziona in RT.
Se è improvvisamente necessario (tutti i numeri consecutivi tra le regole sono occupati), puoi sempre rinumerare le regole (in questo esempio, il numero della prima regola è 10 (il primo numero) e l'incremento è 10):
ip access-list risequence Server-out 10 10


Di conseguenza, l'elenco di accesso sulla rete del server sarà simile a questo:
ip access-list esteso Server-out
consentire icmp qualsiasi qualsiasi
commento WEB
consenti tcp qualsiasi host 172.16.0.2 eq www
permesso host tcp 172.16.6.66 host 172.16.0.2 intervallo 20 ftp
consenti host tcp 172.16.6.66 host 172.16.0.2 eq telnet
nota FILE
consenti tcp 172.16.0.0 0.0.255.255 host 172.16.0.3 eq 445
consenti tcp qualsiasi host 172.16.0.3 range 20 21
commento MAIL
consenti tcp qualsiasi host 172.16.0.4 eq pop3
consenti tcp qualsiasi host 172.16.0.4 eq smtp
nota DNS
permesso udp 172.16.0.0 0.0.255.255 host 172.16.0.5 eq 53

Ora il nostro amministratore ha accesso solo al server WEB. Dagli pieno accesso all'intera rete. Questo è il primo compito a casa.

6) I diritti degli utenti dell'Altra rete
Fino ad ora, avevamo bisogno tenere fuori qualcuno da qualche parte, quindi abbiamo prestato attenzione all'indirizzo di destinazione e abbiamo riagganciato l'elenco di accesso al traffico in uscita dall'interfaccia. Ora abbiamo bisogno non rilasciare Nota: nessuna richiesta dai computer dell'Altra rete deve essere esclusa. Beh, certo, ad eccezione di quelli che permettiamo specificamente.
msk-arbat-gw1 (config) # ip access-list extended Other-in

msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.6.61 qualsiasi



Qui non potremmo prima negare a tutti e poi consentire l'élite, perché assolutamente tutti i pacchetti rientrerebbero nella regola negare qualsiasi ip e permesso non funzionerebbe affatto.
Applichiamo all'interfaccia. Questa volta all'ingresso:
msk-arbat-gw1 (config) #int fa0 / 0.104
msk-arbat-gw1 (config-subif) #ip access-group Altro-in in

ovvero, tutti i pacchetti IP dall'host con l'indirizzo 172.16.6.61 o 172.16.6.66 possono essere inviati ovunque siano destinati. Perché utilizziamo anche qui l'elenco di accesso esteso? Dopotutto, sembrerebbe che controlliamo solo l'indirizzo del mittente. Perché abbiamo dato l'accesso completo all'amministratore, ma l'ospite dell'azienda Lift mi Up, ad esempio, che entra nella stessa rete non ha assolutamente accesso a nient'altro se non a Internet.
7) Rete di controllo
Niente di complicato. La regola sarà simile a questa:
msk-arbat-gw1 (config) # ip access-list esteso Management-out
msk-arbat-gw1 (config-ext-nacl) # commento IAM
msk-arbat-gw1 (config-ext-nacl) # permesso ip host 172.16.6.61 172.16.1.0 0.0.0.255
msk-arbat-gw1 (config-ext-nacl) # commento ADMIN
msk-arbat-gw1 (config-ext-nacl) # permesso ip host 172.16.6.66 172.16.1.0 0.0.0.255

Questo ACL viene applicato all'esterno dell'interfaccia FE 0 / 0.2:
msk-arbat-gw1 (config) # int fa0 / 0.2
msk-arbat-gw1 (config-subif) #ip access-group Management-out
8) Niente più restrizioni
Pronto
Maschera e maschera inversa
Finora abbiamo fornito uno strano parametro nella forma 0.0.255.255 senza alcuna spiegazione, che somiglia sospettosamente a una subnet mask.
Un po' difficile da capire, ma è questa, la maschera inversa, che viene utilizzata per determinare gli host che corrisponderanno alla regola.
Per capire cos'è una maschera inversa, devi sapere cos'è una maschera normale Iniziamo con l'esempio più semplice.

Una rete normale con 256 indirizzi: 172.16.5.0/24, per esempio. Cosa significa questa voce?
E significa esattamente quanto segue

Indirizzo IP. Notazione decimale172 16 5 0
Indirizzo IP. notazione binaria10101100 00010000 00000101 00000000
11111111 11111111 11111111 00000000
255 255 255 0

Un indirizzo IP è un parametro a 32 bit diviso in 4 parti che sei abituato a vedere in notazione decimale.
Anche la maschera di sottorete è lunga 32 bit: in realtà è un modello, uno stencil a cui appartiene l'indirizzo di sottorete. Dove ci sono quelli nella maschera, il valore non può cambiare, cioè la parte 172.16.5 è completamente invariata e sarà la stessa per tutti gli host su questa sottorete, ma quella in cui vengono variati gli zeri.
Cioè, nel nostro esempio, 172.16.5.0/24 è l'indirizzo di rete e gli host saranno 172.16.5.1-172.16.5.254 (l'ultimo 255 viene trasmesso), perché 00000001 è 1 e 11111110 è 254 (stiamo parlando circa l'ultimo ottetto dell'indirizzo). / 24 significa che la lunghezza della maschera è 24 bit, cioè abbiamo 24 unità - la parte invariata e 8 zeri.
Un altro caso è quando abbiamo una maschera, ad esempio, 30 bit, non 24.
Ad esempio 172.16.2.4/30. Scriviamolo così:
Indirizzo IP. Notazione decimale172 16 2 4
Indirizzo IP. notazione binaria10101100 00010000 00000010 00000100
Maschera di sottorete. notazione binaria11111111 11111111 11111111 11111100
Maschera di sottorete. Notazione decimale255 255 255 252

Come puoi vedere, solo gli ultimi due bit possono cambiare per questa sottorete. L'ultimo ottetto può avere i seguenti 4 valori:
00000100 - indirizzo di sottorete (4 in decimale)
00000101 - indirizzo di nodo (5)
00000110 - indirizzo nodo (6)
00000111 - in onda (7)
Tutto al di fuori di questo è già una sottorete diversa

Cioè, ora dovrebbe essere un po' chiaro per te che la subnet mask è una sequenza di 32 bit, dove prima ci sono uno, che significa l'indirizzo della sottorete, poi zero, che significa l'indirizzo dell'host. In questo caso, gli zero e gli uno alternati nella maschera non possono alternarsi. Cioè, la maschera è 11111111.11100000.11110111.00000000 impossibile

Che cos'è un carattere jolly?
Per la stragrande maggioranza degli amministratori e alcuni ingegneri, questo non è altro che l'inverso della solita maschera. Cioè, gli zeri impostano prima l'indirizzo della parte che deve necessariamente corrispondere, e quelli, al contrario, la parte libera.
Cioè, nel primo esempio che abbiamo preso, se vuoi filtrare tutti gli host dalla sottorete 172.16.5.0/24, allora imposterai la regola nell'elenco di accesso:
…. 172.16.5.0 0.0.0.255
Perché la maschera inversa sarebbe simile a questa:

00000000.00000000.00000000.11111111

Nel secondo esempio con rete 172.16.2.4/30, la maschera inversa sarà simile a questa: 30 zeri e due uno:

Maschera inversa. notazione binaria00000000 00000000 00000000 00000011
Maschera inversa. Notazione decimale0 0 0 3

Di conseguenza, il parametro nell'elenco di accesso sarà simile a questo:
…. 172.16.2.4 0.0.0.3
In seguito, quando mangerai un cane su calcoli errati di maschere e maschere inverse, ricorderai i numeri più usati, il numero di ospiti in una particolare maschera, capirai che nelle situazioni descritte, si ottiene l'ultimo ottetto della maschera inversa sottraendo l'ultimo ottetto della maschera regolare da 255 (255-252 = 3), ecc. Nel frattempo, devi lavorare sodo e contare)

Ma in effetti, la maschera inversa è uno strumento un po' più ricco, qui puoi combinare indirizzi all'interno della stessa sottorete o persino combinare sottoreti, ma la differenza principale è che puoi alternare zero e uno. Ciò consente, ad esempio, di filtrare un host (o gruppo) specifico su più sottoreti con una riga.

Esempio 1
Dato: rete 172.16.16.0/24
Necessario: filtra i primi 64 indirizzi (172.16.16.0-172.16.16.63)
Soluzione: 172.16.16.0 0.0.0.63
Esempio 2
Dato: reti 172.16.16.0/24 e 172.16.17.0/24
Necessario: filtrare gli indirizzi da entrambe le reti
Soluzione: 172.16.16.0 0.0.1.255
Esempio 3
Dato: Reti 172.16.0.0-172.16.255.0
Necessario: filtra l'host con l'indirizzo 4 da tutte le sottoreti
Soluzione: 172.16.0.4 0.0.255.0
ACL funziona in immagini
Rete ipotetica:

1) Sul router RT1 sull'interfaccia FE0 / 1, tutto può entrare, tranne ICMP.

2) Sul router RT2, SSH e TELNET sono disabilitati sull'interfaccia FE0 / 1

test
cliccabile
1) Ping da PC1 a Server1

2) TELNET da PC1 a Server1

3) SSH da PC1 a Server2

4) Ping da Server2 a PC1

Supplementi
1) Le regole per il traffico in uscita (out) non filtreranno il traffico del dispositivo stesso. Cioè, se devi negare allo stesso tsiska l'accesso da qualche parte, dovrai filtrare il traffico in entrata su questa interfaccia (restituire il traffico da dove vuoi negare l'accesso).

2) C ACL dovrebbe essere più attento. Con un piccolo errore nella regola, l'ordine sbagliato delle impostazioni o anche un elenco mal concepito, potresti rimanere senza accesso al dispositivo.
Ad esempio, vuoi bloccare l'accesso ovunque per la rete 172.16.6.0/24, ad eccezione del tuo indirizzo 172.16.6.61, e impostare le regole in questo modo:
nega ip 172.16.6.0 0.0.0.255 qualsiasi


Non appena applichi l'ACL all'interfaccia, perdi immediatamente l'accesso al router, perché rientri nella prima regola e la seconda non è nemmeno controllata.
La seconda spiacevole situazione che ti può capitare: traffico che non avrebbe dovuto finire sotto l'ACL.
Immagina questa situazione: abbiamo un server FTP passivo nella nostra sala server. Per accedervi, hai aperto la porta 21 nell'ACL Server in uscita... Dopo aver stabilito la connessione iniziale, il server FTP comunica al client la porta su cui è pronto per inviare/ricevere file, ad esempio 1523. Il client tenta di stabilire una connessione TCP su questa porta, ma si imbatte in ACL Servers-out, dove non esiste tale autorizzazione: è così che finisce la storia di un trasferimento riuscito. Nel nostro esempio sopra, dove abbiamo configurato l'accesso al file server, abbiamo aperto l'accesso solo il 20 e il 21, perché questo è sufficiente per l'esempio. Nella vita reale, devi armeggiare. Alcuni esempi di configurazione ACL per casi comuni.

3) Dal secondo punto segue un problema molto simile e interessante.
Hai pensato, ad esempio, di riagganciare i seguenti ACL sull'interfaccia Internet:
access-list out permesso tcp host 1.1.1.1 host 2.2.2.2 eq 80
access-list in allow tcp host 2.2.2.2 any eq 80

Sembrerebbe: all'host con l'indirizzo 1.1.1.1 è consentito l'accesso sulla porta 80 al server 2.2.2.2 (la prima regola). E tornando dal server 2.2.2.2 sono consentite le connessioni interne.
Ma la sfumatura qui è che il computer 1.1.1.1 stabilisce una connessione SULL'80a porta, ma da qualche altra, ad esempio 1054, cioè il pacchetto di risposta dal server arriva al socket 1.1.1.1:1054, non cade sotto la regola in ACL su IN e scartato a causa dell'ip implicito di negare qualsiasi.
Per evitare una situazione del genere e non aprire le porte con l'intero pacchetto, puoi ricorrere a questo trucco nell'ACL su in:
permesso host tcp 2.2.2.2 qualsiasi stabilito.

Dettagli di tale soluzione in uno dei seguenti articoli.

4) Parlando del mondo moderno, non puoi aggirare uno strumento come i gruppi di oggetti (gruppo di oggetti).

Supponiamo che sia necessario comporre un ACL che rilasci tre indirizzi specifici a Internet su tre porte identiche con la prospettiva di espandere il numero di indirizzi e porte. Come appare senza conoscere i gruppi di oggetti:
ip access-list esteso TO-INTERNET
consenti host tcp 172.16.6.66 qualsiasi eq 80
consenti host tcp 172.16.6.66 qualsiasi eq 8080
consenti host tcp 172.16.6.66 qualsiasi eq 443
consenti host tcp 172.16.6.67 qualsiasi eq 80
consenti host tcp 172.16.6.67 qualsiasi eq 8080
consenti host tcp 172.16.6.67 qualsiasi eq 443
consenti host tcp 172.16.6.68 qualsiasi eq 80
consenti host tcp 172.16.6.68 qualsiasi eq 8080
consenti host tcp 172.16.6.68 qualsiasi eq 443

All'aumentare del numero di parametri, diventa sempre più difficile mantenere un tale ACL ed è facile commettere errori durante la configurazione.
Ma se ci rivolgiamo ai gruppi di oggetti, allora assume la seguente forma:
servizio di gruppi di oggetti INET-PORTS
descrizione Porte consentite per alcuni host
tcp eq www
tcp eq 8080
TCP eq 443

Rete di gruppi di oggetti HOSTS-TO-INET
descrizione Host autorizzati a navigare in rete
ospite 172.16.6.66
ospite 172.16.6.67
ospite 172.16.6.68

Lista di accesso IP estesa INET-OUT
consenti gruppo di oggetti INET-PORTS gruppo di oggetti HOSTS-TO-INET any

a prima vista sembra un po' minaccioso, ma se lo guardi è molto comodo.

4) Informazioni molto utili per la risoluzione dei problemi possono essere ottenute dall'output del comando mostra liste di accesso ip% nome ACL%... Oltre all'elenco effettivo di regole per l'ACL specificato, questo comando mostra il numero di corrispondenze per ciascuna regola.

Msk-arbat-gw1 # sh ip access-list nat-inet
Elenco di accesso IP esteso nat-inet




consenti host ip 172.16.6.61 qualsiasi
(4 partite (es))



E aggiungendo alla fine di ogni regola tronco d'albero, saremo in grado di ricevere messaggi su ogni partita nella console. (quest'ultimo non funziona in PT)

NAT

La traduzione degli indirizzi di rete è un meccanismo indispensabile in casa dal 1994. Molte sessioni al riguardo sono interrotte e i pacchetti vengono persi.
Ne hai bisogno più spesso per connettere la tua rete locale a Internet. Il fatto è che in teoria ci sono 255 * 255 * 255 * 255 = 4 228 250 625,4 miliardi di indirizzi. Anche se ogni abitante del pianeta avesse un solo computer, gli indirizzi non sarebbero più sufficienti. E qui, tranne che i ferri da stiro non sono collegati a Internet. Le persone intelligenti lo hanno capito nei primi anni '90 e, come soluzione temporanea, hanno suggerito di dividere lo spazio dell'indirizzo in pubblico (bianco) e privato (privato, grigio).
Questi ultimi comprendono tre gamme:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Puoi usarli liberamente sulla tua rete privata e quindi, ovviamente, verranno ripetuti. E l'unicità? A chi risponderà il WEB-server, che ha ricevuto una richiesta con l'indirizzo di ritorno 192.168.1.1? Rostelecom? Aziende Tatneft? O la tua stanza Dink? Sulla grande Internet, nessuno sa nulla delle reti private: non vengono instradate.
È qui che entra in scena NAT. In generale, questa è una frode, una messa a punto. Sul dispositivo push, il tuo indirizzo privato, grosso modo, viene semplicemente sostituito con un indirizzo bianco, che apparirà più avanti nel pacchetto mentre viaggia verso il server WEB. Ma gli indirizzi bianchi sono instradati molto bene e il pacchetto tornerà sicuramente al dispositivo di tensionamento.
Ma come farà, a sua volta, a capire cosa farne dopo? Qui ci occuperemo di questo.

Tipi di NAT
Statico
In questo caso, un indirizzo interno viene convertito in uno esterno. E allo stesso tempo, tutte le richieste che arrivano all'indirizzo esterno verranno trasmesse a quello interno. Come se questo host fosse il proprietario di questo indirizzo IP bianco.

Configurato dal seguente comando:
Router (config) # ip nat all'interno della fonte statica 172.16.6.5 198.51.100.2

Cosa sta succedendo:
1) Il nodo 172.16.6.5 indirizza il server WEB. Invia un pacchetto IP con 192.0.2.2 come indirizzo del destinatario e 172.16.6.5 come mittente.

2) Sulla rete aziendale, il pacchetto viene consegnato al gateway 172.16.6.1, dove è configurato NAT

3) In base al comando configurato, il router rimuove l'intestazione IP corrente e la cambia con una nuova, dove l'indirizzo bianco 198.51.100.2 appare già come indirizzo del mittente.


4) Sulla grande Internet, il pacchetto aggiornato raggiunge il server 192.0.2.2.

5) Vede che la risposta deve essere inviata a 198.51.100.2 E prepara un pacchetto IP di risposta. L'indirizzo del server è 192.0.2.2 come indirizzo del mittente, l'indirizzo di destinazione è 198.51.100.2


6) Il pacchetto vola via Internet, e non il fatto che allo stesso modo.

7) Il comunicatore indica che tutte le richieste all'indirizzo 198.51.100.2 devono essere reindirizzate a 172.16.6.5. Il router rimuove nuovamente il segmento TCP nascosto all'interno e imposta una nuova intestazione IP (l'indirizzo di origine non cambia, l'indirizzo di destinazione è 172.16.6.5).


8) Attraverso la rete interna, il pacchetto viene restituito all'iniziatore, che non sa nemmeno quali miracoli gli stessero accadendo alla frontiera.
E così sarà con tutti.
Inoltre, se la connessione viene avviata da Internet, i pacchetti automaticamente, passando attraverso il dispositivo di serraggio, passano all'host interno.

Questo approccio è utile quando si dispone di un server all'interno della rete che necessita di un accesso completo dall'esterno. Naturalmente, non è possibile utilizzare questa opzione se si desidera rilasciare trecento host su Internet tramite un indirizzo. Questa opzione NAT non ti aiuterà a preservare gli indirizzi IP bianchi, ma può essere comunque utile.

Dinamico
Hai un pool di indirizzi bianchi, ad esempio, il tuo provider ti ha assegnato una rete 198.51.100.0/28 con 16 indirizzi. Due di questi (il primo e l'ultimo) sono l'indirizzo di rete e l'indirizzo di trasmissione, altri due indirizzi sono assegnati all'apparecchiatura per fornire il routing. Puoi utilizzare i 12 indirizzi rimanenti per NAT e rilasciare i tuoi utenti attraverso di essi.
La situazione è simile al NAT statico: un indirizzo privato viene tradotto in uno esterno, ma ora quello esterno non è chiaramente fissato, ma verrà selezionato dinamicamente dall'intervallo specificato.
È configurato così:
Router (config) #ip nat pool lol_pool 198.51.100.3 198.51.100.14

Specificato un pool (intervallo) di indirizzi pubblici da cui verrà selezionato l'indirizzo per la nascita
Router (configurazione)
# access-list 100 permesso ip 172.16.6.0 0.0.0.255 qualsiasi

Impostiamo un elenco di accesso che consente il passaggio di tutti i pacchetti con indirizzo sorgente 172.16.6.x, dove X varia da 0-255.
Router (config) #ip nat all'interno dell'elenco dei sorgenti 100 pool lol_pool

Con questo comando, uniamo l'ACL creato e il pool.

Anche questa opzione non è universale, inoltre non puoi rilasciare i tuoi 300 utenti su Internet se non disponi di 300 indirizzi esterni. Una volta esauriti gli indirizzi bianchi, nessun nuovo potrà accedere a Internet. Allo stesso tempo, gli utenti che sono già riusciti a ottenere un indirizzo esterno per se stessi lavoreranno. Il team ti aiuterà a eliminare tutte le trasmissioni attuali e gli indirizzi esterni gratuiti. traduzione chiara ip nat *
Oltre all'allocazione dinamica degli indirizzi esterni, questo NAT dinamico differisce dal NAT statico in quanto senza una configurazione separata del port forwarding non è più possibile il collegamento esterno a uno degli indirizzi del pool.

Molti a uno
Il tipo successivo ha diversi nomi: NAT Overload, Port Address Translation (PAT), IP Masquerading, Many-to-One NAT.
Il cognome parla da sé: attraverso un indirizzo esterno molti privati ​​escono nel mondo. Questo ti permette di risolvere il problema con la mancanza di indirizzi esterni e liberare tutti nel mondo.
Qui sarebbe necessario dare una spiegazione di come funziona. Si può immaginare come due indirizzi privati ​​vengano tradotti in uno solo, ma come fa un router a capire chi deve inoltrare un pacchetto restituito da Internet a questo indirizzo?
Tutto è molto semplice:
Supponiamo che ci siano pacchetti provenienti da due host sulla rete interna al puller. Entrambi con una richiesta al server WEB 192.0.2.2.
I dati degli host hanno questo aspetto:

Il router scopre il pacchetto IP dal primo host, ne estrae il segmento TCP, lo stampa e scopre da quale porta viene stabilita la connessione. Ha un indirizzo esterno 198.51.100.2, a cui cambierà l'indirizzo dalla rete interna.
Quindi sceglie un porto franco, ad esempio 11874. E dopo cosa fa? Impacchetta tutti i dati a livello di applicazione in un nuovo segmento TCP, dove 80 rimane come porta di destinazione (è per questo che il server WEB è in attesa di connessioni) e la porta del mittente cambia da 23761 a 11874. Questo segmento TCP è incapsulato in un nuovo IP- un pacchetto in cui l'indirizzo IP del mittente cambia da 172.16.6.5 a 198.51.100.2.
Lo stesso accade per il pacchetto dal secondo host, viene selezionata solo la prossima porta libera, ad esempio 11875. “Libera” significa che non è ancora occupata con altre connessioni simili.
I dati che vengono inviati a Internet ora avranno questo aspetto.

Nella sua tabella NAT, inserisce i dati di mittenti e destinatari

Per un server WEB si tratta di due richieste completamente diverse, che deve elaborare singolarmente. Successivamente, invia una risposta simile a questa:

Quando uno di questi pacchetti raggiunge il nostro router, abbina i dati in questo pacchetto con le sue voci nella tabella NAT. Se viene trovata una corrispondenza, si verifica la procedura opposta: il pacchetto e il segmento TCP vengono riportati ai loro parametri originali solo come destinazione:

E ora i pacchetti vengono consegnati sulla rete interna ai computer di avvio, che non sanno nemmeno che da qualche parte i loro dati sono stati trattati così duramente alla frontiera.

Ciascuna delle tue richieste è una connessione separata. Cioè, hai provato ad aprire una pagina WEB - questo è il protocollo HTTP usando la porta 80. Per fare ciò, il tuo computer deve stabilire una sessione TCP con un server remoto. Tale sessione (TCP o UDP) è definita da due socket: indirizzo IP locale: porta locale e indirizzo IP remoto: porta remota. In una situazione normale, hai una connessione computer-server, nel caso di una connessione NAT ce ne saranno due, per così dire: il router-server e il computer pensa di avere una sessione computer-server.

L'impostazione è leggermente diversa: con l'overload di parole aggiuntivo:
Router (config) # access-list 101 permesso 172.16.4.0 0.0.0.255
Router (config) #ip nat all'interno dell'elenco dei sorgenti 101 interfaccia fa0 / 1 sovraccarico

Allo stesso tempo, ovviamente, è possibile configurare il pool di indirizzi:
Router (config) #ip nat pool lol_pool 198.51.100.2 198.51.100.14
Router (config) # access-list 100 permesso 172.16.6.0 0.0.0.255
Router (config) #ip nat all'interno dell'elenco dei sorgenti 100 pool lol_pool sovraccarico

Port forwarding
Altrimenti, dicono anche port forwarding o mapping.
Quando abbiamo iniziato a parlare di NAT, avevamo una traduzione uno a uno e tutte le richieste provenienti dall'esterno venivano reindirizzate automaticamente all'host interno. In questo modo sarebbe possibile esporre il server all'esterno di Internet.
Ma se non hai una tale opportunità - sei limitato negli indirizzi bianchi o non vuoi esporlo all'esterno con l'intero gruppo di porte, cosa fare?
È possibile specificare che tutte le richieste che arrivano a un indirizzo bianco specifico e a una porta del router specifica devono essere reindirizzate alla porta corretta dell'indirizzo interno desiderato.
Router (config) #ip nat all'interno del sorgente statico tcp 172.16.0.2 80 198.51.100.2 80 estensibile

L'utilizzo di questo comando significa che una richiesta TCP da Internet all'indirizzo 198.51.100.2 sulla porta 80 verrà reindirizzata all'indirizzo interno 172.16.0.2 sulla stessa porta 80. Ovviamente puoi anche inoltrare UDP e reindirizzare da una porta all'altra. Ciò può essere utile, ad esempio, se si dispone di due computer a cui è necessario accedere tramite RDP dall'esterno. RDP utilizza la porta 3389. Non è possibile inoltrare la stessa porta a host diversi (quando si utilizza lo stesso indirizzo esterno). Pertanto, puoi farlo:
Router (config) # ip nat all'interno del sorgente statico tcp 172.16.6.61 3389 198.51.100.2 3389
Router (config) # ip nat all'interno del sorgente statico tcp 172.16.6.66 3389 198.51.100.2 3398

Quindi, per accedere al computer 172.16.6.61, avvia una sessione RDP sulla porta 198.51.100.2:3389 e su 172.16.6.66 - 198.51.100.2:3398. Il router disperderà tutto dove deve essere.

A proposito, questo comando è un caso speciale del primissimo: ip nat all'interno del sorgente statico 172.16.6.66 198.51.100.2. Solo in questo caso stiamo parlando dell'inoltro di tutto il traffico e, nei nostri esempi, di porte specifiche del protocollo TCP.

Ecco come funziona fondamentalmente il NAT. Sono stati scritti molti articoli sulle sue caratteristiche, pro/contro, ma non possono essere ignorati.

Punti deboli e punti di forza di NAT
+
- Prima di tutto NAT salva gli indirizzi IP pubblici. In realtà per questo è stato creato. Attraverso un indirizzo, teoricamente è possibile emettere più di 65000 indirizzi grigi (per numero di porte).
- In secondo luogo, PAT e NAT dinamico sono in una certa misura un firewall, che impedisce alle connessioni esterne di raggiungere i computer finali, che potrebbero non avere il proprio firewall e antivirus. Il fatto è che se un pacchetto arriva al driver dall'esterno, cosa non prevista o non consentita qui, viene semplicemente scartato.
Affinché il pacchetto possa essere ignorato ed elaborato, devono essere soddisfatte le seguenti condizioni:
1) Deve esserci una voce nella tabella NAT per questo indirizzo esterno, specificato come indirizzo del mittente nel pacchetto
E
2) La porta del mittente nel pacchetto deve corrispondere alla porta per questo indirizzo bianco nella voce
E
3) La porta di destinazione nel pacchetto è la stessa della porta nella voce.
O
Il port forwarding è configurato.
Ma non è necessario considerare NAT esattamente come un firewall: questo non è altro che un ulteriore vantaggio.

- Terzo, NAT nasconde la struttura interna della rete da occhi indiscreti: quando si traccia un percorso dall'esterno, non si vedrà nulla oltre il dispositivo di spinta.

-
NAT ha alcuni svantaggi. I più tangibili sono forse i seguenti:
- Alcuni protocolli non possono funzionare tramite NAT senza stampelle. Ad esempio, FTP o protocolli di tunneling (nonostante sia semplice impostare FTP in laboratorio, nella vita reale questo può creare un sacco di problemi)
- Un altro problema risiede nel fatto che da un indirizzo ci sono molte richieste ad un server. Molti lo hanno assistito, quando vai in qualche Rapidshare e lui dice che c'era già una connessione dal tuo IP, pensi che "sta mentendo, cane", ma il tuo vicino sta già facendo schifo. Per lo stesso motivo, ci sono stati problemi con ICQ, quando i server si sono rifiutati di registrarsi.
- Il problema non è molto urgente ora: il carico sul processore e sulla RAM. Poiché la quantità di lavoro è piuttosto grande rispetto al semplice routing (è necessario non solo guardare l'intestazione IP, è necessario rimuoverla, rimuovere l'intestazione TCP, aggiungerla alla tabella, fissare nuove intestazioni) nei piccoli uffici ci sono problemi con questo.
Mi sono imbattuto in una situazione del genere.
Una delle possibili soluzioni è spostare la funzione NAT su un PC separato o su un dispositivo specializzato, ad esempio un Cisco ASA.
Per i grandi giocatori, i cui router girano 3-4 BGP full-view, ora questo non è un problema.

Cos'altro hai bisogno di sapere?
- Il NAT viene utilizzato principalmente per fornire l'accesso a Internet a host con indirizzi privati. Ma ci sono anche altri usi: la comunicazione tra due reti private con spazi di indirizzi sovrapposti.
Ad esempio, la tua azienda acquista una filiale ad Aktyubinsk. Il tuo indirizzo è 10.0.0.0-10.1.255.255 e loro hanno 10.1.1.0-10.1.10.255. Gli intervalli si sovrappongono chiaramente, non sarai in grado di configurare il routing, perché lo stesso indirizzo potrebbe apparire ad Aktyubinsk e nella tua sede.
In questo caso, NAT è configurato alla giunzione. Poiché non abbiamo indirizzi grigi, possiamo selezionare, ad esempio, l'intervallo 10.2.1.0-10.2.10.255 ed eseguire una trasmissione uno a uno:
10.1.1.1-10.2.1.1
10.1.1.2-10.2.1.2

10.1.10.255-10.2.10.255

Nei giocattoli di grandi dimensioni per adulti, il NAT può essere implementato su una scheda separata (e spesso lo è) e non funzionerà senza di esso. E sulle ghiandole dell'ufficio, al contrario, c'è quasi sempre.

Con l'adozione diffusa di IPv6, la necessità di NAT diminuirà. Già ora, i grandi clienti stanno iniziando a interessarsi alla funzionalità di NAT64: questo è quando hai accesso al mondo tramite IPv4 e la rete interna è già su IPv6

Naturalmente, questo è solo uno sguardo superficiale al NAT e c'è ancora un mare di sfumature in cui l'autoeducazione ti aiuterà a non affogare.

pratica NAT
Cosa ci richiede la realtà?
1) La rete di controllo non ha alcun accesso a Internet
2) Gli host della rete VET hanno accesso solo a siti specializzati, ad esempio un sito
3) Le adorabili signore del reparto contabilità devono aprire una finestra sul mondo delle banche clienti.
4) FEO non dovrebbe essere rilasciato da nessuna parte, ad eccezione del direttore finanziario
5) Nell'Altra rete, il nostro computer e il computer dell'amministratore: daremo loro pieno accesso a Internet. Tutti gli altri possono essere aperti previa richiesta scritta.
6) Non dimentichiamoci delle filiali di San Pietroburgo e Kemerovo. Per semplicità, configuriamo l'accesso completo per enikis da queste sottoreti.
7) Con i server, una canzone separata. Configurare il port forwarding per loro. Tutto ciò di cui abbiamo bisogno:
a) Il server WEB deve essere disponibile sulla porta 80
b) Server di posta il 25 e il 110
c) Il file server è accessibile dal mondo tramite FTP.
8) I computer dell'amministratore e del nostro devono essere accessibili da Internet tramite RDP. In realtà, questo è il modo sbagliato: per una connessione remota è necessario utilizzare una connessione VPN e già essere sulla rete locale utilizzare RDP, ma questo è un argomento per un articolo completamente diverso.

Per prima cosa, prepariamo un sito di prova:

La connessione a Internet sarà organizzata tramite il collegamento esistente fornito dal provider.
Va alla rete del provider. Ti ricordiamo che tutto in questo cloud è una rete astratta, che infatti può essere composta da decine di router e centinaia di switch. Ma abbiamo bisogno di qualcosa di gestibile e prevedibile, quindi abbiamo messo un altro router qui. Da un lato, c'è un collegamento ad esso dallo switch, dall'altro c'è un server su Internet.

Abbiamo bisogno dei seguenti server:
1. Due banche clienti per contabili (sperbank.ru, mmm-bank.ru)
2.sito per PTOshnikov
3. Yandex (yandex.ru)

Per tale connessione, alzeremo un altro vlan a msk-arbat-gw1. Il suo numero, ovviamente, è coerente con il provider. Lascia che sia VLAN 6
Supponiamo che il fornitore ci fornisca sottorete 198.51.100.0/28... I primi due indirizzi vengono utilizzati per organizzare il collegamento (198.51.100.1 e 198.51.100.2) e il resto viene utilizzato come pool per NAT. Tuttavia, nessuno ci impedisce di utilizzare l'indirizzo 198.51.100.2 per il pool. Facciamolo: piscina: 198.51.100.2-198.51.100.14
Per semplicità, supponiamo che i nostri server pubblici si trovino sulla stessa sottorete:
192.0.2.0/24 .
Sai già come impostare un collegamento e indirizzi.
Poiché abbiamo un solo router nella rete del provider e tutte le reti sono collegate direttamente ad esso, non è necessario configurare il routing.
Ma il nostro msk-arbat-gw1 ha bisogno di sapere dove inviare i pacchetti a Internet, quindi abbiamo bisogno di un percorso predefinito:
msk-arbat-gw1 (config) # ip route 0.0.0.0 0.0.0.0 198.51.100.1

Ora in ordine

Innanzitutto, imposta un pool di indirizzi
msk-arbat-gw1 (config) # ip nat pool main_pool 198.51.100.2 198.51.100.14 netmask 255.255.255.240

Ora raccogliamo l'ACL:
msk-arbat-gw1 (config) # ip access-list esteso nat-inet

1) Rete di controllo
non ha affatto accesso a Internet
Pronto
2) Ospiti della rete VET
Avere accesso solo a siti specializzati, ad esempio un sito
msk-arbat-gw1 (config-ext-nacl) # allow tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq 80
3) Contabilità
Diamo accesso a tutti gli host su entrambi i server
msk-arbat-gw1 (config-ext-nacl) # permesso ip 172.16.5.0 0.0.0.255 host 192.0.2.3
msk-arbat-gw1 (config-ext-nacl) # permesso ip 172.16.5.0 0.0.0.255 host 192.0.2.4
4) FEO
Diamo il permesso solo al CFO - questo è solo un host.
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.4.123 qualsiasi
5) Altro
I nostri computer con accesso completo
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.6.61 qualsiasi
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.6.66 qualsiasi
6) Filiali a San Pietroburgo e Kemerovo
Lascia che gli indirizzi dell'Enikiev siano gli stessi: 172.16.x.222
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.16.222 qualsiasi
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.17.222 qualsiasi
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.24.222 qualsiasi

Ecco come appare ora l'ACL per intero:
ip access-list esteso nat-inet
commento PTO
permesso tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq www
osservazione CONTABILITA'
permesso ip 172.16.5.0 0.0.0.255 host 192.0.2.3
permesso ip 172.16.5.0 0.0.0.255 host 192.0.2.4
commento FEO
consenti host ip 172.16.4.123 qualsiasi
commento IAM
consenti host ip 172.16.6.61 qualsiasi
commento ADMIN
consenti host ip 172.16.6.66 qualsiasi
commento SPB_VSL_ISLAND
consenti host ip 172.16.16.222 qualsiasi
commento SPB_OZERKI
consenti host ip 172.16.17.222 qualsiasi
commento KMR
consenti host ip 172.16.24.222 qualsiasi

Lanciare:
msk-arbat-gw1 (config) # ip nat all'interno dell'elenco dei sorgenti nat-inet pool main_pool overload

Ma la felicità non sarà completa senza la personalizzazione delle interfacce:
Sull'interfaccia esterna, devi dare il comando ip nat fuori
Interno: ip nat dentro
msk-arbat-gw1 (config) # int fa0 / 0.101
msk-arbat-gw1 (config) # int fa0 / 0.102
msk-arbat-gw1 (config-subif) # ip nat inside
msk-arbat-gw1 (config) # int fa0 / 0.103
msk-arbat-gw1 (config-subif) # ip nat inside
msk-arbat-gw1 (config) # int fa0 / 0.104
msk-arbat-gw1 (config-subif) # ip nat inside
msk-arbat-gw1 (config) # int fa0 / 1.6
msk-arbat-gw1 (config-subif) # ip nat outside

Ciò consentirà al router di capire dove aspettarsi che i pacchetti vengano elaborati e dove inviarli in seguito.

Affinché i server su Internet siano accessibili tramite il nome di dominio, sarebbe bello per noi ottenere un server DNS sulla nostra rete:



Naturalmente, è necessario registrarlo su quei dispositivi da cui controlleremo l'accesso:

Lo spettacolo deve continuare!

Tutto è disponibile dal computer dell'amministratore:

Dalla rete PTO si accede solo al sito del sito sulla porta 80 (HTTP):





Nella rete FEO, solo 4.123 esce nel mondo (findirector)





Nel reparto contabilità funzionano solo i siti delle banche clienti. Ma, poiché l'autorizzazione è data completamente al protocollo IP, è possibile eseguire il ping:



7) Server
Qui dobbiamo configurare il port forwarding in modo che sia possibile accedervi da Internet:

a) Server web
msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.0.2 80 198.51.100.2 80

Verifichiamo subito, ad esempio, di poterlo fare da un PC di prova con l'indirizzo 192.0.2.7.
Ora niente funzionerà, perché per la rete di server non abbiamo un'interfaccia configurata per msk-arbat-gw1:
msk-arbat-gw1 (config) # int fa0 / 0.3
msk-arbat-gw1 (config-subif) # ip nat inside

E adesso:

b) File server
msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.0.3 20 198.51.100.3 20
msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.0.3 21 198.51.100.3 21

Per questo, in ACL Servers-out, abbiamo anche aperto le porte 20-21 per tutti

c) Server di posta
msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.0.4 25 198.51.100.4 25
msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.0.4 110 198.51.100.4 110

Inoltre non è difficile da controllare. Seguire le istruzioni:
Per prima cosa, impostiamo il server di posta. Indichiamo il dominio e creiamo due utenti.

Successivamente, aggiungiamo il dominio a DNS. Questo passaggio è facoltativo: puoi anche accedere al server tramite IP, ma perché no?

Configuriamo un computer dalla nostra rete:

Da fuori:

Preparare una lettera:

Sull'host locale, fare clic su Ricevi:

8) Accesso tramite RDP ai computer dell'amministratore e al nostro
msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.6.61 3389 198.51.100.10 3389
msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.6.66 3389 198.51.100.10 3398
Sicurezza
Infine, un'osservazione. Molto probabilmente, un dispositivo di tensionamento, il tuo IP nat esterno guarda verso l'esterno con la sua interfaccia: a Internet. Pertanto, non sarebbe male riagganciare l'ACL su questa interfaccia, dove neghi, permetti ciò di cui hai bisogno. Non ci soffermeremo su questo problema in questo articolo.

Questo completa la prima conoscenza con la tecnologia NAT.
Come un altro DZ, rispondi alla domanda perché non c'è accesso a Internet dai computer degli Enikiev a San Pietroburgo e Kemerovo. Dopotutto, li abbiamo già aggiunti all'elenco di accesso.

Materiali di rilascio

access-list 101 permesso ip 192.168.2.0 0.0.0.255 any

Crea una mappa del percorso, dove indichiamo che se il pacchetto proviene dalla rete 192.168.2.0/24, assegnagli l'hop successivo 10.0.2.1 (invece di 10.0.1.1)

Permesso CLIENTE mappa percorso 5
corrisponde all'indirizzo IP 101
imposta ip next-hop 10.0.2.1

Applicare la mappa all'interfaccia:
ip policy route-map CLIENT

Questa è solo una delle applicazioni del potente strumento Policy-Based Routing, che, purtroppo, non è implementato in nessuna forma in RT.

Limite di velocità
Utilizzando lo stesso esempio, limiteremo la velocità per la rete 192.168.1.0/24 a 1,5 Mb/s e per 192.168.2.0/24 a 64 kb/s.
Su 10.0.1.1 puoi eseguire i seguenti comandi:
Router (config) # access-list 100 permesso ip 192.168.1.0 0.0.0.255 any
Router (config) # access-list 101 permesso ip 192.168.2.0 0.0.0.255 any
Router (config) # interfaccia fa0 / 0
Router (config-if) # uscita limite di velocità access-group 100 1544000 64000 64000 trasmissione conforme-azione superamento caduta azione
Router (config-if) # uscita limite di velocità gruppo di accesso 101 64000 16000 16000 trasmissione conforme-azione superamento caduta azione

Autori:

Marat eucariota
Maxim aka gluck

Un ringraziamento speciale a Dmitry JDima per il suo aiuto nella preparazione di questo articolo.

ACL (Access Control List) è un elenco di controllo degli accessi. Gli elenchi di accesso consentono ai tecnici di rete di identificare diversi tipi di pacchetti. Per fare ciò, la configurazione ACL elenca i valori che il router Cisco può trovare nelle intestazioni IP, TCP, UDP e altre. Ad esempio, un elenco di accesso può riconoscere un pacchetto con un indirizzo IP del mittente di 1.1.1.1, oppure pacchetti con indirizzo IP del ricevitore nella sottorete 10.1 .1.0/24, oppure pacchetti con porta di destinazione TCP 23 (Telnet). Molto spesso, gli elenchi di accesso vengono utilizzati come filtro dei pacchetti.

LCA si applica a:

  1. Interfaccia: per il filtraggio dei pacchetti
  2. Telnet: per limitare l'accesso al router
  3. VPN: per identificare il traffico da crittografare
  4. QoS: per determinare il traffico da elaborare
  5. NAT: per determinare gli indirizzi IP da tradurre

Di per sé, gli elenchi di accesso sono un elenco di espressioni che consentono o negano qualcosa. L'ACL viene applicato su un'interfaccia specifica e in una direzione (in entrata o in uscita). Pertanto, gli ACL possono essere applicati ai pacchetti che entrano nel router prima che decida di inoltrarli. O ai pacchetti in uscita, dopo che il router ha preso una decisione di inoltro e inoltra il pacchetto a questa interfaccia.

Diamo un'occhiata a un semplice esempio. Quando un pacchetto arriva da LAN1 (rete interna locale) all'interfaccia f0 / 0, il router controlla il traffico in entrata rispetto all'ACL rigorosamente nell'ordine in cui sono scritte le espressioni. Se l'ACL consente il passaggio del pacchetto, il router lo invia all'interfaccia f0 / 1. Prima di inviare un pacchetto, il router controlla il traffico in uscita rispetto all'ACL e solo dopo prende una decisione sull'inoltro all'ISP (Internet Service Proiver - provider).

Quando si utilizza un ACL per filtrare i pacchetti, è possibile selezionare solo una delle due azioni. I comandi di configurazione utilizzano le parole chiave negare e permettere di negare il pacchetto o consentire la trasmissione, rispettivamente.

Gli ACL sono disponibili in due versioni:

  1. Standard: può controllare solo gli indirizzi IP dei mittenti dei pacchetti
  2. Esteso: può controllare gli indirizzi di origine/destinazione, il tipo di protocollo, le porte UDP/TCP

Gli ACL sono designati da numeri di sequenza (standard da 1 a 99, estesi da 100 a 199) e da nomi simbolici.

Diamo un'occhiata ad alcune regole importanti riguardanti gli ACL:

  1. Non è possibile inserire più di una lista di accesso per interfaccia, protocollo, direzione;
  2. L'ACL non ha effetto sul traffico generato dal router stesso;
  3. Per filtrare i pacchetti viene utilizzata la maschera WildCard inversa (ad esempio, 0.0.255.255 corrisponde a 255.255.0.0)
  4. Non appena un pacchetto viene abbinato su una delle linee ACL, il router esegue l'azione specificata su quella linea e interrompe l'ulteriore confronto.
  5. Alla fine di ogni lista di accesso c'è un implicito nega qualsiasi - nega tutto

Gli elenchi di accesso numerati standard utilizzano il seguente comando globale:

access-list (1-99) (permettere | negare) (indirizzo | qualsiasi | host) (carattere jolly sorgente)

Ciascun ACL numerato contiene uno o più comandi dell'elenco di accesso con qualsiasi numero nell'intervallo mostrato nella riga di sintassi sopra. Oltre al numero ACL, ogni comando contiene un'azione selezionata (consenti o nega) e una logica di riconoscimento. Parametri del comando della lista di accesso:

  1. consentire - consentire
  2. negare - negare
  3. indirizzo - proibire o consentire una rete specifica (specificare il suo indirizzo IP)
  4. any - proibisci o consenti tutto
  5. host - proibire o consentire l'host (specificare il suo indirizzo IP)
  6. carattere jolly sorgente - maschera inversa

Dopo aver creato un elenco di accesso, è necessario applicarlo su un'interfaccia specifica:

ip access-group (numero ACL o nome) (in | out)

Dove in è la direzione in entrata, out è la direzione in uscita.

Passiamo alla pratica. Per cominciare, impostiamo una rete semplice, che includerà il laptop dell'amministratore, i computer degli utenti ordinari e un server. È necessario farlo. in modo che solo l'amministratore abbia accesso al server. Ip-plan e diagramma sono allegati.

Per tradizione, per coloro che assembleranno questo schema Packet tracer, fornisco la configurazione completa di tutti i dispositivi con una descrizione dei comandi.

Switch> enable Switch # configure terminal Switch (config) #vlan 2 - create vlan 2 Switch (config-vlan) #name Admin - nome per vlan 2 Switch (config) #vlan 3 - crea vlan 3 Switch (config-vlan) #name Server - nome per vlan 3 Switch (config) #vlan 10 - crea vlan 10 Switch (config-vlan) #name Utente "s - nome per vlan 10 Switch (config) #Interface range fa0 / 1 - fa0 / 9 - configuriamo le interfacce verso gli Utenti Switch (config-if-range) #descrizione Utente "s - descrizione dell'interfaccia Switch (config-if-range) #switchport modalità accessSwitch (config-if-range) #switchport access vlan 10 - tagging frame 10 VLAN Switch (config-if-range) #exit Switch (config) #interface fa0 / 10 - configuriamo le interfacce verso il Server Cambia (config-if) #descrizione Server - descrizione dell'interfaccia- imposta la porta in modalità tag Switch (config-if) #switchport access vlan 3 - tagging frame 3 VLAN Switch (config-if) #exit Switch (config) #interface fa0 / 20 - configuriamo le interfacce verso l'Admin Switch (config-if) #descrizione Admin - descrizione dell'interfaccia Cambia (config-if) l'accesso alla modalità #switchport - imposta la porta in modalità tag Switch (config-if) #switchport access vlan 2 - tagging frame 2 VLAN Switch (config-if) #exit Switch (config) #interface fa0 / 24 - configuriamo le interfacce verso Router Switch (config-if) #descrizione Router - descrizione dell'interfaccia Cambia (config-if) la modalità #switchport trunk - imposta la porta in modalità senza tag Switch (config-if) #switchport trunk consentito vlan 2-3,10 - salta VLAN 2-3,10 Switch (config-if) #exit Switch (config) #do write - salvare la configurazione

Router> abilita - vai in modalità avanzata Router # configura terminale - vai alla modalità di configurazione Router (config) #interfaccia fa0 / 0 - insistiamo sulla porta in direzione di Switch Router (config-if) #descrizione Switch - descrizione dell'interfaccia Router (config-if) #nessun arresto - accendi fisicamente l'interfaccia Router (config-if) #exit Router (config) #interface fa0 / 0.2 - configuriamo la sottointerfaccia per la sottorete Admin Router (config-subif) #descrizione Amministratore - descrizione dell'interfaccia punto1q 2 - etichettatura 2 VLAN "ohm Router (config-subif) #indirizzo ip 172.16.0.1 255.255.255.0 - imposta il gateway predefinito per l'amministratore Router (config-subif) #exit - configuriamo la sottointerfaccia per la sottorete del Server Router (config-subif) #descrizione Server - descrizione dell'interfaccia Router (config-subif) #incapsulation punto1q 3 - tagghiamo 3 VLAN Router (config-subif) #indirizzo ip 172.16.1.1 255.255.255.0 - Router (config-subif) #exit Router (config) #interface fa0 / 0.10 - configurare la sottointerfaccia per la sottorete Utenti Router (config-subif) #descrizione Utente "s - descrizione dell'interfaccia Router (config-subif) #incapsulation punto1q 10 - etichettatura di 10 VLAN Router (config-subif) #indirizzo ip 172.16.2.1 255.255.255.0 - imposta il gateway predefinito per i server Router (config-subif) #exit

Avvio di un ping dal computer dell'utente al server

Come puoi vedere, c'è accesso. Abbiamo bisogno solo dell'amministratore per avere accesso. Per fare ciò, dobbiamo creare un elenco di accesso (lasciare che abbia un numero di serie 10), in cui consentiremo a tutti i pacchetti dell'amministratore (172.16.0.100) di accedere alla sottorete del server (172.16.1.0/24). Quindi applicheremo questa regola sulla sottointerfaccia fa0 / 0.3 (per i server) per tutti i pacchetti in uscita.

Router (config) # access-list 10 permesso host 172.16.0.100 - creare un elenco di accesso in cui permettiamo l'host amministratore Router (config) #interface fa0 / 0.3 Router (config-subif) #ip access-group 10 out - applichiamo le impostazioni dell'elenco di accesso sulla sottointerfaccia

Testare le impostazioni. Lanciamo un ping dal computer dell'utente verso il server.

Scrive Host di destinazione irraggiungibile - l'host di destinazione non è raggiungibile.

Lanciamo ping dal computer dell'amministratore.

Il ping va - significa che l'ACL è configurato correttamente. Cosa succede quando eseguiamo il ping del server dal laptop dell'amministratore? Il pacchetto arriva prima all'interfaccia sib fa0 / 0.2 del router. Gli elenchi di accesso non sono configurati su questa interfaccia, il che significa che il pacchetto va avanti. Il router esamina la sua tabella di routing e vede che la sottorete del server si trova sulla sottointerfaccia fa0/0.3. Prima di inviare un pacchetto, il router vede che a questa interfaccia è collegato l'ACL 10. C'è solo una voce in questo elenco di accesso: consente l'invio di pacchetti solo all'host 172.16.0.100 (il laptop dell'amministratore). Il router esamina il pacchetto IP e vede l'indirizzo del mittente 172.16.0.100 e quindi invia il pacchetto alla sottorete del server. Ip-packet con un valore diverso da 172.16.0.100 verrà scartato, poiché alla fine di ACL 10 c'è un implicito nega qualsiasi - nega tutto.

Passiamo ora agli elenchi di accesso estesi. Gli utenti della nostra rete devono avere accesso all'archiviazione dei file e al sito web. In precedenza abbiamo completamente limitato il loro accesso al server. Dobbiamo sistemare la situazione e gli elenchi di accesso estesi ci aiuteranno in questo. Gli ACL estesi possono controllare gli indirizzi IP di origine/origine, il tipo di protocollo, le porte UDP/TCP. Nella nostra situazione, sarà necessario controllare i numeri di porta. Se un utente contatta il server tramite una porta consentita, il router passa tale pacchetto. Porte consentite: 80 (HTTP - accesso al sito Web), 21 (FTP - accesso all'archivio file). I protocolli HTTP e FTP vengono eseguiti su TCP. Inoltre, per riconoscere i nomi di dominio sul nostro server, viene alzato il DNS. Il server DNS è in esecuzione sulla porta 53.

Collocheremo l'elenco di accesso esteso sulla sottointerfaccia fa0 / 0.3. Ma questa interfaccia ha già un elenco di accesso. Ricorda la regola: non puoi inserire più di un elenco di accesso per interfaccia. Quindi dovrai eliminare l'elenco di accesso creato in precedenza. Sposta la regola creata per l'amministratore in un nuovo elenco esteso con il nome Uscita server.

Configurazione per router:

Router (config) #no access-list 10 permesso host 172.16.0.100 - eliminare la precedente lista di accesso Router (config) #interfaccia fa0 / 0.3 - configurazione della sottointerfaccia per i server Router (config-subif) #no ip access-group 10 out - eliminare le precedenti impostazioni della lista di accesso Router (config-subif) #exit Router (config) #ip access-list extended Server-out - creare un elenco di accesso esteso Router (config-ext-nacl) #permit ip host 172.16.0.100 host 172.16.1.2 - dare all'amministratore pieno accesso al server Router (config-ext-nacl) #permit tcp qualsiasi host 172.16.1.2 eq 80 - consentire a qualsiasi host di accedere al server tramite HTTP Router (config-ext-nacl) #permit tcp qualsiasi host 172.16.1.2 eq 21 - consentire a qualsiasi host di accedere al server tramite FTP Router (config-ext-nacl) #permit tcp qualsiasi host 172.16.1.2 eq 53 - consentire a qualsiasi host di accedere al server tramite DNS Router (config-ext-nacl) #exit Router (config) #interface fa0 / 0.3 Router (config-if) #ip access-group Server-out

Dal computer dell'amministratore, il ping al server è:

Non c'è ping dal computer dell'utente:

Controlliamo dal computer dell'utente se le richieste DNS passano al server. Per fare ciò, esegui l'utilità nslookup- che definisce l'indirizzo IP del nome a dominio.

Le query DNS vengono eseguite senza problemi. Testiamo l'accesso del browser al nostro sito Web condizionale:

Infine colleghiamoci al server FTP:

La connessione è riuscita!

Parte teorica.

Un elenco di controllo di accesso (ACL) è un elenco sequenziale di regole utilizzate per consentire o negare il flusso di pacchetti all'interno di una rete in base alle informazioni fornite all'interno dell'elenco. Senza un elenco di accesso, tutti i pacchetti all'interno della rete sono consentiti senza restrizioni per tutte le parti della rete. L'elenco di accesso può essere utilizzato per controllare la propagazione e ottenere informazioni sulle modifiche alle tabelle di instradamento e, soprattutto, per garantire sicurezza... La politica di sicurezza, in particolare, include la protezione contro gli attacchi esterni, le restrizioni di accesso tra i reparti dell'organizzazione e il bilanciamento del carico di rete.

L'elenco degli accessi consente di utilizzare il router come firewall, firewall, per vietare o limitare l'accesso alla rete interna da una rete esterna, come Internet. Un firewall viene solitamente posizionato nei punti di connessione tra due reti.

ACL standard

Quando si utilizzano ACL standard, l'unico criterio per determinare se un pacchetto è consentito o negato è l'indirizzo IP di origine di quel pacchetto. Il formato della voce dell'elenco di accesso è il seguente

Router (configurazione) # lista di accesso № permesso | negare l'indirizzo di origine maschera di origine,

dove # è un numero intero - il numero della lista di accesso, source-address è l'indirizzo di origine del pacchetto, source-mask è la maschera in forma inversa sovrapposta all'indirizzo, allow - per consentire il passaggio del pacchetto, negare - negare il pacchetto. Il numero # determina se un elemento dell'elenco di accesso appartiene a uno specifico elenco di accesso con il numero #. Il primo comando access-list definisce il primo elemento dell'access-list, il secondo comando definisce il secondo elemento dell'access-list e così via. Un router elabora ogni elenco di accesso che definisce dall'alto verso il basso. Cioè, se l'indirizzo di origine del pacchetto, tenendo conto della maschera, soddisfa la condizione dell'elemento dell'elenco, il router non elabora ulteriori elementi dell'elenco. Pertanto, per evitare trattamenti non necessari, è opportuno inserire all'inizio dell'elenco gli elementi che definiscono condizioni più generali. All'interno di un router è possibile definire più elenchi di accesso. Il numero dell'elenco standard deve essere compreso tra 1 e 99. La maschera nell'elenco di accesso è specificata in forma inversa, ad esempio, la maschera 255.255.0.0 è simile a 0.0.255.255.

I router Cisco presuppongono che tutti gli indirizzi non elencati esplicitamente nell'elenco di accesso vengano negati. Cioè, c'è un elemento invisibile alla fine della lista di accesso

Router (configurazione) # lista-accesso # negare 0.0.0.0 255.255.255.255

Quindi, se vogliamo consentire solo il traffico dall'indirizzo 1.1.1.1 e negare tutto il resto, è sufficiente inserire un elemento nell'elenco di accesso

Router (configurazione) # access-list 77 permesso 1.1.1.1 0.0.0.0.

Ciò presuppone che abbiamo organizzato l'elenco di accesso 77.

Consideriamo la possibilità di utilizzare elenchi di accesso standard per un intervallo di indirizzi. Prendiamo ad esempio l'intervallo 10.3.16.0 - 10.3.31.255. Per ottenere una maschera inversa, puoi sottrarre quella inferiore dall'indirizzo senior e ottenere 0.0.15.255. Quindi un esempio di un elemento dell'elenco può essere impostato con il comando

Router (configurazione) # access-list 100 permesso 10.3.16.0 0.0.15.255

Affinché l'elenco di accesso inizi a fare il suo lavoro, deve essere applicato all'interfaccia utilizzando il comando

Router (config-if) # ip access-group access-list-number in o out

La lista di accesso può essere utilizzata sia come input (in) che come output (out). Quando utilizzi un elenco di accesso come ingresso, il router riceve il pacchetto in ingresso e verifica il suo indirizzo di ingresso rispetto alle voci nell'elenco. Il router consente l'instradamento del pacchetto all'interfaccia di destinazione se il pacchetto corrisponde all'elenco di ammissione o lo scarta se corrisponde alle condizioni dell'elenco di esclusione. Se si utilizza un elenco di accesso come output, il router riceve un pacchetto di input, lo instrada all'interfaccia di destinazione e solo successivamente elabora l'indirizzo del pacchetto di input in base agli elementi dell'elenco di accesso di questa interfaccia. Inoltre, il router consente al pacchetto di lasciare l'interfaccia o lo scarta rispettivamente in base agli elementi di autorizzazione e di rifiuto dell'elenco. Quindi, l'elenco creato in precedenza con il numero 77 viene applicato all'interfaccia Ethernet 0 del router come elenco di input con i comandi

Router (configurazione) # int Ethernet 0

Router (config-if) # ip access-group 77 pollici

Lo stesso elenco viene applicato all'interfaccia Ethernet 0 del router come elenco di output utilizzando i comandi

Router (config-if) # ip access-group 77 out

Annulla l'elenco sull'interfaccia utilizzando il comando no

Router (config-if) # nessun accesso IP-gruppo 77 out

Iniziamo a creare elenchi di accesso più complessi. Considera la rete in Figura 1. Consentiamo tutti i pacchetti provenienti dalla rete 10.1.1.0 / 25 (10.1.1.0 255.255.255.128), ma rifiutiamo tutti i pacchetti provenienti dalla rete 10.1.1.128 / 25 (10.1.1.128 255.255.255.128) Rete. Vogliamo anche negare tutti i pacchetti provenienti dalla rete 15.1.1.0 / 24 (15.1.1.0 255.255.255.0), ad eccezione dei pacchetti da un singolo host a 15.1.1.5. Consentiamo tutti gli altri pacchetti. Daremo l'elenco numero 2. La sequenza di comandi per eseguire l'attività assegnata sarà la seguente

Router (configurazione) #

Router (configurazione) # access-list 2 permesso 15.1.1.5 0.0.0.0

Router (configurazione) #

Router (configurazione) #

Da notare l'assenza di un elemento risolutivo per la rete 10.1.1.0 255.255.255.128. Il suo ruolo è giocato dall'ultimo elemento access-list 2 permesso 0.0.0.0 255.255.255.255.

Faremo in modo di aver completato l'attività.

1. Consenti tutti i pacchetti provenienti dalla rete 10.1.1.0 255.255.255.128.

L'ultima riga dell'elenco di accesso soddisfa questo criterio. Non è necessario consentire esplicitamente questa rete nel nostro elenco di accesso poiché non ci sono righe nell'elenco corrispondente a questa rete ad eccezione dell'ultimo permesso di linea autorizzato 0.0.0.0 255.255.255.255.

La prima riga dell'elenco soddisfa questo criterio. È importante notare il tipo di maschera inversa 0.0.0.127 per questa rete. Questa maschera indica che non dobbiamo prendere in considerazione gli ultimi sette bit del quarto ottetto dell'indirizzo, che sono assegnati per l'indirizzamento su questa sottorete. La maschera per questa rete è 255.255.255.128, che dice che gli ultimi sette bit del quarto ottetto determinano l'indirizzamento su questa rete.

3. Nega tutti i pacchetti in uscita dalla rete 15.1.1.0 255.255.255.0, ad eccezione dei pacchetti provenienti da un singolo host con indirizzo 15.1.1.5

Figura 9.1.

Questo requisito è soddisfatto dalla seconda e dalla terza riga della nostra lista di accesso. È importante notare che l'elenco di accesso applica questo requisito nell'ordine errato come definito. Assicurati di ricordare che l'elenco di accesso viene elaborato dall'alto verso il basso e alla prima corrispondenza, l'elaborazione dei pacchetti si interrompe. Chiediamo prima di negare tutti i pacchetti in uscita dalla rete 15.1.1.0 255.255.255.0 e solo dopo consentire i pacchetti con l'indirizzo 15.1.1.5. Se riorganizziamo il secondo e il terzo comando nei comandi che definiscono l'elenco di accesso, l'intera rete 15.1.1.0 verrà negata fino a quando l'host non sarà autorizzato 15.1.1.5. Cioè, l'indirizzo 15.1.1.5 sarà immediatamente vietato all'inizio dal criterio più generale nega 15.1.1.0 0.0.0.255.

4. Consenti tutti gli altri pacchetti

L'ultimo comando risolve tutti gli indirizzi che non corrispondono ai primi tre comandi.

Pertanto, abbiamo la seguente sequenza di azioni per implementare l'elenco di accesso.

1. Determinare i criteri e le restrizioni per l'accesso.

2. Implementarli utilizzando i comandi della lista di accesso, creando una lista di accesso con un numero specifico.

3. Applicare l'elenco a un'interfaccia specifica come in entrata o in uscita.

Soffermiamoci sull'ultimo punto. In generale, un elenco di accesso standard dovrebbe essere posizionato il più vicino possibile alla destinazione e non alla fonte dei pacchetti. Ci possono essere eccezioni, però. Poiché l'elenco di accesso standard funziona solo con gli indirizzi di origine, non è sempre possibile una configurazione dettagliata. Sono necessari sforzi per evitare il verificarsi di configurazioni di accesso indesiderate. Se l'elenco è posizionato vicino all'origine dei pacchetti, è molto probabile che l'accesso ai dispositivi su cui non viene eseguita alcuna configurazione di accesso sarà difficile.

Concretizziamo la politica di sicurezza per la rete in Figura 1. Il nostro obiettivo è creare una politica per il computer A (indirizzo 1.1.1.2 rete 1.1.1.0/24), quale di tutti i dispositivi sulla rete locale 15.1.1.0 / 24 che include il computer C (15.1.1.5) consentirà l'accesso al computer A solo dal computer C. Vogliamo anche creare una policy che vieti l'accesso remoto al computer A da qualsiasi dispositivo sulla rete locale 10.1.1.128 / 25 del computer D (10.1.1.133 ). Consentiamo tutto il resto del traffico. Nella Figura 1, il computer PC5 (15.1.1.5) svolge il ruolo di rappresentante arbitrario della rete locale 15.1.1.0/24 diverso dal computer C.

Il posizionamento nell'elenco è fondamentale per l'applicazione di tale politica. Prendiamo l'elenco creato in precedenza con il numero 2. Se effettuiamo l'output dell'elenco sull'interfaccia seriale del router 2, l'attività per il computer A sarà completata, ma ci saranno restrizioni sul traffico tra altre reti locali. Otteniamo una situazione simile se immettiamo questo elenco come input sull'interfaccia seriale del router 1. Se inseriamo questo elenco come output sull'interfaccia Ethernet A del router 1, l'attività verrà completata senza effetti collaterali.

ACL esteso

Con un ACL standard, puoi specificare solo l'indirizzo di origine e la maschera è facoltativa. Negli ACL estesi, è necessario specificare sia l'indirizzo di destinazione che l'indirizzo di origine con le maschere. È possibile aggiungere ulteriori informazioni sul protocollo per l'origine e la destinazione. Ad esempio, TCP e UDP possono specificare il numero di porta, mentre ICMP può specificare il tipo di messaggio. Come con gli ACL standard, è possibile utilizzare l'opzione log per eseguire il log.

La forma generale del comando per generare una stringa dell'elenco di accessibilità

access-list access-list-number (permetti | nega) protocollo origine carattere jolly origine carattere jolly destinazione destinazione,

dove access-list-number -100-199 | 2000-2699, protocol - ip, icmp, tcp, gre, udp, igrp, eigrp, igmp, ipinip, nos e ospf. Per la porta di origine o di destinazione, puoi utilizzare il numero di porta o la sua designazione bgp, chargen, day, scartare, dominio, echo, finger, ftp, ftp-data, gopher, hostname, irc, klogin, kshell, lpd, nntp, pop2, pop3, smtp, sunrpc, syslog, tacacs-ds, talk, telnet, time, uucp, whois e www. L'operatore è eq (uguale), neq (non uguale), gt (maggiore di), lt (minore di), range (specifica due porte per definire un intervallo).

Come per gli ACL standard, un ACL esteso dovrebbe essere associato all'interfaccia per il traffico che entra nell'interfaccia.

Router (config-if) # ip access-group # ACL in

o per il traffico in uscita dall'interfaccia

Router (config-if) # ip access-group # ACL out

qui ACL # è il numero dell'elenco.

Esempi di elementi ACL estesi

Consenti SMTP da qualsiasi punto dell'host

Router (config) # access-list 111 allow tcp qualsiasi host 172.17.11.19 eq 25

Consenti telnet da qualsiasi luogo per ospitare

Router (config) # access-list 111 allow tcp qualsiasi host 172.17.11.19 eq 23

L'ACL esteso consente di ottimizzare i diritti di accesso.

ACL denominati

Agli ACL con nome viene fatto riferimento per nome anziché per numero per chiarezza e facilità di riferimento. Per creare un ACL denominato c'è un comando

Router (config) # ip access-list esteso ACL_name

Router (config-ext-nacl) # allow | nega IP_protocol source_IP_mask wildcard_mask destinazione_IP_address wildcard_mask

Per completare la creazione dell'elenco, emettere il comando exit.

Il nome dell'elenco denominato fa distinzione tra maiuscole e minuscole. I comandi per la creazione di un elenco senza nome sono simili ai comandi per la creazione di elementi in un elenco numerato, ma il processo di creazione è diverso. È necessario utilizzare la parola chiave ip davanti all'istruzione ACL principale e quindi accedere alla modalità di configurazione per quell'elenco denominato. In questa modalità, inizi con le parole chiave consenti o nega e non devi inserire l'elenco di accesso all'inizio di ogni riga.

Associa gli ACL con nome a un'interfaccia usando il comando

Router (config) # tipo di interfaccia port_№

Router (config-if) # ip access-group ACL_name in | out

Gli ACL vengono elaborati dall'alto verso il basso. La maggior parte del traffico ricorrente dovrebbe essere gestita in cima all'elenco. Non appena il pacchetto elaborato dall'elenco corrisponde all'elemento nell'elenco, l'elaborazione di quel pacchetto si interrompe. Gli ACL standard dovrebbero essere posizionati più vicino alla destinazione in cui il traffico dovrebbe essere filtrato. Gli ACL estesi in uscita dovrebbero essere posizionati il ​​più vicino possibile all'origine dei pacchetti filtrati, mentre l'ingresso dovrebbe essere posizionato più vicino alla destinazione in cui il traffico dovrebbe essere filtrato.

Gli ACL con nome consentono di modificare se stessi. Per fare ciò, devi digitare il comando che è stato utilizzato per crearlo

Router (config) # ip access-list esteso ACL_name

Utilizzare i tasti freccia verticali per trovare la riga dell'elenco che si desidera modificare. Modificalo usando le frecce orizzontali. Premere Invio. La nuova riga viene aggiunta alla fine dell'elenco. Il vecchio non sarà distrutto. Per distruggerlo, inserisci no all'inizio della riga.

Per modificare gli ACL numerici, distruggerli e ricrearli oppure modificare l'elenco offline e caricarlo nel dispositivo utilizzando.

La parte pratica.

1. Carichiamo nel simulatore la topologia mostrata in Figura 2.

Figura 9.2.

Assegniamo gli indirizzi alle interfacce (maschera 255.255.255.240) secondo la tabella. Ricordarsi di impostare la temporizzazione sul dispositivo seriale DCE.

Router2 Router1 Router4
Ethernet 24.17.2.2 24.17.2.1
Seriale 24.17.2.17 24.17.2.18

Configuriamo il routing RIP

Router1 (config) # rip router

Router1 (config-router) # versione 2

Router1 (config-router) # rete 24.0.0.0

Router2 (config) # rip router

Router1 (config-router) # versione 2

Router2 (config-router) # rete 24.0.0.0

Router4 (configurazione) # rip router

Router1 (config-router) # versione 2

Router4 (config-router) # rete 24.0.0.0

Controlla la tua rete con il comando ping e in particolare che puoi eseguire il ping dell'interfaccia Ethernet0 (24.17.2.2) del Router 2 dal Router 4

Router4 # ping 24.17.2.2

Creiamo un elenco di accesso standard che non consentirà il ping del router 2 dal router 4. Per fare ciò, bloccare l'unico indirizzo 24.17.2.18 del router 4 e consentire il resto del traffico. Crea una lista sul router con 2 comandi

Router2 (config) # access-list 1 nega 24.17.2.18 0.0.0.0

Router2 (config) # access-list 1 permesso 0.0.0.0 255.255.255.255

Router2 (config) # interfaccia FastEthernet0 / 0

Router2 (config-if) # ip access-group 1 in

Verifichiamo che l'elenco di accesso sia in esecuzione. Per fare ciò, diamo un'occhiata alla configurazione di lavoro.

Router2 # mostra la configurazione in esecuzione

Possiamo anche vedere che l'elenco viene applicato all'interfaccia utilizzando il comando show ip interface. Cerca la riga "L'elenco di accesso in entrata è 1" nell'output.

Router2 # mostra interfaccia IP

Il comando show access-lists ci mostrerà il contenuto della access list creata.

Router2 # mostra liste di accesso

Si noti che l'host 24.17.2.18 è equivalente a 24.17.2.18 0.0.0.0. Ora, quando si tenta di eseguire il ping dell'interfaccia Ethernet0 (24.17.2.2) del router 2 dal router 4

Router4 # ping 24.17.2.2

Otteniamo la stringa "UUUUU", il che significa che l'elenco di accesso funziona correttamente.

  1. Creiamo e carichiamo la topologia in Figura 2 nel simulatore,

Figura 9.3.

Assegnare indirizzi alle interfacce (maschera 255.255.255.0) secondo la tabella

Router2 Router1 Router3 Router4
Ethernet 0 160.10.1.2 160.10.1.1 175.10.1.2 180.10.1.2
Ethernet 1 175.10.1.1 180.10.1.1

Configuriamo il routing OSPF

Router1 (config) # router ospf 1

Router1 (config-router) #

Router1 (config-router) #

Router2 (config) # router ospf 1

Router2 (config-router) # rete 160.10.1.0 0.0.0.255 area 0

Router3 (configurazione) # router ospf 1

Router3 (config-router) # rete 175.10.1.0 0.0.0.255 area 0

Router3 (config-router) #

Router4 (configurazione) # router ospf 1

Router4 (config-router) # rete 180.10.1.0 0.0.0.255 area 0

Ping i punti estremi per verificare

router2 # ping 180.10.1.2

router4 # ping 160.10.1.2

Creiamo un elenco di accesso standard per filtrare il traffico in arrivo all'interfaccia ethernet0 del 1° router router1 e consentire il traffico dalla sottorete 175.10.1.0 (router3) e bloccare il traffico da altri dispositivi.

router1 (configurazione) # access-list 1 permesso 175.10.1.0 0.0.0.255

Controlla che sia stato creato

router1 # mostra l'elenco di accesso

router1 (configurazione) # interfaccia FastEthernet1 / 0

router1 (config-if) # ip access-group 1 in

router1 # mostra la configurazione in esecuzione

Verificare la connettività tra 3 e 2 router e tra 4 e 2.

router3 # ping 160.10.1.2

router4 # ping 160.10.1.2

Dovrebbe esserci una connessione tra il 3° e il 2° router, ma non tra il 4 e il 2.

Modifichiamo l'elenco di accesso e consentiamo il traffico dalla sottorete 180.10.1.0 (router4) e blocchiamo il traffico da altri dispositivi.

router1 (configurazione) # nessuna lista di accesso 2

router1 (configurazione) # access-list 2 permesso 180.10.1.0 0.0.0.255

Controlla che sia cambiato

router1 # mostra l'elenco di accesso

Allegare l'elenco come input all'interfaccia Ethernet 1

router1 (configurazione) # interfaccia FastEthernet1 / 0

router1 (config-if) # ip access-group 1 in

Controlla la connessione con il comando

router1 # mostra la configurazione in esecuzione

Verificare la connettività tra 3 e 2 router e tra 4 e 2.

router3 # ping 160.10.1.2

router4 # ping 160.10.1.2

Dovrebbe esserci una connessione tra 4 e 2 router, ma non tra 3 e 2.

3. Implementare e verificare la configurazione IP per la rete in Figura 1 e utilizzare OSPF per fornire il routing dinamico.

Per router router 1

router1 (configurazione) # router ospf 1

router1 (config-router) #

router1 (config-router) # rete 1.1.1.0 0.0.0.255 area 0

router1 (config-router) # rete 10.1.1.0 0.0.0.127 area 0

Per router 2

Router2 (config) # router ospf 1

Router2 (config-router) # rete 10.1.1.128 0.0.0.127 area 0

Router2 (config-router) # rete 15.1.1.0 0.0.0.255 area 0

Router2 (config-router) # rete 2.2.2.0 0.0.0.255 area 0

Verifica che la rete funzioni: devi eseguire il ping di qualsiasi interfaccia da qualsiasi dispositivo. O più semplicemente: tutti i computer A, B, C, D, PC5 devono eseguire il ping reciprocamente in coppia.

Creiamo una lista di accesso dalla parte teorica

3.1 Sul router 1, creare un elenco di accesso

router1 (configurazione) # access-list 2 nega 10.1.1.128 0.0.0.127

router1 (configurazione) # access-list 2 permesso host 15.1.1.5

router1 (configurazione) # access-list 2 nega 15.1.1.0 0.0.0.255

router1 (configurazione) # access-list 2 permesso 0.0.0.0 255.255.255.255

e applicalo all'interfaccia Ethernet0 come output

router1 (configurazione) # interfaccia FastEthernet0 / 0

router1 (config-if) # ip access-group 2 out

Fai uno screenshot del risultato dell'esecuzione del comando

router1 # mostra l'elenco di accesso

Da \ In UN B C E D
UN + + + - -
B + + + + +
C + + + + +
E - + + + +
D - + + + +

Tabella 1

Vediamo che la politica di sicurezza dalla parte teorica è pienamente implementata.

3.2 Rimuovere l'ACL dall'interfaccia e0 e applicarlo come input all'interfaccia s0

router1 (configurazione) # interfaccia fa0 / 0

router1 (config-if) # nessun accesso IP-gruppo 2 out

router1 (config-if) # int s2 / 0

router1 (config-if) # ip access-group 2 in

Eseguire il ping a coppie di A, B, C, PC5, D. Il risultato dovrebbe essere la seguente matrice di accesso

Da \ In UN B C E D
UN + + + - -
B + + + - -
C + + + + +
E - - + + +
D - - + + +

Tavolo 2

Vediamo che ora il traffico tra le reti 10.1.1.0/25 e 10.1.1.128/25 è proibito. Anche il traffico tra la rete 10.1.1.0/25 e la rete 15.1.1.0/24 è impossibile, ad eccezione del computer C con indirizzo 15.1.1.5.

4. Utilizzando la topologia e la configurazione del passaggio 1 di questo lab

Cancelliamo la configurazione di accesso fatta al punto 1

Router2 (config) # nessuna lista di accesso 1 nega 24.17.2.18 0.0.0.0

Router2 (config) # nessuna lista di accesso 1 permesso 0.0.0.0 255.255.255.255

Applichiamo l'elenco all'interfaccia Ethernet del Router 2

Router2 (config) # interfaccia fa0 / 0

Router2 (config-if) # nessun accesso ip-gruppo 1 in

Facciamo telnet a router1 sulle sue due interfacce con la password router1

Router1 (config) # linea vty 0 4

Router1 (riga di configurazione) # Accedere

Router1 (riga di configurazione) # password router1

I nostri EACL faranno un paio di cose diverse. Innanzitutto, consentiremo solo a telnet dalla sottorete seriale 24.17.2.16/240 di accedere al router1

router1 (conf) # access-list 101 permesso tcp 24.17.2.16 0.0.0.15 any eq telnet log

L'opzione log farà sì che il router mostri l'output quando viene attivato l'elenco di accesso.

Consenti tutto il traffico dalla sottorete Ethernet 0 24.17.2.0/240 sul router1

router1 (conf) # access-list 102 permesso ip 24.17.2.0 0.0.0.15 qualsiasi

Controlliamo l'installazione delle liste

router1 # mostra l'elenco di accesso

Ora applichiamo le liste alle interfacce per i pacchetti in entrata

router1 (conf) # interfaccia Seriale2 / 0

router1 (conf-if) # ip access-group 101 in

router1 (conf-if) # interfaccia fa0 / 0

router1 (conf-if) # ip access-group 102 pollici

Per verificare che gli EACL siano presenti sulle interfacce, utilizzare il comando

router1 # mostra la configurazione in esecuzione

router1 # mostra interfaccia IP

Verifichiamo il funzionamento dell'EACL. Uniamoci a router4 e proviamo a eseguire il ping dell'interfaccia Serial2 / 0 sul router1 senza successo.

router4 # ping 24.17.2.17

Il numero EACL 101 stava bloccando il ping. Ma deve consentire telnet

router4 # telnet 24.17.2.17

Con successo. Inseriamo la password router1. Prompt router4 # cambiato in router1>. Premendo contemporaneamente ctrl-shift-6 e poi 6, tornare al router4. Il registro ci parlerà dell'attivazione di EACL 101 sul router1

Vediamo il numero della sessione e interrompiamo la connessione telnet

router4 # mostra sesso

router4 # scollegare 1

Uniamoci a router2 e vediamo se possiamo eseguire il ping dell'interfaccia Serial0 su router4.

Router2 # ping 24.17.2.18

Perché senza successo? Il pacchetto inizia in Router2, passa attraverso Router1 (il log ci mostrerà l'attivazione di EACL 102 sul router1

) e arriva a Router4. Su Router4, viene rifattorizzato e rispedito al Router1. Quando Router4 rimodella il pacchetto, l'indirizzo di origine diventa l'indirizzo di destinazione e l'indirizzo di destinazione diventa l'indirizzo di origine. Quando un pacchetto arriva sull'interfaccia Serial0 sul router1, viene rifiutato, poiché il suo indirizzo di origine è uguale all'indirizzo IP dell'interfaccia Serial0 sul router4, 24.17.2.17, e qui è consentito solo tcp.

Uniamoci al router2 e vediamo se possiamo eseguire il ping dell'interfaccia Ethernet0 al router1.

router2 # ping 24.17.2.1

Con successo. Allo stesso modo per telnet

router2 # telnet 24.17.2.1

Gli EACL funzionano correttamente. Il registro ci parlerà dell'attivazione di EACL 102 sul router1.

Si noti che il registro mostra costantemente anche gli aggiornamenti RIP.

5. ACL denominati

Disassocia EACL alle interfacce sul router1

router1 (conf) # interfaccia Serial0

router1 (conf-if) # nessun accesso IP-gruppo 101 in

router1 (conf-if) # interfaccia Ethernet0

router1 (conf-if) # nessun gruppo di accesso IP 102 in

e annulla sul router1 EACL

router1 (conf) # nessuna lista di accesso 101

router1 (conf) # nessuna lista di accesso 102

Impostiamo l'attività per vietare solo i ping dal router4 al router2 sull'intera rete. L'elenco di accesso può essere posizionato sia sul router1 che sul router2. Sebbene si consiglia di posizionare l'ACL più vicino alla sorgente (per ridurre il traffico), in questo esempio posizioneremo un elenco denominato denominato require_ping sul router2.

router2 (configurazione) # ip access-list esteso nega_ping

router2 (config-ext-nacl) # nega icmp 24.17.2.18 0.0.0.0 24.17.2.2 0.0.0.0 log

router2 (config-ext-nacl) # consenti ip qualsiasi log

Il primo comando indica che stiamo creando un elenco di accesso esteso denominato chiamato require_ping. Il secondo comando indica il divieto di traffico ICMP con indirizzo di origine rigorosamente 24.17.2.18 e indirizzo di destinazione rigorosamente 24.17.2.2. Il terzo comando consente il resto del traffico IP.

Controlliamo la creazione della lista

router2 # mostra l'elenco di accesso

Esatto, nella prima riga vediamo solo una forma diversa del comando deny icmp 24.17.2.18 0.0.0.0 24.17.2.2 0.0.0.0 log.

Applichiamo l'elenco per il traffico in entrata dell'interfaccia Ethernet0 sul router2

Router2 (conf) # interfaccia Ethernet0

Router2 (conf-if) # ip access-group nega_ping in

Uniamo router4 e ping router2

router4 # ping 24.17.2.2

Fallimento. Uniamo router1 e ping router2

Router1 # ping 24.17.2.2

Successo. Uniamoci a router2 e diamo un'occhiata a due messaggi di log separati: il primo su nessun ping da router4 e il secondo su come consentire il ping da router1

6. Diamo un'occhiata ai problemi più avanzati degli elenchi di accesso estesi. Creiamo una topologia

.

Figura 9.4.

Utilizzare gli switch modello 1912. Il router1 è il modello 805. Il router2 è il modello 1605.

Assegna indirizzi IP ai router

Configura RIP su Router1 e Router2

Router (configurazione) # rip router

Router (config-router) # rete 1.0.0.0

È necessario eseguire il ping di tutte le interfacce del dispositivo da tutti i dispositivi.

6.1. Elenco di accesso da rete a rete.

Creiamo un elenco che consenta il traffico dalla rete locale dei computer PC4 e PC5 alla rete locale del computer PC1 e vieti il ​​traffico dalla rete locale dei computer PC2 e PC3 alla rete locale del computer PC1. Poiché il traffico proviene dal router2 al router1, l'elenco di accesso deve essere posizionato sull'interfaccia serial2 / 0 del router1 per il traffico in entrata.

Router1 (conf) # access-list 100 permesso ip 1.1.1.0 0.0.0.127 1.1.3.0 0.0.0.255 log

Router1 (conf) # access-list 100 permesso ip 1.1.2.0 0.0.0.255 qualsiasi log

Il primo comando risolve direttamente il problema e il secondo abilita la trasmissione dei protocolli RIP. Controlliamo la creazione

Router1 # mostra l'elenco di accesso

Applichiamo l'elenco di accesso all'interfaccia.

Router1 (conf) # interfaccia Seriale2 / 0

Router1 (conf-if) # ip access-group 100 in

Per testare l'elenco di accesso, provare a eseguire il ping di PC1 da PC2, PC3, PC4 e PC5.

PC # Ping 1.1.3.2

I ping non funzioneranno per PC2 e PC3. Per PC4 e PC5 i ping funzioneranno. L'elenco degli accessi funziona. Guarda i log sul router1

6.2. Elenco di accesso da host a host.

Creiamo una lista di accesso sul router2 che blocchi l'accesso a PC5 solo da PC2. Puoi controllare i tentativi di accesso utilizzando i log sul router2.

Router2 (conf) # access-list 101 ip negato 1.1.1.130 0.0.0.0 1.1.1.3 0.0.0.0 log

Router2 (conf) # access-list 101 consent ip any any

Controlliamo la creazione

Router2 # mostra l'elenco di accesso

Applichiamo l'elenco di accesso al router con interfaccia Ethernet veloce2

Router2 (conf) # interfaccia FastEthernet0 / 0

Router2 (conf-if) # ip access-group 101 in

Unisciti a PC2 e verifica che non puoi espellere PC5

PC2 # Ping 1.1.1.3

Verrà visualizzato un registro sul router2

Unisciti a PC3 e verifica di poter eseguire il kick di PC5.

PC3 # Ping 1.1.1.3

Verrà visualizzato un registro sul router2

6.3. Elenco di accesso da rete a host.

Innanzitutto, rimuoviamo le precedenti liste di accesso dalle interfacce Router1 e Router2.

Router1 (conf) # interfaccia Seriale2 / 0

Router1 (conf-if) # nessun gruppo di accesso IP 100 in

Router2 (conf) # interfaccia FastEthernet0 / 0

Router2 (conf-if) # nessun accesso IP-gruppo 101 in

Creiamo un elenco di accesso esteso che blocchi tutto il traffico verso PC1 dalla rete locale di PC2 e PC3. Poiché stiamo bloccando tutto il traffico, utilizzeremo il protocollo IP.

Router2 (conf) # access-list 102 ip negato 1.1.1.128 0.0.0.127 1.1.3.2 0.0.0.0 log

Router2 (conf) # access-list 102 allow ip any any

Controlliamo la creazione

Router2 # mostra l'elenco di accesso

Applichiamo l'elenco al traffico in uscita sull'interfaccia Serial2 / 0 Router2

Router2 (conf) # interfaccia Seriale2 / 0

Router2 (conf-if) # ip access-group 102 out

Per controllare l'elenco, provare a eseguire il ping di PC1 (1.1.3.2) da PC2 e PC3. I ping non funzioneranno. Il simulatore per qualche motivo non fornisce un registro sulla console del Router2. Ma puoi vedere l'effetto in questo modo

Vedete, dopo ogni ping non riuscito, il numero di pacchetti tracciati (corrispondenti) aumenta.

Domande di controllo

1. Che cos'è l'ACL?

2. Quale indirizzo è il criterio per consentire/rifiutare un pacco?

3. Dove vengono applicati gli ACL?

4. Come posso impostare un elemento ACL e cos'è una maschera inversa?

5. In che modo il router gestisce le voci ACL?

6. Quale elemento è sempre implicitamente presente in un ACL?

7. Come può essere applicato un ACL a un'interfaccia e poi annullato?

8. Qual è la differenza tra un ACL di input e un ACL di output?

10. Quali tre comandi possono essere utilizzati per verificare il contenuto dell'ACL e il collegamento all'interfaccia.

11. Cosa filtrano gli ACL estesi?

12. Quali funzionalità aggiuntive ha l'ACL esteso rispetto agli ACL standard?

13. È possibile utilizzare ACL estesi per imporre restrizioni di traffico su uno specifico servizio TCP/IP?

14. Descrivere la procedura per creare un ACL denominato.

15. Come posso modificare una riga specifica in un ACL numerico?

16. Come posso modificare una riga specifica in un ACL denominato?

17. Qual è la differenza tra i formati dei comandi per l'immissione di voci ACL numeriche e denominate?


Informazioni simili.


Oggi ti mostrerò come filtrare il traffico di rete utilizzando gli elenchi di controllo degli accessi. Consideriamo come funzionano, rispettivamente, cosa sono, a cosa sono destinati. Successivamente ti mostrerò come sono configurati in Cisco IOS e posterò un archivio di laboratori per consolidare le tue conoscenze.

introduzione

ACL (Access Control List) è un insieme di espressioni di testo che consentono o vietano qualcosa. Di solito un ACL consente o nega i pacchetti IP, ma tra le altre cose può guardare all'interno del pacchetto IP, visualizzare il tipo di pacchetto, le porte TCP e UDP. Esiste anche ACL per vari protocolli di rete (IP, IPX, AppleTalk e così via). Fondamentalmente, l'uso delle liste di accesso è considerato dal punto di vista del filtraggio dei pacchetti, ovvero il filtraggio dei pacchetti è necessario in quelle situazioni in cui si dispone di apparecchiature al confine tra Internet e la propria rete privata ed è necessario filtrare il traffico non necessario .
Si inserisce un ACL nella direzione in entrata e si blocca il traffico in eccesso.

Teoria

La funzionalità dell'ACL consiste nel classificare il traffico, è necessario prima controllarlo e quindi fare qualcosa con esso a seconda di dove viene applicato l'ACL. L'ACL si applica ovunque, ad esempio:
  • Sull'interfaccia: filtraggio dei pacchetti
  • Sulla linea Telnet: limitare l'accesso al router
  • VPN: quale traffico deve essere crittografato
  • QoS: quale traffico elaborare con priorità
  • NAT: quali indirizzi trasmettere
Per applicare gli ACL a tutti questi componenti, devi capire come funzionano. E ci occuperemo principalmente del filtraggio dei pacchetti. Per quanto riguarda il filtraggio dei pacchetti, gli ACL vengono posizionati sulle interfacce, vengono creati in modo indipendente e solo dopo vengono imbullonati all'interfaccia. Non appena lo avviti all'interfaccia, il router inizia a guardare il traffico. Il router tratta il traffico come in entrata e in uscita. Il traffico che entra nel router è chiamato in entrata, il traffico che ne esce è chiamato in uscita. Di conseguenza, gli ACL vengono posizionati nella direzione in entrata o in uscita.

Un pacchetto arriva dalla tua rete privata all'interfaccia del router fa0 / 1, il router verifica se c'è un ACL sull'interfaccia o meno, se ce n'è uno, quindi viene eseguita un'ulteriore elaborazione secondo le regole della lista di accesso rigorosamente nell'ordine in cui sono scritte le espressioni, se l'elenco di accesso consente il passaggio del pacchetto, in questo caso il router invia il pacchetto al provider tramite l'interfaccia fa0 / 0, se l'elenco di accesso non consente il passaggio del pacchetto, il pacchetto viene eliminato. Se non c'è un elenco di accesso, il pacchetto passa senza alcuna restrizione. Prima di inviare un pacchetto all'ISP, il router controlla anche l'interfaccia fa0 / 0 per un ACL in uscita. Il punto è che un ACL può essere collegato a un'interfaccia come in entrata o in uscita. Ad esempio, abbiamo un ACL con una regola per vietare a tutti gli host su Internet di inviare pacchetti alla nostra rete.
Quindi a quale interfaccia dovrebbe essere collegato questo ACL? Se alleghiamo un ACL all'interfaccia fa0 / 1 come in uscita, questo non sarà del tutto corretto, anche se funzionerà anche l'ACL. Il router riceve una richiesta di eco per qualche nodo nella rete privata, controlla se c'è un ACL sull'interfaccia fa0 / 0, non esiste, quindi controlla l'interfaccia fa0 / 1, c'è un ACL su questa interfaccia, è configurato come in uscita, tutto è corretto il pacchetto non penetra nella rete, ma viene distrutto dal router. Ma se alleghiamo un ACL dietro l'interfaccia fa0 / 0 come in entrata, il pacchetto verrà distrutto non appena arrivato al router. L'ultima decisione è corretta, poiché il router carica meno le sue risorse di calcolo. Gli ACL estesi dovrebbero essere posizionati il ​​più vicino possibile alla sorgente, mentre gli ACL standard dovrebbero essere posizionati il ​​più vicino possibile alla destinazione.... Ciò è necessario per non guidare invano i pacchetti attraverso l'intera rete.

L'ACL stesso è un insieme di espressioni di testo in cui è scritto permesso(consentire) sia negare(disabilita) e l'elaborazione viene eseguita rigorosamente nell'ordine in cui sono specificate le espressioni. Di conseguenza, quando un pacchetto colpisce un'interfaccia, viene verificata la prima condizione, se la prima condizione corrisponde al pacchetto, la sua ulteriore elaborazione si interrompe. Il pacco andrà avanti o verrà distrutto.
Ancora, se il pacchetto corrisponde alla condizione, non viene ulteriormente elaborato... Se la prima condizione non corrisponde, viene elaborata la seconda condizione, se soddisfatta, l'elaborazione si interrompe, in caso contrario viene elaborata la terza condizione e così via fino a quando tutte le condizioni non vengono verificate, se nessuna delle condizioni corrisponde, il pacco viene semplicemente distrutto... Ricorda, c'è una negazione implicita a ciascuna estremità dell'elenco. Stai molto attento con queste regole, che ho evidenziato, perché gli errori di configurazione sono comuni.

Gli ACL si dividono in due tipi:

  • Standard: può solo controllare gli indirizzi di origine
  • Esteso: può controllare gli indirizzi di origine, oltre che gli indirizzi dei destinatari, nel caso di IP, anche il tipo di protocollo e le porte TCP/UDP
Gli elenchi di accesso sono designati da numeri o da nomi simbolici. Gli ACL vengono utilizzati anche per vari protocolli di rete. Noi, a nostra volta, lavoreremo con IP. Sono designati come segue, elenchi di accesso numerati:
  • Standard: da 1 a 99
  • Avanzate: da 100 a 199
Anche gli ACL dei caratteri sono suddivisi in standard ed estesi. Quelli avanzati possono controllare molto di più di quelli standard, ma funzionano anche più lentamente, poiché devi guardare all'interno del pacchetto, a differenza di quelli standard in cui guardiamo solo al campo Indirizzo sorgente. Quando si crea un ACL, ogni voce dell'elenco di accesso è identificata da un numero di sequenza, per impostazione predefinita entro dieci (10, 20, 30, ecc.). Per questo motivo, puoi eliminare una voce specifica e inserirne un'altra al suo posto, ma questa funzione è apparsa in Cisco IOS 12.3, prima della 12.3 dovevi eliminare l'ACL e quindi ricrearlo completamente. Non puoi inserire più di 1 lista di accesso per interfaccia, per protocollo, per direzione... Mi spiego: se abbiamo un router e ha un'interfaccia, possiamo inserire solo una lista di accesso sulla direzione in entrata per il protocollo IP, ad esempio il numero 10. Un'altra regola che riguarda i router stessi, ACL non ha alcun effetto sul traffico generato dal router stesso.
Una maschera WildCard viene utilizzata per filtrare gli indirizzi nell'ACL. Questa è una maschera inversa. Prendiamo un'espressione modello: 255.255.255.255 e sottraiamo la solita maschera dal modello.
255.255.255.255-255.255.255.0, otteniamo una maschera di 0.0.0.255, che è una normale maschera 255.255.255.0, solo 0.0.0.255 è una maschera WildCard.
Tipi di ACL
Dinamico (LCA dinamico)
Ti permette di fare quanto segue, ad esempio, hai un router che è connesso a qualche server e abbiamo bisogno di chiudere l'accesso ad esso dal mondo esterno, ma allo stesso tempo ci sono diverse persone che possono connettersi al server.
Impostiamo un elenco di accesso dinamico, lo alleghiamo alla direzione in entrata e quindi le persone che devono connettersi, si connettono tramite Telnet a questo dispositivo, di conseguenza, l'ACL dinamico apre la porta al server e una persona può accedere in, diciamo tramite HTTP, per raggiungere il server. Per impostazione predefinita, dopo 10 minuti questo passaggio viene chiuso e l'utente è costretto a eseguire nuovamente Telnet per connettersi al dispositivo.
LCA riflessivo
Qui la situazione è leggermente diversa, quando un host sulla rete locale invia una richiesta TCP a Internet, dobbiamo avere un passaggio aperto affinché arrivi una risposta TCP per stabilire una connessione. Se non c'è alcun passaggio, non saremo in grado di stabilire una connessione e gli aggressori possono utilizzare questo passaggio, ad esempio, per penetrare nella rete. Gli ACL riflessivi funzionano in questo modo, l'accesso è completamente bloccato (nega qualsiasi), ma si forma un altro ACL speciale in grado di leggere i parametri delle sessioni utente generate dalla rete locale e aprire loro un passaggio in negare qualsiasi, di conseguenza , si scopre che non possono stabilire dal composto Internet. E le sessioni generate dalla rete locale riceveranno risposte.
ACL basato sul tempo
ACL normale, ma con un limite di tempo, è possibile inserire un programma speciale che attiva questa o quella voce della lista di accesso. E per fare un tale trucco, ad esempio, scriviamo un elenco di accesso in cui neghiamo l'accesso HTTP durante la giornata lavorativa e lo appendiamo all'interfaccia del router, ovvero i dipendenti dell'azienda sono venuti al lavoro, l'accesso HTTP è chiuso per loro, la giornata lavorativa è finita, l'accesso HTTP è aperto,
per favore, se vuoi, naviga in Internet.

personalizzazione

Gli stessi ACL vengono creati separatamente, ovvero è solo un elenco che viene creato nella configurazione globale, quindi viene assegnato all'interfaccia e solo allora inizia a funzionare. È necessario ricordare alcuni punti per configurare correttamente le liste di accesso:
  • Il trattamento viene eseguito rigorosamente nell'ordine in cui sono scritte le condizioni
  • Se il pacchetto soddisfa la condizione, non viene ulteriormente elaborato.
  • C'è una negazione implicita alla fine di ogni lista di accesso.
  • Gli ACL estesi dovrebbero essere posizionati il ​​più vicino possibile alla sorgente, mentre gli ACL standard dovrebbero essere posizionati il ​​più vicino possibile alla destinazione.
  • Non puoi inserire più di 1 lista di accesso per interfaccia, per protocollo, per direzione
  • ACL non ha alcun effetto sul traffico generato dal router stesso
  • La maschera con caratteri jolly viene utilizzata per filtrare gli indirizzi
Elenco di accesso standard
Router (configurazione) # lista di accesso <номер списка от 1 до 99> (permettere | negare | osservare) (indirizzo | qualsiasi | host)
  • permesso: permettere
  • negare: bandire
  • osservazione: commento sulla lista di accesso
  • indirizzo: disabilitare o abilitare la rete
  • qualunque: permettere o negare tutto
  • ospite: consentire o negare l'host
  • carattere jolly di origine: Maschera di rete con caratteri jolly
  • tronco d'albero: abilitare la registrazione dei pacchetti che passano attraverso questa voce ACL
Elenco di accesso esteso
Router (configurazione) # lista di accesso <номер списка от 100 до 199> (permettere | negare | osservare) sorgente del protocollo [ operatore operando] [ porta <порт или название протокола>
  • fonte del protocollo: quale protocollo consentiremo o chiuderemo (ICMP, TCP, UDP, IP, OSPF, ecc.)
  • negare: bandire
  • operatore:
    A.B.C.D - indirizzo del destinatario
    any - qualsiasi host di destinazione
    eq - solo i pacchetti su questa porta
    gt - solo pacchetti con un numero di porta più alto
    host - l'unico host di destinazione
    lt - solo pacchetti con un numero di porta inferiore
    neq - solo i pacchetti non sul numero di porta specificato
    intervallo - intervallo di porte
  • porta: numero di porta (TCP o UDP), è possibile specificare il nome
  • stabilito: consentire il passaggio di segmenti TCP che fanno parte di una sessione TCP già creata
Collegamento all'interfaccia
Router (config-if) # ip access-group <номер списка или имя ACL> (dentro | fuori)
  • in: direzione in entrata
  • fuori: direzione di uscita
Liste di accesso nominative
Router (configurazione) # lista di accesso ip (standard | esteso) (<номер ACL> | <имя ACL>}
Router (config-ext-nacl) # (predefinito | nega | esci | no | permetti | commento)
  • standard: ACL standard
  • esteso: ACL esteso
  • predefinito: imposta il comando come predefinito
Limitazione dell'accesso al router
R (configurazione) # linea vty 0 4 - passa alla modalità di impostazione delle linee virtuali.
R (riga di configurazione) # parola d'ordine <пароль>
R (riga di configurazione) # Accedere
R (riga di configurazione) # classe di accesso 21 in- impostiamo un nome utente e una password, oltre a fissare un elenco di accesso con indirizzi IP consentiti.
Elenchi di accesso dinamici

R3 (configurazione) # nome utente Alunno parola d'ordine 0 cisco: crea utenti per la connessione tramite Telnet.
R3 (configurazione) # lista di accesso 101 consentire tcp qualsiasi host 10.2.2.2 eq telnet
R3 (configurazione) # lista di accesso 101 timeout 15 elenco test dinamico permesso ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255 - consente a tutti i nodi di connettersi al server tramite Telnet.
R3 (config) #interfaccia seriale 0/1/
R3 (config-if) # ip access-group 101 in - assegniamo 101 ACL all'interfaccia nella direzione in entrata.
R3 (configurazione) # linea vty 0 4
R3 (riga di configurazione) # accesso locale
R3 (riga di configurazione) # timeout dell'host per l'abilitazione dell'accesso al comando automatico 5 - non appena l'utente si sarà autenticato la rete 192.168.30.0 sarà disponibile, dopo 5 minuti di inattività la sessione verrà chiusa.

Liste di accesso riflessive


R2 (configurazione) # ip access-list esteso FILTRI IN USCITA
R2 (config-ext-nacl) # permesso tcp 192.168.0.0 0.0.255.255 qualsiasi riflesso TCPTRAFFICO
R2 (config-ext-nacl) # permesso icmp 192.168.0.0 0.0.255.255 qualsiasi riflesso ICMPTRAFFIC: facciamo in modo che il router monitori il traffico che è stato avviato dall'interno.
R2 (configurazione) # ip access-list esteso FILTRI IN ENTRATA
R2 (config-ext-nacl) # valutare TCPTRAFFICO
R2 (config-ext-nacl) # valutare ICMPTRAFFIC - Crea un criterio in entrata che richieda al router di controllare il traffico in entrata per vedere se è stato avviato dall'interno e associa TCPTRAFFIC a INBOUNDFILTERS.
R2 (configurazione) # interfaccia seriale 0/1/0
R2 (config-if) # ip access-group FILTRI IN ENTRATA in
R2 (config-if) # ip access-group OUTBOUNDFILTERS out: applica gli ACL in entrata e in uscita all'interfaccia.
Limite di tempo

R1 (configurazione) # intervallo di tempo OGNI ALTRO GIORNO
R1 (config-intervallo di tempo) # periodico Lunedì mercoledì venerdì 8:00-17:00 - crea un elenco di orari, in cui aggiungiamo i giorni della settimana e l'ora.
R1 (configurazione) # lista di accesso 101 permesso tcp 192.168.10.0 0.0.0.255 qualsiasi intervallo di tempo eq telnet TUTTI I GIORNI: applica l'intervallo di tempo all'ACL.
R1 (config) #interfaccia s0 / 0/0
R1 (config-if) # ip access-group 101 out - assegna ACL all'interfaccia.

Cerca problemi
R # mostra liste di accesso(Numero ACL | nome) - vedere le informazioni sull'elenco di accesso.
R # mostra liste di accesso- esaminiamo tutte le liste di accesso sul router.
Esempio
Router # mostra liste di accesso
Elenco di accesso IP esteso nick
consenti host ip 172.168.1.1 host 10.0.0.5
nega ip qualsiasi (16 corrispondenze (es))
Elenco di accesso IP standard nick5
permesso 172.16.0.0 0.0.255.255

Vediamo che abbiamo due ACL (standard ed esteso) chiamati nick e nick5. Il primo elenco consente all'host 172.16.1.1 di accedere su IP (il che significa che tutti i protocolli su IP sono consentiti) all'host 10.0.0.5. Tutto il resto del traffico negato viene mostrato dal rifiuto ip di qualsiasi comando. Accanto a questa condizione, nel nostro esempio, scrive (16 match (es)). Questo mostra che 16 pacchetti hanno soddisfatto questa condizione.
Il secondo ACL consente il passaggio del traffico da qualsiasi sorgente sulla rete 172.16.0.0/16.

Pratica
Ho compilato i laboratori per Packet Tracer dal capitolo 5 del corso CCNA 4 su ACL. Se desideri consolidare le conoscenze nella pratica, per favore -

ACL- liste di controllo accessi.

Puoi assegnare una lista a:
- ogni protocollo
- ogni interfaccia
- traffico in entrata e in uscita

L'ACL non ha alcun effetto sul traffico generato dal router stesso.

Ci sono:
ACL standard: filtra i pacchetti solo in base all'indirizzo IP di origine
ACL esteso - filtra per:
- indirizzo IP di origine
- indirizzo IP di destinazione
- Porte sorgente TCP o UDP
- Porte di destinazione TCP o UDP
- tipo di protocollo (nome o numero)

Così come:
1. ACL numerati:
- da 1 a 99 e da 1300 a 2000 - standard IP ACL
- da 100 a 199 e da 2000 a 2699 - IP ACL esteso
2. Nominati: sono più comodi da usare, perché puoi specificare il loro scopo. Requisiti del nome:
- può contenere lettere e numeri
- si presume che i nomi siano scritti in maiuscolo
- i nomi non possono contenere spazi e segni di punteggiatura
È possibile aggiungere e rimuovere voci agli ACL denominati.

Come vengono applicati gli ACL
1. Creare un ACL specificando un numero o un nome e specificando le condizioni.
2. Assegnare un ACL a un'interfaccia oa una linea terminale.

Come funziona l'ACL standard
1. Un pacchetto arriva all'interfaccia
2. Viene verificato se è presente un ACL sull'ingresso dell'interfaccia.
3. Viene verificato se l'ACL è standard.
4. L'indirizzo di origine viene confrontato con il primo record.
5. Se non corrisponde, viene confrontato con il record successivo.
6. Se non corrisponde a nessun record, viene scartato.
7. Se corrisponde a qualsiasi record, saltare o scartare in base alla regola.
8. Se salta, cerca l'indirizzo di destinazione nella tabella di routing.
9. Se c'è, lo invia all'interfaccia richiesta.
10. In caso contrario, scarta.

Regole di posizionamento ACL:
- L'ACL standard dovrebbe essere posizionato più vicino alla rete di destinazione
- ACL esteso - più vicino alla rete di origine.

Creazione di un ACL standard numerato
Router (config) # access-list numero-lista-accesso fonte
Ad esempio:
R1 (configurazione) # access-list 10 commento Permesso per LAN 192.168.0.0 - descrivere l'ACL o ogni voce nell'ACL
R1 (configurazione) # access-list 10 permesso 192.168.0.0 - per rete di classe
R1 (configurazione) # access-list 10 permesso 192.168.5.0 0.0.0.128 - per una rete senza classi
Rimozione ACL
R1 (configurazione) # nessuna lista di accesso 10

la maschera con caratteri jolly si forma sottraendo la maschera della rete richiesta dalla maschera 255.255.255.0, ad esempio
255.255.255.255
-
255.255.15.0
=
0.0.240.255

Nell'ACL, invece dell'indirizzo di origine, è possibile specificare:
- invece di 0.0.0.0 255.255.255.255 - qualsiasi
- invece di un indirizzo host specifico come 192.168.5.12 0.0.0.0 - host 192.168.5.12

Applicazione di un ACL standard numerato a un'interfaccia
Router (config-if) #ip access-group (numero-lista-accesso | nome-lista-accesso) (dentro | fuori)
Ad esempio, LCA 10:
R1 (configurazione) # access-list 10 permesso 192.168.0.0
R1 (configurazione) # access-list 10 permesso 192.168.5.0 0.0.0.128
applichiamo all'ingresso dell'interfaccia Fastethernet 0/1
R1 (config) # interfaccia f0 / 1
R1 (config-if) #ip access-group 10 in

Configurazione dell'ACL per le linee del terminale virtuale (invece di parametro gruppo di accesso usato da classe di accesso):
R1 (riga di configurazione) # classe di accesso numero-lista-accesso (dentro | fuori)
ad esempio
R1 (configurazione) # lista di accesso 22 permesso 192.168.1.0
R1 (configurazione) # lista di accesso 22 permesso 192.168.2.0
R1 (config) # riga vty 0 4- deve essere assegnato a tutti i vty, poiché l'utente può connettersi a uno di essi
R1 (riga di configurazione) # login local
R1 (riga di configurazione) # telnet di input di trasporto
R1 (config-line) # ip access-class 22 in

Modifica degli ACL numerati
Quando si modificano gli ACL numerati, le voci vengono inserite nell'ordine in cui sono state immesse. Non è possibile inserire un nuovo record tra i due già inseriti. Se è ancora necessario farlo, allora:
- Copiamo tutte le regole dalla configurazione al blocco note.
- Inserire i record necessari.
- Rimuovere l'intero AC
- Copia tutte le voci dal taccuino
- Inseriamo nella configurazione.

ACL standard denominati
R1 (configurazione) # ip access-list standard NAME- dichiarare un ACL standard denominato
R1 (config-std-nacl) # commento Nega per host 192.168.0.13- descriviamo l'ACL
R1 (config-std-nacl) # negare192.168.0.13 - creare regole
R1 (config-std-nacl) # permesso192.168.0.0 0.0.0.255
R1 (config-std-nacl) # interfaccia Fa0 / 0
R1 (config-if) #ip access-group NAME out- associare l'ACL all'interfaccia
Non è necessario nominare l'ACL in lettere maiuscole. Questo è per comodità.

Visualizzazione e controllo degli ACL
Il comando utilizzato è:
Router # mostra gli elenchi di accesso (numero-lista-accesso | nome)
Ad esempio,
R1 # mostra gli elenchi di accesso- visualizza tutti gli ACL
R1 # mostra le liste di accesso 10- uscite ACL numero 10
R1 # mostra le liste di accesso NAM- emette un ACL chiamato NAM

Modifica degli ACL con nome
Gli ACL con nome hanno la precedenza su quelli numerati. Sono più facili da modificare. Tutte le voci delle regole negli ACL con nome sono numerate con un passo di 10. Cioè. la prima regola è il numero 10, la seconda è il 20 e così via.
Pertanto, per gli ACL denominati, è possibile eliminare voci specifiche, nonché aggiungere voci tra regole esistenti, assegnando loro un numero tra i numeri delle regole, tra cui viene aggiunta una nuova regola.
Ad esempio, abbiamo un ACL con le seguenti voci:
R1 # mostra gli elenchi di accesso

10 permesso 192.168.10.10

Dobbiamo aggiungere un'altra regola:
R1 (configurazione) # lista di accesso standard WEBSERVER
R1 (config-std-nacl) # 15 permesso192.168.10.13

Ecco cosa è successo:
R1 # mostra gli elenchi di accesso
Lista di accesso IP standard WEBSERVER
10 permesso 192.168.10.10
15 permesso 192.168.10.13
20 negare 192.168.10.0, bit jolly 0.0.0.255
30 nega 192.168.12.0, bit con caratteri jolly 0.0.0.255

ACL espansi
Gli elenchi di accesso estesi offrono la possibilità di filtrare il traffico in modo più accurato, motivo per cui vengono utilizzati più spesso. Oltre all'indirizzo di origine, controllano anche:
- protocollo (IP, ICMP, TCP, UDP, ecc.)
- indirizzo di destinazione
- numero di porta (non interfaccia)

Sintassi del comando ACL numerato esteso
Router (config) # access-list numero-lista-accesso protocollo fonte destinazione
dove:
numero-lista-accesso- Numero ACL (100-199 e 2000-2699)
negare- nega il traffico
permesso- consentire il traffico
osservazione- descrizione della regola o ACL
protocollo- il nome o il numero del protocollo. Questi sono principalmente IP, ICMP, TCP, UDP.
fonte- indirizzo di partenza
carattere jolly sorgente- maschera sorgente inversa
destinazione- indirizzo di destinazione
carattere jolly di destinazione- maschera di destinazione inversa
operatore- confronta i numeri di porta. Può essere: lt-minore di, gt-maggiore di, eq-uguale, neq-non uguale, gamma-include gamma.
porta- numero di porta
stabilito- solo per TCP: indica una connessione stabilita.

Esempio
R1 (config) # access-list 103 allow tcp 192.168.10.0 0.0.0.255 any eq 80- permettiamo l'accesso sulla porta 80 dalla rete 192.168.10.0
R1 (config) # access-list 103 allow tcp 192.168.10.0 0.0.0.255 any eq 443- permettiamo l'accesso sulla porta 443 dalla rete 192.168.10.0
R1 (config) # access-list 104 permesso tcp qualsiasi 192.168.10.0 0.0.0.255 stabilito- permettiamo le connessioni tcp stabilite alla rete 192.168.10.0.

Gli ACL estesi vengono assegnati alle interfacce allo stesso modo degli ACL standard. Ad esempio:
R1 (config) # interfaccia f0 / 1
R1 (config-if) #ip access-group 103 out
R1 (config-if) #ip access-group 104 pollici

Creazione di un ACL esteso con nome
R1 (configurazione) # ip access-list esteso SURFING- dichiarare un ACL esteso denominato per il traffico in uscita
R1 (config-ext-nacl) # pernit tcp 192.168.10.0 0.0.0.255 qualsiasi eq 80 - creare regole
R1 (config-ext-nacl) # pernit tcp 192.168.10.0 0.0.0.255 qualsiasi eq 443
R1 (configurazione) # elenco di accesso esteso NAVIGAZIONE- dichiarare un ACL esteso denominato per il traffico in entrata
R1 (config-ext-nacl) # pernit tcp qualsiasi 192.168.10.0 0.0.0.255 stabilito- creare regole

ACL complessi
Gli ACL standard ed estesi possono essere la base per ACL complessi per migliorare la funzionalità. Ci sono:
- Dinamico
- Riflessivo
- Tempo limitato

ACL dinamico - se un utente ha bisogno di accedere a qualsiasi dispositivo dietro il router, deve prima autenticarsi al router tramite Telnet. Successivamente, il router consente l'accesso per un certo tempo, dopodiché dovrà essere nuovamente autenticato.
R1 (config) #username Password studente 0 cisco- creare utenti per connettersi via Telnet senza privilegi.
R3 (config) # access-list 101 allow tcp qualsiasi host 10.2.2.2 eq telnet- permettiamo di connetterci al router da qualsiasi luogo
R3 (config) # access-list 101 dinamico testlist timeout 15 ip permesso 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255- aggiungere un record dinamico chiamato testlist, che funzionerà solo dopo aver stabilito una connessione via Telnet per 15 minuti, e poi verrà disconnesso. Questa regola consente l'accesso dalla rete 192.168.10.0 alla rete 192.168.30.0.
R3 (config) #interfaccia seriale 0/1/
R3 (config-if) #ip access-group 101 in
- colleghiamo ACL 101 all'interfaccia nella direzione in entrata.
R3 (config) #line vty 0 4
R3 (riga di configurazione) #login locale
R3 (riga di configurazione) #autocommand access-enable host timeout 5
- non appena l'utente si connette al router, verrà eseguito un autocomando che darà accesso alla rete 192.168.30.0. La sessione Telnet verrà quindi chiusa. L'accesso alla rete rimarrà e verrà chiuso dopo 5 minuti di attesa.

LCA riflessivo - consentire il traffico dall'esterno della rete solo se è stato avviato dall'interno. Inizialmente, tutto il traffico dall'esterno è chiuso. La lista degli accessi ricorda i parametri delle sessioni utente, che danno una richiesta all'esterno. La risposta a queste richieste viene verificata rispetto ai parametri della sessione utente. Gli ACL riflessivi hanno solo voci temporanee che vengono create automaticamente con ogni sessione. Gli ACL riflessivi non vengono applicati direttamente all'interfaccia, ma sono nidificati all'interno di un ACL esteso applicato all'interfaccia. Gli ACL riflessivi possono essere definiti solo in ACL con nome esteso e possono essere utilizzati con qualsiasi ACL.
R2 (config) #ip access-list esteso OUTBOUNDFILTERS- dichiariamo un ACL esteso denominato per il traffico in uscita.
R2 (config-ext-nacl) #permit tcp 192.168.0.0 0.0.255.255 any riflette TCPTRAFFIC- facciamo in modo che il router monitori il traffico tcp, che è stato avviato dall'interno, e lo memorizziamo nella variabile TCPTRAFFIC.
R2 (config-ext-nacl) #permit icmp 192.168.0.0 0.0.255.255 any riflette ICMPTRAFFIC- facciamo in modo che il router monitori il traffico icmp che è stato avviato dall'interno e lo memorizziamo nella variabile ICMPTRAFFIC.
R2 (config) #ip access-list esteso INBOUNDFILTERS- dichiariamo un ACL esteso denominato per il traffico in entrata.
R2 (config-ext-nacl) #evaluate TCPTRAFFIC- forziamo il router a confrontare i parametri del traffico tcp in entrata con la variabile TCPTRAFFIC creata dalla regola OUTBOUNDFILTERS.
R2 (config-ext-nacl) #evaluate ICMPTRAFFIC- forziamo il router a confrontare i parametri del traffico icmp in entrata con la variabile ICMPTRAFFIC creata dalla regola OUTBOUNDFILTERS.
R2 (config) #interfaccia seriale 0/1/0
R2 (config-if) #ip access-group INBOUNDFILTERS in- applichiamo l'ACL per il traffico in entrata all'interfaccia.
R2 (config-if) #ip access-group OUTBOUNDFILTERS out- applichiamo l'ACL per il traffico in uscita all'interfaccia.

ACL temporizzato - Determina l'ora in cui una determinata voce è attiva nell'ACL esteso.
R1 (config) # fascia oraria TUTTI I GIORNI- dichiariamo la variabile tempo EVERYOTHERDAY.
R1 (config-time-range) #periodic lunedì mercoledì venerdì dalle 8:00 alle 17:00- assegniamo una lista di orari per questa variabile, nella quale aggiungiamo i giorni della settimana e l'ora.
R1 (config) # access-list 101 allow tcp 192.168.10.0 0.0.0.255 any eq telnet time-range TUTTI I GIORNI- applichiamo la variabile alla regola.
R1 (config) #interfaccia s0 / 0/0
R1 (config-if) #ip access-group 101 out- colleghiamo l'ACL all'interfaccia.

Principali articoli correlati