Just another IT weblog

Attivazione del DHCP sui Client

Ottobre 21st, 2006 by Mattneri

Nel precedente articolo abbiamo visto come configurare un server dhcp su Linux. In questo invece ci concentreremo sulla parte client.

WINDOWS XP:

Cliccare con il tasto destro del mouse su Risorse di Rete, premere su Proprietà , poi selezionare Connessione alla Rete Locale (LAN) con il tasto destro e premere su proprietà . Vi si aprirà la finestra riportata nella seguente figura:

Windows Dhcp 1

Come illustrato in figura cliccate sulla voce Protocollo Internet (TCP/IP) e poi sul bottone Proprietà. Nella schermata successiva dovete selezionare Ottieni automaticamente in indirizzo IP e Ottieni indirizzo server DNS automaticamente.

Windows Dhcp 2

LINUX:

Su Fedora / RedHat dovete andare in /etc/sysconfig/network-scripts/ e editare il file ifcfg-eth0 andando a modificare il parametro BOOTPROTO.

BOOTPROTO=static —> IP assegnato staticamente
BOOTPROTO=dhcp —> IP assegnato tramite un server dhcp

Sulla Ubuntu invece dovete editare il file interfaces presente in /etc/network/.

iface eth0 inet static —> IP assegnato staticamente all’interfaccia eth0

iface eth0 inet dhcp —> IP assegnato tramite server dhcp

Ora in entrambi i casi dovrete restartare l’interfaccia di rete in modo che vengano recepite le modifiche fatte. Per fare ciò basterà utilizzare i comandi ifdown eth0 seguito da ifup eth0.

Posted in Linux, Networking, Windows | No Comments »

Configurazione di un server DHCP su Linux

Ottobre 20th, 2006 by Mattneri

Un server DHCP (Dynamic Host Configuration Protocol) consente di assegnare dinamicamente gli indirizzi IP, ed altri parametri di configurazione (subnet, indirizzo gateway, DNS, …), agli host che ne fanno richiesta. Tale meccanismo permette di facilitare l’assegnazione degli indirizzi IP su reti di medio-grande dimensione riducendo di conseguenza anche la possibilità di conflitti IP.

Il processo attraverso il quale una macchina host richiede al server dhcp un indirizzo ip si articola in 4 fasi, illustrate ampiamente nella RFC 1541:

  1. Il client (che al momento non conosce l’indirizzo del server) invia sulla rete un particolare messaggio di broadcast, chiamato DHCPDISCOVER. Tale messaggio oltre a contenere il MAC address dell’host che ne fa richiesta può includere anche delle opzioni che suggeriscono possibili valori per gli indirizzi IP e per la durata del lease time (tempo di concessione dell’indirizzo IP).
  2. Il server DHCP invia un messaggio DHCPOFFER contenente una lista degli indirizzi ip disponibili. Tale messaggio viene inviato generalmente unicamente al client che ne aveva fatto richiesta.
  3. Il client invia in broadcast un messaggio DHCPREQUEST che oltre a riportare i parametri di configurazione voluti deve anche contenere l’identificativo del server scelto (nel caso in cui nella rete vi siano vari server DHCP).
  4. Quando il server riceve il messaggio DHCPREQUEST del client può confermare al client l’assegnazione dei parametri richiesti con un messaggio DHCPACK, oppure, nel caso sia impossibilitato al momento potrà richiedere la ripetizione dei 4 passi tramite un messaggio DHCPNACK.

La prima cosa da fare prima di passare alla configurazione del nostro server consiste nello scaricamento del pacchetto necessario dal sito dell’ISC (Internet System Consortium). Una volta installato passiamo ad editare con il nostro editor preferito il file /etc/dhcpd.conf.

Questo file di configurazione è caratterizzato da due tipologie di istruzioni:

  • Parametri: Definiscono il comportamento del server e vengono espressi tramite una coppia chiave valore. Fra i principali parametri troviamo:
  1. default-lease-time secondi: durata della configurazione dell’interfaccia di rete
  2. max-lease-time secondi: massima durata dell’interfaccia di rete
  3. range ip_iniziale ip_finale: pool di indirizzi assegnabili ai client
  4. fixed-address ind_host: ip statico da assegnare a un particolare host
  5. option host-name nome: nome di un particolare host
  6. option subnet-mask indirizzo_subnet: maschera di sottorete
  7. option broadcast-address ind_broadcast: indirizzo di broadcast
  8. option routers ind_router: indirizzo del router
  9. option domain-name-servers ind_dns: indirizzi dei server dns
  10. option domain nome_dominio: nome di dominio
  11. option netbios-name-servers ind_wins_srv: indirizzo dei server WINS
  12. option ntp-servers ind_timeserver: indirizzo del timeserver
  13. option smtp-server ind_smtp_srv: indirizzo del server smtp
  • Dichiarazioni: Definiscono la topologia della rete e sono racchiuse in blocchi delimitati da parentesi graffe.

