[WORKLOG] - Installazione e configurazione di un serverino domestico / small office

Pagina 1 di 5 1 2 3 4 5 ultimo
Visualizzazione dei risultati da 1 a 10 su 44
  1. #1
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito [WORKLOG] - Installazione e configurazione di un serverino domestico / small office

    Ho deciso di realizzare una macchina basata su linux per realizzare un router/firewall per la mia rete locale. La macchina dovrà operare inizialmente solo come router, firewall, server DHCP e DNS per la mia rete locale ma prevedo in un prossimo futuro di aggiungere un client bittorrent, emule, ed un server di posta in grado di gestire domini virtuali.

    Quella che segue non vuole essere una "guida" perchè non sono affatto un guru di Linux e quasi tutto quello che segue è stato ottenuto leggendo e rielaborando delle guide esistenti, con solo un minimo di adattamento e trouble-shooting da parte mia: ho cercato di realizzare un "worklog" che fosse però il più possibile preciso e dettagliato, in modo che la configurazione che ho realizzato sia pienamente replicabile da chiunque fosse eventualmente interessato ad implementare una configurazione simile.
    Ho cercato, per quanto possibile, di motivare le scelte che ho fatto in fase di installazione e configurazione, commentando le configurazioni che ho dovuto fare. Tali configurazioni non sono necessariamente la scelta migliore in assoluto o l'unica che si può fare ma rappresentano, a seguito di un breve periodo di testing e trouble-shooting, la scelta migliore per le mie esigenze personali.
    Ovviamente critiche costruttive e suggerimenti motivati non solo sono bene accetti ma sono incoraggiati.

    Ne approfitto per ringraziare pubblicamente gli autori delle varie guide che ho seguito che, anche se non esplicitamente elencate, sono comunque linkate direttamente nelle sezioni interessate da ciascuna guida.

    1_ Configurazione hardware.

    2_ Installazione e configurazione del sistema di base:
    3_ Configurazione della rete e dei servizi di rete:
    4_ Installazione, configurazione e verifica del server DHCP

    5_ Installazione e configurazione del server DNS e di rndc:

    6_ Integrazione dei servizi DHCP e DNS: DDNS

    7_ Riassunto e conclusioni.



    Ho rinominato il thread e riprendo la discussione, con l'intenzione di aggiungere qualche "modulo" che può essere utile.

    8_ Share di rete Windows. Configurazione iniziale di samba.

    9_ Client bittorrent.

    10_ Server FTP con vsftpd.

    11_ Inserimento di un AP nella rete, gestione di reti multiple e separazione tra reti "trusted" e "untrusted".

    12_ Rotazione dei log di sistema..

    13_ Conversione p2v. Dismissione del server per migrazione su CentOS.
    Ultima modifica di frakka : 08-08-2013 a 00:39

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  2. #2
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito 1_ Configurazione hardware.

    Hardware:
    Case: JETWAY JC-110-B (Mini ITX)
    M/b: SUPER MICRO X7SPA-H
    Ram: 2x2Gb SoDIMM DDR2
    sda: OCZ "Onyx" Solid State Drive SSD 32GB 2.5" SATA2
    sdb: WD GP 750Gb



    La scelta dei componenti è stata fatta sulla base delle seguenti considerazioni (in ordine sparso...):
    - Contenere il più possibile la spesa finale;
    - Necessità di montare all'interno del case almeno 2 hdd, per configurare un RAID1;
    - Utilizzo finale della macchina come anche come firewall oltre che DNS/DHCP server per la rete locale, quindi raccomandabile utilizzare almeno due schede di rete;
    - Il sistema deve rimanere in funzione 24 ore al giorno quindi necessità di consumi ridotti ed elevata stabilità ma non di una potenza esagerata.

    Il case della JetWay è l'unico case mini ITX che ho trovato, al sotto la soglia dei 100€, che potesse essere comodamente montato a parete e che potesse alloggiare almeno due hdd, di cui uno da 3,5". Per la verità ne potrebbe montare fino a 3 (2x2,5" + 1x3,5") rinunciando all'unità ottica (che comunque non mi serve). Quindi, anche se è un case "vecchio" (è fornito con una riser PCI a corredo ed un adattatore per le unità ottiche slim PATA) è stato la mia scelta.


    La m/b SuperMicro X7SPA-H è un prodotto equipaggiato con processore ATOM D510 (dual-core HT) e che è classificata come "Value Server Platform", un prodotto quindi pensato proprio per l'utilizzo server entry-level come dimostra la presenza del controller ICH9 in versione RAID, 6 porte SATA2 con supporto al RAID0,1,5 e 10 (anche se ho scelto di non utilizzare questa funzione), la presenza di 2 Intel 82574L Gigabit LAN, la presenza di un connettore USB tipo A sul pcb della mainboard in aggiunta alle normali porte USB e la completa assenza di una scheda audio integrata.

    La mobo supporta ovviamente solo fino a 4Gb di RAM DDR2 ma per il mio utilizzo sono più che sufficienti. Purtroppo la VGA integrata è la Intel GMA3150 che gode di supporto ufficiale su Linux solo da una versione del server video piuttosto recente che richiede una versione di kernel molto recente (2.6.37 mi pare ma sembra funzionare bene anche con versioni dalla 2.6.32 e successive). Se questo non è un problema con una qualunque distribuzione desktop, può diventarlo per l'utilizzo con distribuzione più "server oriented".

    La scelta di accoppiare in RAID1 un disco SSD ed un disco meccanico è probabilmente discutibile ma avevo già il disco WD in casa inutilizzato, mi serviva spazio di archiviazione in quanto il server sarà in futuro utilizzato anche come server di posta e per bittorrent, amule e come appoggio per file di grandi dimensioni di poca importanza, la cui perdita non sarebbe un dramma. Un RAID1 di SSD non mi avrebbe fornito lo spazio necessario ad un costo accessibile, un RAID1 di dischi meccanici da 3,5" sarebbe stato problematico da inserire in un case mini-ITX e un RAID1 di dischi meccanici da 2,5" mi avrebbe obbligato a comprarli entrambi. La configurazione è tecnicamente fattibile quindi ho deciso di provare... Ho scelto la SSD cercando un prodotto decente, che costasse poco e di taglio sufficiente a contenere il sistema operativo, gli archivi del server di posta e nient'altro.

    Ho utilizzato il raid software di linux per creare due device RAID1, il primo da 512mb montato in /boot e l'altro della capacità rimanente sul disco SSD per /. La partizione di swap è stata creata solo sul disco meccanico, così come una partizione dati che sarà utilizzata come deposito per il fileserver.

    I primi test di installazione:

    Ho cercato di recuperare il masterizzatore DVD del defunto nb di mia sorella, sfruttando l'adattatore PATA fornito in bundle con il case. Ovviamente la mobo non ha un connettore PATA quindi ho provato ad utilizzare un adattatore SATA -> PATA inutilizzato e fornito in bundle con una vecchia mainboard ABIT nForce2. Sapevo che questo adattatore doveva funzionare solo per le unità disco ma il lettore veniva correttamente riconosciuto dal bios. Peccato che dopo l'avvio della procedura di installazione l'installer non fosse più in grado di individuare l'unità cdrom...
    Peccato, ma forse è meglio: Per l'utilizzo che ne devo fare il cdrom mi servirà solo durante l'installazione. Lascio il sistema senza unità ottica e decomprimo la iso di debian su una pendrive USB, secondo quanto indicato nella guida ufficiale di debian. Personalmente, avendo già scaricato la iso, ho usato il metodo "4.3.1. Preparazione di una chiavetta USB con un'immagini ibride di CD o DVD".

    Il mio giocattolino assemblato:

    La seconda unità da 2,5" potrebbe essere installata nel tray per l'unità ottica, sfruttando i fori che si vedono sulla lamiera. Rimane anche disponibile un connettore di alimentazione SATA, per ogni evenienza.


    Dopo qualche tempo, è emerso un problema piuttosto antipatico: Se il sistema fà uno spegnimento scorretto (ad esempio, a seguito di una interruzione di corrente) al riavvio la scheda madre non rileva il disco SSD OCZ e, di conseguenza, l'array raid risulta degradato. E' necessario rispegnere correttamente il sistema, scollegare l'alimentatore esterno e attendere qualche decina di secondi. Ricollegando l'alimentazione e riaccendendo il server il disco SSD viene nuovamente rilevato ed è possibile procedere al rebuild dell'array raid.
    Ultima modifica di frakka : 24-08-2011 a 20:48

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  3. #3
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito 2.1_ Scelta del sistema operativo e installazione del sistema di base.

    La scelta del sistema operativo è stata più ardua del previsto:

    Per quello che voglio fare esistono diverse distribuzione già preconfezionate, tra cui l'eccellente ClearOS, una distro destinata alle small-business che può agire da server SMTP e IMAP/POP3 (con già configurati una serie di plugin e componenti accessori come filtro antispam, antivirus,...), webmail, connettore POP3, firewall, DNS, DHCP, MySQL server, Apache, SMB, LDAP...
    La distro è basata su CentOS ed è completamente free. E' davvero molto ben fatta ma la parte di mail server non è configurata per l'uso di domini virtuali e modificare la configurazione a manina (oltre a non essere semplicissimo) avrebbe potuto rendere inutilizzabile parte dell'interfaccia web della distro, rischiando alla fine della fiera di richiedere più sbattimento di quello richiesto per ripartire da zero... E ho davvero troppo poco tempo a disposizione per perderci tempo. Ho scelto quindi di partire da zero, installando una normale distribuzione e configurando pezzo per pezzo tutto quello che mi serve.

    La scelta del sistema è caduta su Debian principalmente per il fatto che questa distribuzione supporta praticamente tutte le architetture hardware esistenti quindi la configurazione dovrebbe essere replicabile, con gli opportuni adattamenti, anche a sistemi con piattaforma ARM...

    Installazione del sistema. Niente di particolare...


    Avvio del sistema da pendrive USB, selezionata l'installazione testuale e localizzato il sistema in inglese, selezionado il layout di tastiera It. Secondo me hanno fatto un pò una porcheria con la nuova versione dell'installer... Il fatto che selezioni la localizzazione con combinazioni fisse non modificabili è un pò stupido... Almeno Ubuntu permette di impostare anche un "locale" diverso dal quello corrisponente a lingua e tastiera. Io ho selezionato la localizzazione in inglese, visto che avendo selezionato la lingua inglese "US" ed il layout di tastiera "it" non è possibile specificare il locale "IT"... Selezionata la scheda di rete da utilizzare come "default" e la configurazione base di rete (impostato il nome host e del dominio del server. Ho usato un dominio ".lan"). Impostazione della password di root e configurazione dell'account utente (Nome completo e password).


    Partizionamento dei dischi:

    Personalmente preferisco sempre procedere in manuale, quindi selezionando l'ultima voce. Gli screen si riferiscono ad una virtual machine, quindi le informazioni visualizzate relativamente ai due hdd sono ovviamente riferite ad un disco virtuale ma il procedimento è lo stesso.
    Su entrambi i dischi ho creato una partizione primaria da 512Mb ed un'altra di dimensioni pari allo spazio rimanente sulla SSD (33,8Gb) e selezionato di utilizzarle come partizioni per il RAID software. Lo spazio in eccesso sul disco da 750Gb è stato partizionato sempre con partizioni primarie (il limite su uno stesso disco MBR è di 4 quindi ci rientro, una da 4gb da dedicare allo swap ed un'altra a cui ho assegnato il mount point /download.

    A questo punto posso configurare i dispositivi RAID software, indicando al sistema il tipo di RAID (1) il numero di hotspare (nessuno) e le partizioni da assegnare ai singoli device (a /dev/md0 sda1-sdb1 ed a /dev/md1 sdb1 ed sdb2).

    Concludo il partizionamento specificando di utilizzare /dev/md0 ed /dev/md1 rispettivamente come /boot e /, usando il filesystem ext4 senza particolari opzioni. Per la partizione /download ho utilizzato invece xfs.

    Ci sarebbero delle opzioni utilizzabili con ext4 per ridurre le operazioni di scrittura su disco e salvaguardare la vita della SSD, ma eventualmente possiamo specificarle anche in un secondo momento nel file /etc/fstab. A questo punto confermo e l'installer avvia l'installazione del sistema di base.
    Ultima modifica di frakka : 22-08-2011 a 13:05

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  4. #4
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito 2.2_ Completamente installazione del sistema ed installazione bootloader.

    Il parco software di Debian è mostruoso (4 DVD e rotti) e non serve scaricarsi tutto per installare il sistema. Ho utilizzato solo il primo DVD decompresso su una pendrive USB da 4Gb (che contiene il sistema di base e parte del repository), poi l'installazione propone di connettersi ad un repository online per scaricare quello che eventualmente manca e gli aggiornamenti disponibili. Propone poi un set di "gruppi di software" che possono essere installati. In questa fase, oltre alla "Standard system utility" sarebbe sufficiente installare il "server ssh". Però sono pigro... Visto che ci sono, inserisco dall'elenco anche il server DNS, il file server (con samba) ed il modulo webserver. Per ora preferisco escludere i componenti del mail server, tanto ci penserà iRedMail e installarsi quello che gli serve. In questa fase è necessario inserire solo il nome del Workgroup da utilizzare per la configurazione di Samba. Ho utilizzato lo stesso indicato per il dominio della rete locale, così come utilizzerò lo stesso nome per la zona del DNS.



    Per chiudere l'installazione debian propone l'ìnstallazione del bootloader grub nel MBR. Seguendo le operazioni che il sistema esegue mi accorgo che, contrariamente ad ubuntu, il bootloader viene installato solo in /dev/sda... Significa che se il disco /dev/sda dovesse abbandonarmi al reboot il sistema (pur conservando presumibilmente integri i dati del disco /dev/sdb) non sarebbe in grado di bootare ed avviarsi... E non è quello che voglio.
    Poco male, rimediamo dopo.


    Al riavvio mi trovo il mio sistemino bello che pronto e posso iniziare la configurazione. Come prima cosa sistemo il bootloader: Faccio login come root e lancio il comando
    codice:
    grub-install /dev/sdb
    per installare il bootloader anche nel MBR del disco sdb. Se tutto va a buon fine il sistema risponde che non si sono verificati errori quindi il nostro sistema dovrebbe essere in grado di avviarsi anche uno dei dischi va in fail.
    Ultima modifica di frakka : 22-08-2011 a 13:06

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  5. #5
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito 2.3_ Verifica e gestione del raid software con mdadm

    Per gestire il raid e verificare lo stato degli array è disponibile il tool mdadm: Il comando
    codice:
    mdadm -D /dev/md0
    ci mostra molte informazioni sullo stato del device ma deve essere lanciato per ogni device. Per monitorare velocemente lo stato di tutti gli array si può usare il comando
    codice:
    cat /proc/mdstat


    Per verificare che tutto funzioni come previsto, c'è un solo modo: Rompere l'array.
    Spengo il sistema e provo a scollegare un disco, per verificare se il sistema si riavvia normalmente oppure se ci sono problemi con il bootloader. Proverò poi a ricollegare il disco e fare il rebuild dell'array.

    La maggior parte degli screen sono presi da una VM vmware, che si lamenta se manca il disco primario quindi ho dovuto spostare il disco sdb sul canale primario per avviarla ma il sunto non cambia: Nel sistema reale, è come se avessi scollegato la SSD e avviato il sistema con il solo disco da 750Gb collegato. Questo è anche il motivo per potrebbe esserci qualche discrepanze di IP tra la configurazione dichiarata e gli eventuali screen che sono stati inseriti. Il sistema parte, quindi l'installazione del bootloader sul disco secondario è effettivamente andata bene.
    Spengo di nuovo e rimetto al loro posto i dischi. Al riavvio successivo, mdadm rileva ancora gli array come degradati.


    L'array va infatti rimontato a mano. Devo quindi aggiungere manualmente le partizioni del disco che ho sostituito ai rispettivi device RAID. Con il comando
    codice:
    mdadm --manage --add /dev/md0 /dev/sda1
    e
    codice:
    mdadm --manage --add /dev/md1 /dev/sda2
    rimonto gli array.
    Il rebuild parte in automatico, come si può verificare con il solito
    codice:
    cat /proc/mdstat
    La stessa procedura deve essere eseguita, nel mio caso specifico, dopo uno spegnimento anomalo del sistema (ad esempio dopo una mancanza di corrente) per ricostruire l'array che si degrada per il mancato rilevamento del disco SSD.


    Nel caso di un guasto hardware il nuovo disco dovrà quindi essere ripartizionato prima di che le sue partizione possano essere utilizzate di nuovo per ricostruire l'array raid.
    Inoltre, se davvero si fosse trattato di un disco nuovo, sarebbe anche stato necessario reinstallare il bootloader sul disco sostituito, con lo stesso comando visto all'inizio del post per installare il bootloader in /dev/sdb (ovviamente adattato a /dev/sda in questo caso).

    Il RAID software di Linux presenta quindi qualche limitazione ma funziona piuttosto bene. Ad esempio non è consigliabile rimuovere a caldo i dischi: questo strumento non è concepito per questo. Se il sistema improvvisamente dovesse trovarsi un disco in meno vi garantisco che non la prenderebbe bene, ma dopo un bel reset o, preferibilmente, dopo aver rimosso il disco guasto, dovrebbe essere in grado di riavviarsi normalmente. E' possibile anche configurare il tool per inviare una mail in caso di anomalia o malfunzionamento dell'array ma come procedere lo vedremo dopo.

    mdadm è un tool potente e piuttosto complesso ma nella maggior parte dei casi si tratterà sempre di usare questi 3 comandi. Tempo di scrivere due righe ed il rebuild è terminato: il solito comando ce lo conferma:


    [NOTA:]
    Per riavviare il sistema è sufficiente, con i diritti di superuser (root oppure usando sudo), lanciare il comando:
    codice:
    reboot
    Per spegnere invece
    codice:
    poweroff
    Ultima modifica di frakka : 24-08-2011 a 20:51

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  6. #6
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito 2.4_ Configurazione di apt

    Il tool standard (package manager) per l'installazione e l'aggiornamento del software su debian è "apt".

    Dopo il setup però il tool è configurato per utilizzare il disco di installazione come sorgente primaria per la ricerca e l'installazione di software. Per ovviare a questo problema devo modificare la configurazione di apt, rimuovendo il cdrom dall'elenco delle sorgenti.

    Una delle cose che più apprezzo di linux è la possibilità di modificare la configurazione di un file semplicemente modificando un file di testo: il tool che utilizzo solitamente è "nano" un editor di testo piuttosto semplice da usare e che mi permette di fare quello che mi serve. Ci sono editor più avanzati, come "vi", ma sono anche più complessi. Con nano io mi trovo bene.

    Prima di modificare un file di configurazione è sempre bene farne una copia di backup, in caso di errori. Per creare una copia di un file uso il comando "cp", la sintassi è banalissima (cp ).
    codice:
    cp /etc/apt/source.list /etc/apt/source.list.backup
    Ora per modificare l'elenco delle sorgenti di apt lancio il comando:
    codice:
    nano /etc/apt/source.list
    Per disattivare il cd rom è sufficiente mettere il carattere "#" davanti alla riga corrispondente. Il carattere "#" indica un commento e può essere utilizzato per disattivare una riga di istruzione in un file di configurazione o per inserire nella configurazione stessa delle note.
    Per salvare le modifiche apportate possiamo usare la combinazione di tasti "Ctrl+X" e confermare con "y". Se vogliamo uscire senza salvare "Ctrl+X" e "n" per annullare le modifiche.
    codice:
    # 
    # deb cdrom:[Debian GNU/Linux 6.0.1a _Squeeze_ - Official amd64 DVD Binary-1 20$
    
    deb http://ftp.it.debian.org/debian/ squeeze main
    deb-src http://ftp.it.debian.org/debian/ squeeze main
    
    deb http://security.debian.org/ squeeze/updates main contrib
    deb-src http://security.debian.org/ squeeze/updates main contrib
    
    # squeeze-updates, previously known as 'volatile'
    deb http://ftp.it.debian.org/debian/ squeeze-updates main contrib
    deb-src http://ftp.it.debian.org/debian/ squeeze-updates main contrib
    Se avessi commesso un errore e volessi ripristinare il file precedente, mi basta copiare il backup sul file originale, lanciando il primo comando invertito:
    codice:
    cp /etc/apt/source.list.backup /etc/apt/source.list
    Ora, lanciando il comando
    codice:
    apt-get update
    Debian si connette ai server configurati nel file per aggiornare la lista del software disponibile.
    Infine il comando
    codice:
    apt-get upgrade
    scarica ed installa le versioni più aggiornate del software già installato e le relative dipendenze.
    Ultima modifica di frakka : 04-02-2012 a 15:46

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  7. #7
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito 2.5_ Installazione del server grafico e del driver video.

    Per chi ha un display 1920x1080 il terminale senza server grafico ne driver video è un pò scomodo da gestire. Utile (ma non indispensabile, in quanto il server sarà praticamente sempre "headless" e dovrà essere gestito da remoto) sarebbe installare i driver video anche per avere qualche riga in più disponibile sul monitor.
    Installare il server grafico ed il driver video è piuttosto semplice: Il driver video è disponibile nei repository di Debian quindi è sufficiente lanciare l'installazione del driver video tramite apt ed automaticamente il sistema dovrebbe prendersi su anche tutte le dipendenze eventualmente necessarie.

    Il comando
    codice:
    apt-get install xserver-xorg-video-intel
    scarica ed installa la versione più recente dei driver video ed installa le necessarie dipendenze (compreso il server grafico se questo manca, sono circa 60 Mb in tutto) disponibili sui server di debian per la scheda video intel integrata nella mainboard.

    Approfitto di questa installazione per riavviare il sistema, in modo ad applicare anche gli eventuali aggiornamenti in sospeso dovuti all'aggiornamento del sistema tramite apt.
    Al riavvio del sistema il driver viene caricato e finalmente ottengo di nuovo il mio display @1920x1080....
    Ultima modifica di frakka : 22-08-2011 a 13:07

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  8. #8
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito 2.6_ Installazione e configurazione di "sudo"

    Non sono abituato a lavorare come root: Che questo sia un bene o un male è questione soggettiva, di massima apprezzo l'idea di ubuntu di disabilitare root e gestire il sistema con il comando "sudo" quindi per quanto possibile farò lo stesso.

    Prima ho disabilitato il DVD come sorgente per l'installazione ma, se la macchina non è ancora connessa in rete, potrebbe essere necessario utilizzarlo e deve quindi essere riabilitato nelle sorgenti software di apt.

    Per quanto mi riguarda, la macchina è in rete e preferisco scaricare il software dai repository di debian quindi con il comando
    codice:
    apt-get install sudo
    installo "sudo", un tool che permette ad un utente autorizzato di amministrare la macchina come se fosse root.
    Per configurare il tool è sufficiente modificare un file di configurazione per inserire l'utente che vogliamo autorizzare. Per questo specifico tool c'è un comando specifico da utilizzare per editare il file che è:
    codice:
    EDITOR=nano visudo
    che apre il file /etc/sudoers con l'editor di testo "nano" ed i permessi necessari.

    Nel caso fosse necessario, ricordo che Linux è "Case sensitive" quindi scrivere un comando con le maiuscole è diverso che scriverlo in minuscolo. Quasi sempre, si usa il carattere minuscolo.

    Nel mio caso ho autorizzato l'utente "matteo" ad eseguire ovunque tutte le operazioni di amministrazione, cercando la corretta sezione scorrendo il file con le frecce e aggiungendo l'utente di seguito a root. Ci sono diverse possibilità, i commenti del file sono abbastanza chiari e spiegare tutto sarebbe lungo.
    .

    A questo punto è sufficiente fare logout con il comando
    codice:
    exit
    e rifare login con il nostro utente.
    Possiamo quindi provare la modifica lanciando un comando qualunque... Magari uno che non faccia danni!!!
    codice:
     sudo nano
    dovrebbe essere sufficiente (apre l'editor di testo con un file vuoto ma permessi di superuser) Il sistema ci avvisa che a grandi poteri corrispondono grandi responsabilità e ci chiede la nostra password. Se tutto è andato bene non ci saranno messaggi di errore e possiamo chiudere nano con il solito Ctrl+X ed "n" per non salvare il file.
    Ultima modifica di frakka : 22-08-2011 a 13:08

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  9. #9
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito 3.1_ Configurazione delle interfacce di rete.

    Il comando
    codice:
    sudo ifconfig
    mostra lo stato attuale delle mie interfacce di rete:
    codice:
    eth0      Link encap:Ethernet  HWaddr 00:25:90:35:6b:7a  
              inet addr:192.168.50.13  Bcast:192.168.50.255  Mask:255.255.255.0
              inet6 addr: fe80::225:90ff:fe35:6b7a/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:639 errors:2 dropped:0 overruns:0 frame:1
              TX packets:180 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100 
              RX bytes:140061 (136.7 KiB)  TX bytes:20013 (19.5 KiB)
              Memory:feae0000-feb00000 
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:134 errors:0 dropped:0 overruns:0 frame:0
              TX packets:134 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:11136 (10.8 KiB)  TX bytes:11136 (10.8 KiB)
    Di default, l'hotplug della rete su Debian non è attivo. La semplice connessione di un cavo di rete non ne attiva quindi automaticamente il funzionamento. Inoltre se non esplicitamente indicato, una scheda di rete anche se configurata non viene caricata all'avvio. Essendo il server headless è quindi comodo che le interfacce siano impostate per avviarsi e funzionare automaticamente all'accensione del server, senza aspettare un comando manuale anche perchè se la rete non si attiva e non ci sono connessi tastiera e mouse il server non può essere gestito.

    Per far sì che il sistema si accorga quando viene inserito o disinserito un cavo di rete ed attivi o disattivi, di conseguenza, la scheda di rete corretta è necessario installare un demone (servizio) denominato ifplugd con il comando
    codice:
    sudo apt-get install ifplugd
    La configurazione è molto semplice e bene spiegata in questa guida: Si tratta di lanciare il comando
    codice:
    sudo dpkg-reconfigure ifplugd
    e rispondere alle domande del wizard. Io ho usato "auto" per far si che il demone monitori tutte le interfacce di rete disponibili.

    Quando il demone attiva un'interfaccia di rete si sente un "beep". Ora lanciando di nuovo il comando "sudo ifconfig" vedo anche la seconda scheda di rete (eth1) che però non è ancora configurata e non ha, quindi, indirizzo IP.
    codice:
    eth0      Link encap:Ethernet  HWaddr 00:25:90:35:6b:7a  
              inet addr:192.168.50.13  Bcast:192.168.50.255  Mask:255.255.255.0
              inet6 addr: fe80::225:90ff:fe35:6b7a/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:639 errors:2 dropped:0 overruns:0 frame:1
              TX packets:180 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100 
              RX bytes:140061 (136.7 KiB)  TX bytes:20013 (19.5 KiB)
              Memory:feae0000-feb00000 
    
    eth1      Link encap:Ethernet  HWaddr 00:25:90:35:6b:7b  
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Memory:febe0000-fec00000 
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:134 errors:0 dropped:0 overruns:0 frame:0
              TX packets:134 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:11136 (10.8 KiB)  TX bytes:11136 (10.8 KiB)
    Una volta impostate su "auto" le interfacce di rete ed assegnati gli IP statici, l'utilità del daemon è molto ridotta quindi l'installazione si può anche evitare senza particolari conseguenze.

    Ora la mia situazione è questa:
    Ho un ricevitore Wi-Max (non sono coperto da ADSL o altro...) con interfaccia Ethernet. Questo ricevitore è un router prodotto dalla REPEATIT con IP pubblico statico sulla porta WAN mentre sulla LAN ha IP 192.168.50.1 ed è impostato per fare il forwarding di tutte le porte sull'IP 192.168.50.150. Ha un proprio server DHCP interno ma non posso accedere all'interfaccia di gestione in quanto non ho le credenziali e comunque non sarei autorizzato a farlo.
    Visto che ora la macchina che prende l'IP 192.168.50.150 è un pc con XP Home, vorrei che il mio serverino facesse anche da firewall per la rete interna. Per ora non mi interessa la possibilità in inserire proxy o filtri per il packet inspection, mi basta che possa operare come gateway e firewall per la LAN e sia raggiungibile dall'esterno per operare come web e mail server. Deve pertanto prendersi l'IP 192.168.50.150 sull'interfaccia esterna e su quella interna distribuire DHCP e DNS per consentire la normale operatività dei client sulla rete.
    Per fare questo, avere a disposizione due interfacce di rete è meglio anche se non propriamente indispensabile. Una interfaccia di rete opererà lato internet (outside) l'altra opererà invece lato rete locale (inside) separando, di fatto, la mia rete locale da internet. Avrò quindi entrambe le schede di rete sempre collegate ed è meglio che entrambe siano configurate con IP statici, per comodità di configurazione.

    Ricevitore Wi-MAx -> 192.168.50.1
    Interfaccia WAN (eth0) del serverino -> 192.168.50.150/255.255.255.0 gtw 192.168.50.1
    Interfaccia LAN (eth1) del serverino -> 192.168.100.150/255.255.255.0

    Per configurare le interfacce di rete, dopo aver fatto il backup del solito file di configurazione, possiamo modificarlo con il solito "nano".
    Copio quindi il file "/etc/network/interfaces" e lo apro con il comando
    codice:
    sudo nano /etc/network/interfaces
    Il file è molto semplice ma contiene tutti i parametri per impostare la configurazione delle interfacce di rete.
    codice:
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # The primary network interface - Outside -
    auto eth0
    allow-hotplug eth0
    iface eth0 inet static
                 address 192.168.50.2
                 netmask 255.255.255.0
                 gateway 192.168.50.1
                 dns-nameservers 208.57.222.222 151.99.125.2 8.8.8.8
                 broadcast 192.168.50.255
    
    # Scheda di rete secondaria - Inside -
    auto eth1
    allow-hotplug eth1
    iface eth1 inet static
                 address 192.168.100.1
                 netmask 255.255.255.0
                 broadcast 192.168.100.255
    Questa è la configurazione che ho fatto io, con le indicazioni di questa guida, ovviamente correggendo gli Ip statici con quelli riportati sopra. Per applicare le modifiche è necessario riavviare le interfacce di rete con il comando
    codice:
    sudo ifdown eth0 && sudo ifdown eth1 && sudo ifup eth0 && sudo ifup eth1
    oppure riavviando la macchina.
    Ultima modifica di frakka : 22-08-2011 a 15:47

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  10. #10
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito 3.2_ Configurazione del server ssh

    Lavorare direttamente sul terminale della macchina può risultare scomodo. inoltre, come detto, il serverino dovrebbe operare headless, quindi completamente sprovvisto di tastiera e mouse e gestito da remoto quindi tanto vale configurare subito a questa parte e finire l'installazione con la comodità del mouse e del copia incolla...
    Passo quindi a configurare uno strumento che mi permetterà di continuare a gestire la macchina da una comodo desktop, come si mi trovassi di fronte al terminale ma con i benefici del copia-incolla...
    Lo strumento è il server SSH ed è un server che ho installato durante il setup e che rende disponibile uno o più terminali remoti attraverso un tunnel criptato (Secure SHell). Può fare molte altre cose, ma per ora mi interessa solo questo. Per connettersi è necessario ovviamente utilizzare un client: Per Windows è disponibile l'ottimo PuTTY mentre per i client Linux/Mac di solito si usa openssh, un pacchetto disponibile praticamente per ogni distribuzione e installabile con il proprio gestore di pacchetti o addirittura preinstallato.
    Da un client Linux/Mac è sufficiente aprire un terminale e digitare il comando
    codice:
    ssh nome-utente@destinazione
    per avviare la connessione ssh. Il parametro può essere indicato come indirizzo IP (192.168.100.150) oppure come nome host (server.dominio.lan) se c'è già una risoluzione DNS corretta. Da un client Windows è suffiente lanciare PuTTY e inserire anche qui IP oppure nome host del server di destinazione.
    La prima volta che ci si connette ad un nuovo host, avviene lo scambio delle chiavi crittografiche. Se viene confermata l'autenticità del collegamento scrivendo "yes" per esteso, la chiave viene salvata definitivamente nel profilo utente e non sarà più riproposto di salvarla in futuro a meno che questa non cambi. Inserendo la password dell'utente registrato sul server, si ha a questo punto, accesso al server remoto come se ci si trovasse davanti alla consolle con in più la comodità del copia-incolla e di poter allargare la finestra a piacere...



    Il mio server sarà esposto su internet e questa consolle fornisce un accesso totale alle risorse del server da qualunque macchina connessa in rete: Può essere una enorme comodità ma anche un terribile problema di sicurezza e siccome sono responsabile di ciò che parte/transita dal mio server è bene che cerchi di renderlo il più sicuro possibile, apportando qualche modifica alla configurazione di default. In questa guida sono esplicati tutti i parametri necessari per una configurazione di base di OpenSSH. Io mi sono limitato a modificare le seguenti voci nel file di configurazione del server SSH, /etc/ssh/sshd_config (sempre con sudo e nano):
    codice:
    ListenAddress 192.168.100.1
    PermitRootLogin no
    X11Forwarding no
    AllowUsers mioutente
    che mette il server ssh in ascolto solo sull'IP 192.168.100.1 (IP del server sulla mia rete LAN, non sarà quindi raggiungibile da internet), disabilita la possibilità per root di fare login al server via ssh e autorizza solo il mio username al login (una volta loggati è sempre possibile usare sudo o diventare root con il comando "su"). Il forwarding X11 non serve se non c'è una interfaccia grafica installata nel server. Ovviamente, nessuna precauzione è mai sufficiente in presenza di combinazioni di username e password del tipo utente/password oppure pippo/pluto... Scegliere password complesse e composte da lettere, numeri e simboli è la cosa migliore.
    Per applicare le modifiche ho riavviato il demone ssh con il comando:
    codice:
    sudo /etc/init.d/ssh restart
    Se proviamo ora a fare login con l'utente root oppure all'indirizzo IP 192.168.50.2 (o quello che corrisponde alla vostra rete esterna) dovreste ottenere solo dei "Permission denied" e "Connection refused".
    Ultima modifica di frakka : 22-08-2011 a 13:09

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

Pagina 1 di 5 1 2 3 4 5 ultimo

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Tags

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022