martedì 30 agosto 2016

MetaROUTER su MikroTik Routerboard

Il Metarouter è un modo per avere router virtuali sulla routerboard. Su di esso si può lavorare con un'immagine openwrt, un linux su cui si possono installare degli applicativi come APACHE o asterisk.


Apparato utilizzato: MikroTik Routerboard RB2011UiAS-2HnD

Link per scaricare l'immagine openwrt:  http://openwrt.wk.cz/trunk/mr-mips/openwrt-mr-mips-rootfs-31411-basic.tar.gz




1. Per installare un MetaROUTER su una routerboard, dopo aver scaricato l'immagine, accedete con Winbox all'apparato e trascinate all'interno della finestra il file che alla fine del caricamento si troverà nel menù "Files"



2. Aprire un nuovo terminale dal menù "New Terminal" e digitare il seguente comando:
"/tool fetch url=http://openwrt.wk.cz/trunk/mr-mips/openwrt-mr-mips-rootfs-31411-basic.tar.gz"



3. Andare nel menù "MetaROUTER", nel tab "MetaROUTERs" selezionare "Import Image", inserire il nome dell'immagine e cliccare "Start".



4. Creare un'interfaccia ethernet virtuale, andando nel Tab "Virtual Ethernet".



5. Creare un'interfaccia bridge.



Aggiungere al bridge l'interfaccia ethernet con cui si è collegati al PC.


Aggiungere al bridge anche la Virtual Ethernet appena creata.


6. Creare una Virtual Machine sulla Virtual Ethernet. Andare nel Tab "Interfaces" del menù "MetaROUTER".



7. Fare doppio click sulla macchina appena creata e selezionare la voce "Console".



8. Modificare la configurazione di rete digitando "vi /etc/config/network" e premendo successivamente "i" per poter modificare. Configurare la rete in base alle proprie impostazioni.



Infine premere Esc per uscire dalla modalità di modifica e digitare ":wq" per salvare le modifiche e uscire dalla configurazione di rete.


mercoledì 10 agosto 2016

Domain Name System (DNS)

Domain Name System (DNS) è un sistema utilizzato per la conversione dei nomi degli host in indirizzi IP e viceversa. Questo servizio è realizzato attraverso dei server DNS. Ha una struttura ad albero rovesciato, ed è diviso in vari domini, come ad esempio "com", "org", "it".

Ad ogni dominio corrisponde un "nameserver", che conserva un database con le informazioni dei domini di cui è responsabile.


Ogni dominio termina con un punto ("."), la parte successiva a quel punto finale è chiamata "dominio radice" o "DNS root zone" e i server responsabili di questi domini si chiamano "root nameservers", che possiedono l'elenco di tutti i domini di primo livello.
Il dominio di root che troviamo a capo dell'albero contiene un elenco di tutti i server DNS dei domini di primo livello. Sparsi per Internet esistono una decina di DNS radice, ma sono usati solo per creare ridondanza e contengono tutti le stesse informazioni.



I principali domini di primo livello, detti anche "TLD" (Top Level Domain), sono: 
  • com: Organizzazioni commerciali 
  • edu: Istituzioni inerenti l'educazione 
  • gov: Istituzioni governative 
  • int: Organizzazioni internazionali 
  • mil: Istituzioni militari 
  • net: Organizzazioni inerenti le reti 
  • org:Organizzazioni non-profit 


Oltre a questi sette, detti anche domini generici (gTLD), esistono domini di primo livello di sole due lettere per i domini geografici, come ad esempio ".it" per l'Italia, ".fr" per la Francia, ".de" per la Germania, ".uk" per il Regno Unito e così via. Sono detti "ccTLD" (Country Code TLD).

Al di sotto dei domini di alcuni paesi esiste una gerarchia che rispecchia quella dei domini di primo livello. Ad esempio i nomi delle organizzazioni commerciali di Regno Unito (".uk") e Giappone (".jp") finiscono rispettivamente in ".co.uk" e ".co.jp", mentre l'equivalente dei ".edu" sono ".ac.uk" e ".ac.jp", dove "ac" è l'abbreviazione di "academic". 
Anche per gli Stati Uniti è stato previsto il codice ".us", che viene usato in combinazione del codice di ogni singolo stato, ad esempio ".ny.us" indica lo stato di New York.