subnet 192.168.1.0 netmask 255.255.255.0 {

……..

}

Ecco un esempio di configurazione del file dhcpd.conf:

############# Configurazione dhcpd.conf #############
# 20/10/2006
#
################# LAN Layout ###################
# 192.168.0.1 -> router
# 192.168.0.2 -192.168.0.9 -> Ind statici riservati PC
# 192.168.0.10 - 192.168.0.245 -> Ind assegnabili
# 192.168.0.146 - 192.168.0.254 -> Ind statici riservati
############################################

default-lease-time 18000; # lease time di 5 ore
max-lease-time 18000;
option domain-name "mattneri.com";
option subnet-mask 255.255.255.0;

subnet 192.168.0.0 netmask 255.255.255.0 {

option routers 192.168.0.1;
option domain-name-servers 208.67.222.222;
option domain-name-servers 208.67.220.220;
option broadcast-address 192.168.0.255;
range 192.168.0.10 192.168.0.245;

}

############ IP Statici Riservati PC ##############

host mailserver {

hardware ethernet 00:5f:12:3a:56:07;
fixed-address 192.168.0.2;

}

host smbserver {

hardware ethernet 00:30:2b:d4:67:9f;
fixed-address 192.168.0.3;

}

host printerserver {

hardware ethernet 00:0e:45:2f:34:0a;
fixed-address 192.168.0.3;

}

host laptop {

hardware ethernet 00:0f:b0:85:07:95;
fixed-address 192.168.0.4;

}

host olderrimo {

hardware ethernet 00:50:ba:4e:89:d5;
fixed-address 192.168.0.5;

}

host mattneri {

option host-name "primary.mattneri.com";
hardware ethernet 00:13:8f:9c:90:cc;
fixed-address 192.168.0.6;

}

########### IP Statici Riservati Device di Rete ############

host printer_toshiba_estudio205 {

hardware ethernet 00:00:45:7d:ac:14;
fixed-address 192.168.0.246;

}

host wireless_ap {

hardware ethernet 00:01:5f:7e:a2:04;
fixed-address 192.168.0.247;

}

Per testare la correttezza sintattica del file di configurazione basterà utilizzare il comando dhcpd -t. Mentre per avviare il demone dhcpd sarà necessario digitare /etc/init.d/dhcp start.

Posted in Linux, Networking | 1 Comment »

SSH Tunnelling & VNC sotto Windows con software Open Source

Ottobre 12th, 2006 by Mattneri

La seguente guida spiega come creare, utilizzando solamente software open source, un tunnel ssh sotto windows. La scelta di utilizzare windows nel mio caso dipende solamente da esigenze aziendali (o meglio del mio cliente), ma la guida è facilmente adattabile anche ad ambienti unix/linux.

Quale è l’utilità di tutto ciò? Sicurezza. Come riportato nelle faq, TightVnc cripta le password utilizzate per le connessioni vnc (DES con chiave a 56bit) però non cripta tutto il restante traffico. Per evitare quindi varie tipologie di attacchi, in attesa di una futura release di TightVnc che supporti la crittazione del traffico nativamente è possibile utilizzare un tunnelling sicuro tramite OpenSSH (implementazione open source del protocollo ssh).

Per prima cosa passiamo a scaricare il software necessario:

A questo punto se l’host che vogliamo raggiungere sta in una lan dobbiamo anche configurare il Nat per il nostro router ed eventuali firewall. Le porte che ci interessano sono la 22 per ssh e le porte 5800 / 5900 per TightVnc. Questo nel caso vengano mantenuti i settaggi di default.

Nel caso non sappiate come configurare il Nat/Pat sul vostro router vi consiglio di consultare il seguente sito, oltre ovviamente il manuale tecnico del router :P

