Commit e28d2344 authored by Simone Piccardi's avatar Simone Piccardi
Browse files

Merge gitlab.com:fusslab/fuss-tech-guide

Recupero aggiornamento documentazione fatto sul vecchio repository
parents 1daa3a5f 2d623439
......@@ -183,7 +183,7 @@ illustrato nella tabella seguente.
- Contenuto
- Default
* - ``dans_maxchild``
- Numero massimo di processi figli di Dansguardian.
- Numero massimo di processi figli di e2guardian.
- Intero
- 600
* - ``proxy_win_exclude``
......@@ -191,7 +191,7 @@ illustrato nella tabella seguente.
- Stringa
- yes
* - ``dans_exclude_localnet``
- Esclude la rete locale dal filtraggio di dansguardian.
- Esclude la rete locale dal filtraggio di e2guardian.
- Stringa
- yes
* - ``dhcp_default_lease_time``
......@@ -219,14 +219,14 @@ pacchetto e le modifiche fatte verranno mantenute.
.. _file-configurazione-dansguardian:
Dansguardian
E2guardian
------------
Nel file ``/etc/fuss-server/content-filter-allowed-sites`` viene mantenuta una
lista dei siti cui viene comunque garantito accesso da Dansguardian. Questa
lista può essere gestita anche dall'interfaccia web di *OctoNet* dal menu
*Filtro web*, che consente anche di configurare altri file di configurazione
sotto ``/etc/dansguardian/lists/``.
lista dei siti cui viene comunque garantito accesso da e2guardian (successore
di Dansguardian). Questa lista può essere gestita anche dall'interfaccia web
di *OctoNet* dal menu *Filtro web*, che consente anche di configurare altri
file di configurazione sotto ``/etc/dansguardian/lists/``.
Server DHCP
-----------
......@@ -978,6 +978,133 @@ riga, e quindi usare il comando::
for utente in $(cat docenti.txt); do smbldap-usermod -H U $utente; done
Troubleshooting DNS
-------------------
Mancata risoluzione di macchine reinstallate con lo stesso nome
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Il fuss-server utilizza il DNS dinamico per creare automaticante delle voci
con i nomi delle macchine all'interno della zona locale della scuola, con la
direttiva ``ddns-update-style standard`` in ``/etc/dhcp/dhcpd.conf``. Il
meccanismo prevede che ogni volta che un client ottiene un indirizzo dinamico
dal DHCP venga inserita una voce con il suo nome (che viene invitato dal
client stesso, e corrisponde al suo hostname) all'interno della zona locale e
della zona inversa del DNS in modo da potercisi riferire direttamente per
nome.
I dati vengono inseriti nel file ``/var/cache/bind/db.local`` che contiene i
dati della zona DNS usata per la rete interna della scuola (quelli della
risoluzione interna in ``/var/cache/bind/db.192.168.XX.YY`` che dipende dal
range di indirizzi assegnati), dove compariranno delle voci nella forma::
test-client A 192.168.13.57
DHCID ( AAIBP7QJ7mJsQfNKCJli4K991QOr0lDOCeqRUWvz1A1U
SUE= ) ; 2 1 32
La voce è composta dall'IP assegnato e da un campo ``DHCID`` che è un hash
identificativo del client (in genere hostname e MAC address, ma dipende dal
client stesso) che serve ad evitare che un altra macchina possa tentare di
intrufolarsi nel DNS assumendo lo stesso nome e che due macchine cui si è
assegnato (erroneamente) lo stesso nome si sovrascrivano reciprocamente la
voce sul DNS.
Questi record vengono in genere cancellati automaticamente al rilascio dell'IP
da parte del client, ma può capitare, quando questo non avviene correttamente
(ad esempio perché viene spento senza shutdown), che restino nel file. Di
norma non costituiscono un problema fintanto che non si reinstalla un client
con lo stesso nome, che avrà un DHCID diverso per cui non sarà in grado di
riutilizzare il nome, né di rimuovere la voce.
Una soluzione di emergenza può essere quella di aggiungere a
``/etc/dhcp/dhcpd.conf`` la direttiva ``update-conflict-detection no``
immediatamente sotto la precedente ``ddns-update-style standard``, questo
consente la riscrittura, ma comporta che i controlli di conflitti non ci sono
più, e si potranno ottenere situazioni in cui i problemi, manifestandosi in
forma casuale, sono molto più difficili da diagnosticare e
riconoscere. Pertanto è una soluzione di emergenza da non usare mai per più
dello stretto tempo necessario a risolvere un problema immediato, la soluzione
corretta è quella di rimuovere i record che danno il problema, con la
procedura illustrata di seguito.
Per la rimozione occorre modificare manualmente i file di zona citati in
precedenza (``/var/cache/bind/db.local`` e
``/var/cache/bind/db.192.168.XX.00``), ma dato che l'assegnazione è dinamica,
il contenuto di questi file non è detto sia aggiornato alla situazione
corrente (i dati temporanei sono mantenuti in forma binaria in corrispondenti
file ``.jnl``), ed inoltre i dati potrebbero ulteriormente aggiornati durante
la modifica, per cui prima di iniziare occorre "congelare" la situazione con
il comando::
rndc freeze
che salva tutti i dati temporanei e blocca gli aggiornamenti del DNS da parte
del DHCP.
Si potranno a quel punto cercare dentro ``/var/cache/bind/db.local`` le voci
dinamiche da rimuovere analoghe a quella illustrata. Si tenga presente che in
alcuni casi queste sono introdotte da una riga del tipo::
$TTL 3600 ; 1 hour
che indica il tempo di vita delle voci elencate di seguito (il valore indicato
può esser diverso a seconda delle impostazioni date al server DHCP). Questo
valore viene impostato, tutte le volte che varia, all'inizio di un blocco di
voci e si applica fino alla successiva reimpostazione, per questo può aiutare
a identificare le voci dinamiche rispetto a quelle statiche impostate in fase
di creazione del file con l'installazione del fuss server, che hanno un valore
di ``604800``.
Quando si rimuove una voce si abbia cura di toglierlo solo quando risulta
inutilmente replicato. Se si decide di fare una pulizia completa di tutte le
voci dinamiche va tolto evitando che vada ad applicarsi alle restanti voci
statiche. In generale cancellare tutte le voci relative ad assegnazioni
dinamiche non è un problema (verranno ricreate al rinnovo o alla richiesta
successiva) ma la risoluzione dei nomi cancellati ovviamente diventerà
indisponibile fino ad allora. Per questo si consiglia di cancellare solo le
voci che contengono i nomi che danno problemi.
Si faccia inoltre attenzione a non cancellare o modificare invece le voci
"fisse" del file, come i nomi ``ns``, ``proxy``, ``octofuss`` ecc. ed in
generale tutti quelli che si sono inseriti manualmente nel file per le
assegnazioni statiche.
Una volta rimosse le voci da ``/var/cache/bind/db.local`` si cancellino le
voci corripondenti con la risoluzione inversa in
``/var/cache/bind/db.192.168.XX.00``, che nel caso dell'esempio precedente
saranno qualcosa del tipo::
57 PTR test-client.fusslab.blz.
Una volta completate le modifiche occorre aggiornare il seriale dei file di
zona (entrambi), per questo occorre cercare la riga identificata dal commento
``; serial`` nel record ``SOA`` che è all'inzio del file, ed aumentare di uno
il valore in essa indicata; se ad esempio 811 era il valore in
``/var/cache/bind/db.local`` precedente alle modifiche, si dovrà indicare al
suo posto 812, con qualcosa del tipo::
$ORIGIN .
$TTL 604800 ; 1 week
fusslab.blz IN SOA ns.fusslab.blz. root.marcela.fusslab.blz. (
812 ; serial
604800 ; refresh (1 week)
86400 ; retry (1 day)
2419200 ; expire (4 weeks)
604800 ; minimum (1 week)
)
Fatto questo si potrà "scongelare" la zona con il comando::
rndc thaw
e l'aggiornamento dinamico riprenderà a funzionare.
.. LocalWords: octofuss Fuss ansible variable separation yaml fuss upgrade
.. LocalWords: configure defaults Dansguardian OctoNet DHCP client dhcp DNS
.. LocalWords: conf reservation host nomeclient ethernet fixed address eth
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment