Differences between revisions 1 and 6 (spanning 5 versions)
Revision 1 as of 2015-07-02 08:04:05
Size: 3595
Editor: lukisi
Comment:
Revision 6 as of 2016-07-28 08:56:34
Size: 91
Editor: lukisi
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Requisiti del Sistema Operativo =
<<TableOfContents(4)>>

== Requisiti ==

=== Return Path ===
Il processo ''ntkd'' gestisce un certo numero di interfacce di rete, come l'utente lo configura. Per tali interfacce il processo deve essere abilitato a vedere tutti i pacchetti che vi transitano, in particolare quelli IPv4 UDP con destinazione Broadcast (255.255.255.255) qualunque sia l'indirizzo di provenienza.

Molti sistemi abilitano un filtro di sicurezza chiamato Return-Path. La logica dietro questo filtro consiste nel ritenere che se un pacchetto in uscita con una certa destinazione deve passare per una certa interfaccia di rete, allora un pacchetto in ingresso con quella provenienza deve essere ricevuto dalla stessa interfaccia.

Ad esempio, sia il nodo ''a'' con le interfacce ''eth0'' e ''eth1''. Supponiamo che per le destinazioni in 192.168.1.0/24 il gateway da usare è 192.168.1.1 tramite ''eth0''. Invece le destinazioni 192.168.2.0/24 sono direttamente accedibili tramite l'interfaccia ''eth1''. Allora si presume che un pacchetto con provenienza 192.168.2.5 raggiunga il nostro nodo solo passando per la nostra interfaccia ''eth1''. Basandosi su questa idea, per motivi di sicurezza, i sistemi filtrano eventuali pacchetti con provenienza 192.168.2.5 che sarebbero rilevati attraverso la nostra interfaccia ''eth0''. Cioè, tali pacchetti, anche qualora transitassero nel segmento di rete su cui è collegata ''eth0'', non raggiungono i processi del nodo ''a'' che stanno in ascolto sulla interfaccia ''eth0''.

Questa idea non è valida in una rete Netsukuku, poiché ogni nodo può scegliere diversi percorsi per una destinazione, e possono esserci percorsi che al ritorno sono diversi da quelli scelti all'andata. Quindi un requisito da soddisfare è che tale filtro '''non''' sia attivato sulle interfacce di rete gestite da ''ntkd''.

=== Forwarding ===
Il sistema operativo deve essere configurato per abilitare l'inoltro (forwarding) di pacchetti, come minimo per tutti i pacchetti i cui indirizzi IPv4 di provenienza e destinazione rientrano nel range di indirizzi riservati alla rete Netsukuku di cui si è parte. Tale range di norma è la classe 10.0.0.0/8.

== Linux ==
Nei sistemi Linux, molte delle impostazioni che riguardano i servizi di base del sistema si regolano con il tool ''sysctl''. Le impostazioni che vengono modificate con questo tool permangono valide fino al riavvio del sistema. In fase di boot il sistema regola alcune impostazioni sulla base di alcuni file di configurazione che si trovano in /etc/sysctl.d/.

=== Return Path ===
I sistemi Linux hanno alcune impostazioni che dicono se il sistema deve attivare il filtro Return-Path. Data una interfaccia di rete ''eth'''X''''' il filtro risulta attivo se almeno una di queste due impostazioni:
 * ''net.ipv4.conf.all.rp_filter''
 * ''net.ipv4.conf.eth'''X'''.rp_filter''
risulta uguale a 1. Risulta inattivo se entrambe sono uguali a 0.

Vi è una terza impostazione, ''net.ipv4.conf.default.rp_filter'', la quale viene presa in esame quando il sistema crea una interfaccia di rete (di solito in fase di boot) per valorizzare inizialmente l'impostazione specifica di quella interfaccia.

=== Forwarding ===
I sistemi Linux hanno una impostazione che dice se il forward dei pacchetti va abilitato; il suo nome è ''net.ipv4.ip_forward''. Di default questo è messo a 0 (disabilitato) nei sistemi che si usano come normali computer, cioè che non sono dei router.

Per il corretto funzionamento di un nodo nella rete Netsukuku questa impostazione va messa a 1.
[[https://github.com/lukisi/documentation/blob/master/ita/Sistema/Requisiti.md|Redirect]]

Netsukuku/ita/docs/Sistema/Requisiti (last edited 2016-07-28 08:56:34 by lukisi)