Un FQDN, "Fully Qualified Domain Name", è un nome di dominio che include tutti i domini di livello superiore al suo. Un FQDN è anche detto nome di dominio completo. Per distinguerlo da un nome di dominio, bisogna aggiungere il nome dell'host. Per esempio, avendo un host denominato "nomehost" e un dominio "nomedominio.it" il FQDN è "nomehost.nomedominio.it".

Quando un utente digita un nome di dominio, i nomi dei singoli nodi vengono separati dal punto ".". Questi nomi vanno dal più specifico (più lontano dalla radice) verso il meno specifico (più vicino alla radice). Dato che un nome di dominio completo finisce con l'etichetta radice, e che questa è sempre rappresentata da una stringa nulla, un nome completo finisce sempre con un punto. Se non viene specificato il punto, quello che abbiamo è un nome incompleto. Di solito i nomi incompleti vengono completati automaticamente dal software, provando con il dominio locale e con alcuni domini predefiniti, tra cui il "." della radice.







Il meccanismo DNS funziona così:


Un utente vuole collegarsi al sito "www.wikipedia.org".

Viene effettuata una richiesta al prorpio server DNS, che può essere il DNS del provider o un server DNS interno, nel caso che il computer sia installato in una rete collegata direttamente ad Internet.

Dato che il server contattato si limita a coprire solo la sua zona, la richiesta viene inoltrata a un server DNS radice.

Il DNS radice non conosce l'IP per "www.wikipedia.org" ma conosce i Resource Record di tipo "NS" dei server DNS ".org" e li restituirà al primo DNS.

A questo punto il nostro DNS inoltra la stessa richiesta all'indirizzo di un DNS ".org"

Il DNS ".org" non conosce l'indirizzo per "www.wikipedia.org" ma conosce i RR NS relativi ai DNS che gestiscono il dominio "wikipedia.org" e li restituirà al primo DNS.

Il nostro DNS ora contatta uno di questi DNS, il quale finalmente conosce l'IP per "www.wikipedia.org" e lo restituisce sotto forma di RR di tipo A (un indirizzo IP a 32 bit)

Il DNS restituisce al PC dell'utente l'indirizzo IP per "www.wikipedia.org".




Questa procedura è detta "risoluzione del nome"



I server DNS sono in grado di effettuare caching, cioè possono ricordare le interrogazioni effettuate più di recente e le relative risposte. In questo modo la risoluzione di un nome molto richiesto può essere soddisfatta immediatamente, senza dover inoltrare la query ad un DNS radice.





Si possono impostare i server DNS su apparati MikroTik attraverso Winbox, andando nel menù "IP", selezionando la voce "DNS".




Network Address Translation (NAT)

"Network Address Translation" (NAT), conosciuto anche come "Network Masquerading", è una tecnica che modifica gli indirizzi IP dei pacchetti che transitano su un router all'interno di una comunicazione tra due ho più host.





Esistono due tipi differenti di  NAT: il "Source NAT" e il "Destination NAT".



Con il source NAT vengono alterate le connessioni effettuate da un computer per presentare un indirizzo IP verso l'esterno diverso da quello originale, in modo tale che chi riceve le connessioni vede che provengono da un indirizzo diverso da chi realmente le genera.

Un caso particolare di source NAT è il "IP masquerading". Questa tecnica è spesso usata per collegare reti private ad Internet, permettendo di risparmiare indirizzi IP pubblici e "mascherare" all'esterno la propria rete privata.






Con il destination NAT invece vengono alterate le connessioni effettuate da un computer per venire redirette verso indirizzi IP diversi da quelli originali, in modo tale che chi effettua le connessioni si collega a un indirizzo diverso da quello che in realtà ha selezionato.



Tramite il destination NAT si può realizzare un sistema in cui una connessione destinata ad un indirizzo IP viene reindirizzata a un altro indirizzo scelto tra quelli di un insieme di server che si hanno a disposizione. Questo permette di distribuire il carico di lavoro tra diversi server, migliorando così le prestazioni del servizio di rete offerto dal sistema.