La prima cosa da fare sull’host che volete controllare è installare il server openssh che avete precedentemente scaricato. Avviate l’eseguibile e rispondete alle domande…poche…che vi verranno poste. Ad un certo punto l’installer avvisa che prima di avviare openssh sarà necessario configurare i file per i gruppi e password. Premete Ok ed il gioco è fatto.

Ora per la suddetta configurazione basta che seguiate le istruzioni riportate nel file quickstart.txt.

Molto in breve basta che apriate il prompt dei comandi e vi portiate nella directory C:\Programmi\OpenSSH\bin poi dovete digitare i seguenti comandi:

mkgroup -l >> ..\etc\group

mkpasswd -l >> ..\etc\passwd

Vi consiglio comunque di leggere il file quickstart.txt per maggiori informazioni in merito.

Ora per avviare il demone di openssh basta che digitiate sempre dal prompt di dos:

net start opensshd

Oppure potete andare in Pannelo di Controllo -> Strumenti di Amministrazione -> Servizi e cercare OpenSSH Server

Ora non vi resta che installare e configurare il server di TightVnc sull’host da controllare. Una volta installato dovete impostare la password e consentire le connessioni di loopback. Per fare ciò Programmi -> TightVNC -> Launch Vnc Server e poi cliccate su properties nell’icona di TightVnc presente nella system tray

Da qui per prima cosa dovete impostare la password e poi premendo sul pulsante Advanced in basso a destra dovete andare a spuntare Allow loopback connections.

A questo punto possiamo spostarci sul computer client. Anche qui andrà installato TigthtVnc. Una volta fatto passiamo alla configurazione del client ssh che effettuerà la connessione al server ssh e il tunnelling. Vi sono svariati client ssh disponibili su internet, in questa guida andrà ad utilizzare Putty. Nella prima schermata una volta avviato Putty dovete andare a settare l’indirizzo IP dell’host remoto. La porta di default per le connessioni ssh è la 22.

Ora nella sezione SSH dovete andare nella sottosezione Tunnels:

Qui, come illustrato nella figura precedente, dovete impostare 5900 in Source Port e 127.0.0.1:5900 in Destination e infine premere il pulsante Add.

Ora tornate nella session e ricordatevi di salvare le configurazioni effettuate. Siamo quasi pronti…

Ora per effettuare la fatidica connessione all’host remoto (dove ovviamente devono essere avviati sia il demone di openssh che il server di TightVnc) dobbiamo per prima cosa lanciare Putty selezionando la connessione appena creata e loggarci sull’host remoto con user e password. In tale modo abbiamo creato la connessione ssh con il computer remoto.

A questo punto possiamo lanciare il client di TightVnc ( Programmi -> TightVnc -> TightVnc Viewer ) inserendo come IP del server 127.0.0.1 e successivamente la password precedentemente impostata.

Posted in Networking, Sicurezza, Windows | 4 Comments »

Cambiare nome host su sistemi Linux

Ottobre 6th, 2006 by Mattneri

Una domanda che ho visto spesso sui vari forum che normalmente frequento è come modificare il nome della propria macchina.

Il processo a dire la verità non è troppo complesso ma presenta forse qualche difficoltà derivante dal fatto che vi sono vari modi diversi in funzione della distribuzione utilizzata.

Innanzitutto per vedere il nome correntemente settato basta utilizzare da terminale il comando hostname. Oppure il comando hostname –fqd per visualizzare il fully qualified domain name ( il vostro hostname seguito dal nome del dominio ).

Il comando hostname permette anche di cambiare il nome della macchina, ma solo temporaneamente per la sessione corrente di lavoro. In questo caso non è necessario fare il reboot della macchina.
Perchè tale modifica non abbia più un carattere solo temporaneo ma sia definitiva è necessario procedere nei seguenti modi:

Sui sistemi basati su Debian e sulla Slackware è necessario editare il file /etc/hostname inserendo una riga contenente il fully qualified hostname.

Sui sistemi RedHat / Fedora bisogna andare a modificare il file /etc/sysconfig/network, ed in particolare la voce HOSTNAME, come nel seguente esempio:
NETWORKING=yes
HOSTNAME=pippo.prova.com
GATEWAY=192.168.0.98
In entrambi i casi perchè le modifiche abbiano effetto è necessario rebootare la macchina.

Posted in Linux | 1 Comment »