Può inoltre essere usato per realizzare un sistema ad alta disponibilità. Un sistema di questo tipo deve essere sempre in grado di offrire il servizio di cui è responsabile. Tutti i server sono soggetti a possibili fallimenti. Se si fa uso di un router con destination NAT, il router può rilevare il fallimento del server principale e reindirizzare le connessioni a un server secondario, mantenendo così il servizio attivo.

Infine il destination NAT può reindirizzare le connessioni (ad esempio HTTP) a un server, chiamato proxy, che ha a disposizione una memoria temporanea in cui memorizza il contenuto di siti web visitati in precedenza. Se la connessione richiesta da un client è verso un indirizzo di cui il proxy ha già a disposizione il contenuto, esso invierà al client i dati richiesti senza la necessità di effettuare una vera connessione a Internet.





Quando si configura un apparato MikroTik, su Winbox è possibile impostare il NAT dal menù "IP", selezionando la voce "Firewall", nel Tab NAT.



Impostare "Chain" su "srcnat" e successivamente inserire l'indirizzo IP della sorgente.



Andare nel Tab Action e impostare "Action" su "masquerade".






Dynamic Host Configuration Protocol (DHCP)

"Dynamic Host Configuration Protocol" (DHCP) è un protocollo di rete che permette ai dispositivi di una rete locale di ricevere la configurazione IP necessaria per stabilire una connessione con altre reti, senza dover configurare tutti gli host manualmente.

E' un servizio dinamico, cioè avviene solo quando richiesto dal dispositivo.



Il protocollo DHCP viene anche usato per assegnare al computer necessari per il suo corretto funzionamento sulla rete a cui è collegato.
I più comuni sono:

  • Subnet Mask
  • Gateway di default
  • Server DNS
  • Nome dell'Host
  • Nome del dominio


Il vantaggio di utilizzare DHCP è che i cambiamenti apportati alla rete, per esempio una modifica dell'indirizzo del server DNS, devono essere apportati solamente al server DHCP, mentre tutti gli host della rete vengono riconfigurati quando i client DHCP interrogano il server DHCP. Come ulteriore vantaggio, risulta anche molto semplice integrare nuovi computer nella rete, senza la necessità di controllare la disponibilità di un indirizzo IP. I conflitti nell'allocazione degli indirizzi IP sono quindi notevolmente ridotti.



Su dispositivi MikroTik, in Winbox è possibile impostare un DHCP server dal menù "IP", selezionando la voce "DHCP server".


Cliccare su "DHCP setup". Si aprirà un'altra finestra dove si potrà configurare il Server DHCP passo passo.




1. Selezionare l'interfaccia sulla quale impostare il DHCP server.


2. Selezionare l'indirizzo per il DHCP.


3. Selezionare il gateway. 


4. Selezionare uno spazio di indirizzi che il DHCP server può assegnare ai DHCP client.


5. Selezionare i server DNS.


6. Selezionare la durata del server DHCP.


Dopo questo passaggio il setup sarà completo, e il DHCP server sarà visibile nel menù DHCP server.


giovedì 4 agosto 2016

Aggiornamento del firmware MikrotikOS e System reset

Per aggiornare il firmware di un apparato MikroTik si può procedere in due modi: via upload o via packages;

via upload:
1. Per aggiornare il firmware MikroTik via upload bisogna per prima cosa scaricare i files dell’upgrade che si desidera fare dal sito www.mikrotik.com nella sezione download.
Aprendo la pagina, si noterà una tabella divisa in cinque colonne. La prima colonna è riservata all'elenco delle varie architetture hardware dei dispositivi con anche l'elenco dei vari dispositivi che lavorano su quel tipo di hardware, mentre le altre quattro indicano le versioni possibili di firmware da scaricare. E' consigliabile scaricare la versione "current" poichè è la versione più recente.


2. Collegare l'apparato con Winbox


3. Trascinare i file appena scaricati in Winbox, essi si caricheranno automaticamente. Finito il processo di upload, nel menù "System", selezionare la voce "Reboot". L'apparato si riavvierà automaticamente con la versione del firmware aggiornata.



via packages:
1. Per aggiornare il firmware del MikroTik via "packages" invece, bisogna inizialmente aprire Winbox e connettere via MAC address l'apparato.



2. Andare nel menù "System" e selezionare la voce "Packages".



Selezionare "Check For Updates", si aprirà la finestra seguente:



Selezionare "Download & Upgrade" e, finito il download della versione più recente del firmware, l'apparato si riavvierà in automatico.





System reset:

Per resettare l'apparato invece basta andare nel menù "System" e selezionare la voce "Reset Configuration". 



Spuntare poi la voce "No Default Configuration" per fare in modo che, una volta riavviato l'apparato, non vengano usate le impostazioni di default. 


Address Resolution Protocol (ARP)

“Address Resolution Protocol”, o ARP, è un protocollo di rete in IPv4 che fornisce la corrispondenza tra l’indirizzo IP e l’indirizzo MAC di un dispositivo in una LAN ethernet.

In IPv6, il protocollo analogo è “Neighbor Discovery Protocol” o NDP.

Nella pila ISO/OSI il livello 3 per funzionare ha bisogno del livello 2. Se andiamo a generare un pacchetto di livello 3 con un IP sorgente ed un IP destinazione, questo pacchetto viene passato al livello 2 e genera un frame ethernet che avrà un MAC sorgente ed un MAC destinazione.

Se proviamo ad eseguire il comando ping* l’indirizzo IP di destinazione è noto, quindi il livello 3 funziona correttamente per cui chiedo a livello 2 di generare un frame. Successivamente il livello 2 prende il pacchetto e ne costruisce l’intestazione e la coda; nell’intestazione deve inserire il MAC sorgente ed il MAC destinazione. Ma il MAC di destinazione non lo conosciamo. A questo punto interviene il protocollo ARP che ci permette di conoscere il MAC di destinazione noto l’IP di destinazione.

*ping è una funzione che serve per misurare il tempo in millisecondi (ms) che impiega un pacchetto dati per raggiungere un apparato di rete e tornare indietro. Su Windows si può usare la funzione "ping" aprendo il prompt dei comandi ("cmd" nella barra di ricerca Windows) e lanciando il comando "ping" seguito dall'IP del dispositivo che si vuole raggiungere.





Per inviare un pacchetto dati a dispositivi della stessa subnet, quel pacchetto dovrà avere come indirizzo di destinazione il MAC address del dispositivo a cui lo si vuole inviare.
Se invece si vuole inviare il pacchetto dati a un dispositivo di un’altra subnet, ARP è utilizzato per trovare il MAC address del gateway o del router.


In ogni dispositivo il protocollo ARP conserva una traccia delle risposte ottenute in una memoria cache, che vengono eliminate solitamente dopo 5 minuti. Questa memoria serve per evitare di utilizzare ARP ogni volta che si invia un pacchetto dati al destinatario.


Il protocollo ARP funziona così:

L’host che vuole conoscere il MAC address di un altro host, di cui conosce solo l’IP, invia in broadcast una richiesta, chiamata “ARP Request”, che contiene il proprio MAC address e l’IP del destinatario di cui si vuole conoscere il MAC address. Tutti i dispositivi appartenenti a quella subnet confrontano l’IP inviato con il proprio per verificare se viene richiesto il proprio MAC address. Il dispositivo che riconosce il proprio indirizzo IP pel pacchetto “ARP Request” invierà una risposta, chiamata “ARP Reply” contenente il proprio MAC address al mittente.








Sugli apparati MikroTik è possibile trovare l'"ARP List" nel menù IP, selezionando la voce "ARP" in Winbox.




Forwarding Information Base (FIB)

“Forwarding Information Base”, o FIB, è una funzione usata in bridging per trovare l’interfaccia corretta alla quale l’interfaccia input deve inoltrare un pacchetto dati.

È il meccanismo essenziale, presente negli switch, che li differenzia dagli hub.


Senza FIB, i pacchetti ricevuti dall’apparato sono inviati a tutte le altre porte, lavoro che fa l’hub.


Lo switch invece “impara” i MAC address dall’indirizzo della sorgente del pacchetto dati, compilando poi la tabella FIB.
Questo permette agli switch di facilitare le comunicazioni ad alta velocità tra i dispositivi connessi, indipendentemente da quanti siano.






Sugli apparati MikroTik, è possibile trovare questa tabella nel menù "Bridge", selezionando il Tab "Hosts" in Winbox.