Archive for Maggio, 2007

Mag 18 2007

Usare uno smart host SMTP con Exchange

Se si utilizza Exchange come server di posta elettronica, la configurazione predefinita prevede un invio diretto dei messaggi di posta utilizzando il server DNS predefinito configurato sul server stesso per la risoluzione dei nomi di dominio e per l’interrogazione sul record MX del dominio del destinatario, quindi si connette direttamente ai server SMTP dei destinatari delle mail per il recapito dei messaggi. Ciò però non sempre è possibile, ad esempio perché un range di indirizzi è finito in una blacklist, quindi, per evitare questi problemi, ci si può appoggiare ad un server SMTP esterno alla nostra organizzazione per l’invio delle mail, che prende il nome di "smart host".

Per impostare uno smart host, su Exchange come su qualsiasi altro server di posta, dobbiamo considerare che in genere i provider consentono l’accesso al proprio server SMTP solo a quegli host che si connettono sulla loro rete, quindi è bene utilizzare il server SMTP del proprio provider, anche se alcuni provider richiedono anche informazioni di autenticazione sul server SMTP per poter inviare messaggi; Exchange prevede due metodi di configurazione di un server SMTP esterno: l’impostazione dello smart host sul server virtuale SMTP e la creazione di un connettore SMTP.

Per impostare uno smart host sul server SMTP virtuale andare su System Manager e fare il percorso Servers -> NomeServer -> Protocols -> SMTP -> tasto destro su Default SMTP Virtual Server, quindi cliccare su Properties, da lì andare sul tab Delivery e quindi andare sul pulsante Advanced e lì impostare l’indirizzo del server SMTP esterno nella casella "Smart host"; l’indirizzo da impostare può essere un normale indirizzo FQDN oppure un indirizzo IP compreso tra parentesi quadre (es. [1.1.1.1]), quindi una volta impostato cliccare su Ok per tornare alla schermata precedente. A questo punto, si può cliccare di nuovo su Ok se la configurazione è completata, oppure si deve cliccare sul pulsante "Outbound security" se bisogna inserire anche informazioni di autenticazione per poter inviare messaggi tramite il server SMTP esterno; in quest’ultimo caso, cliccare su "Basic autentication" ed inserire nome utente e password, quindi mettere un segno di spunta sulla voce "TLS encryption" se è necessario stabilire una connessione criptata con lo smart host. Ora non rimane che cliccare due volte su Ok, quindi basta riavviare il servizio SMTP per attivare le nuove impostazioni.

L’altro modo per configurare uno smart host consiste nella creazione di un connettore SMTP. Un connettore SMTP permette di stabilire la connessione tra il nostro server Exchange (o tra i diversi server Exchange della nostra organizzazione) e il mondo esterno, inoltre, un connettore SMTP ci dà anche la possibilità di utilizzarlo per inviare posta solamente verso certi domini, oltre a permettere di bilanciare il carico tra i diversi server Exchange presenti sulla nostra rete. Quando si crea un connettore SMTP bisogna, tra le altre cose, impostare la modalità di recapito della posta in uscita, cioè bisogna dire se spedire la posta direttamente utilizzando DNS per la risoluzione dei nomi oppure se utilizzare uno smart host, che è la situazione che interessa a noi. Per impostare lo smarthost, basta selezionare la voce "Forward all mail through this connector to the following smart hosts" e digitare il nome del server SMTP a cui inoltreremo la mail provenienti dalla nostra organizzazione; anche in questo caso, valgono le considerazione fatte in precedenza in merito all’eventuale autenticazione sul server SMTP smart host. Ora bisogna impostare almeno un server Exchange "bridgehead" (testa di ponte) responsabile dell’invio della posta tramite il connettore che si sta creando; se abbiamo un unico server Exchange nella nostra organizzazione, questo andrà impostato obbligatoriamente come server bridgehead. Ora rimane da impostare lo spazio degli indirizzi del connettore, cioè bisogna specificare se il connettore è responsabile dell’invio di messaggi per ogni dominio esistente o solamente per alcuni domini, quindi, andare sul tab "Address space", cliccare su Add e digitare * se si vogliono comprendere tutti i domini come indirizzi validi per il connettore (impostazione predefinita), dopodiché, poco più in basso, è possibile specificare l’ambito di validità del connettore (Connector scope), se non si ha un’organizzazione complessa lasciare l’impostazione di default "Entire organization".

Seguendo uno dei due metodi sopra esposti, è possibile utilizzare un server esterno alla nostra organizzazione per inviare messaggi di posta elettronica.

No responses yet

Mag 13 2007

Utilizzo di una policy di creazione di indirizzi Exchange

Dopo un’installazione di Exchange Server 2003, vanno create le relative cassette di posta, e qui la situazione dipende da cosa si è fatto prima di installare Exchange: se erano presenti già in precedenza utenti di Active Directory (AD), dopo aver installato Exchange bisogna creare una cassetta di posta per gli utenti già esistenti, mentre per tutti gli utenti AD creati successivamente all’installazione di Exchange, è necessario indicare in fase di creazione se associare o meno una nuova cassetta di posta all’utente.

In entrambi i casi, gli indirizzi di posta elettronica vengono assegnati automaticamente alla cassetta di posta seguendo un determinato criterio, definito nella "default policy" visualizzabile andando su System Manager -> Recipients -> Recipient Policies; il criterio predefinito corrisponde al dominio di Active Directory, per cui se ho un utente con alias "utente" ed ho un dominio AD con nome DNS "dominio.lan", l’indirizzo di posta creato in modo predefinito è "utente@dominio.lan". Questo tipo di indirizzamento ha solamente validità locale, e siccome di certo non installiamo Exchange solo per la comunicazione interna, è necessario cambiare la policy predefinita, aggiungendo una policy con una priorità più alta (cioé col numero più basso) oppure modificando direttamente la policy predefinita, in modo da avere indirizzi di posta con un dominio identico al dominio registrato dalla nostra società; inoltre, è possibile personalizzare la parte a sinistra dell’indirizzo e-mail utilizzando le variabili messe a disposizione da Exchange.

Per creare una nuova policy, andare su System Manager -> Recipients -> Recipient Policies e quindi cliccare sul menu Action -> New e quindi scegliere "Recipient policy", si aprirà una finestra di dialogo in cui dobbiamo indicare se la nuova policy riguarda gli indirizzi di posta elettronica (E-mail Addresses) o se riguarda la gestione delle cassette postali (Mailbox Manager Settings), in questo caso scegliamo la prima voce, E-mail Addresses, clicchiamo su Ok e comparirà la finestra in cui, per prima cosa, va inserito un nome per definire il criterio (in questo caso, chiameremo la policy "Dominio Aziendale"), quindi, cliccheremo sul pulsante "Modify" per creare un filtro che applichi la policy solo a determinati elementi presenti in Active Directory; la lista degli elementi a cui è possibile applicare è mostrata in figura 1:

Find Exchange Recipients
Figura 1

Nella maggior parte dei casi, sarà sufficiente selezionare solamente "Users with Exchange mailbox", poiché difficilmente useremo la stessa policy per gli utenti e per i gruppi, più probabilmente gli utenti seguiranno un criterio ed i gruppi un altro criterio, quanto ai Contatti, è improbabile definire per essi una policy comune; da notare che, cliccando sulla scheda Advanced, è possibile creare dei filtri con criteri più stringenti per selezionare solamente, ad esempio, parte degli utenti con cassette di posta rispondenti a determinati criteri. Fatto questo, cliccare su Ok ed ancora su Ok al messaggio successivo, quindi andare sulla scheda "E-mail Addresses (Policy), cliccare sulla voce SMTP presente (corrispondente alla policy di default di Exchange) e cliccare sul pulsante "Edit" per modificare il criterio; a questo punto, è opportuno conoscere le variabili necessarie per comporre la nostra policy, che si baserà su nome e cognome dell’utente:

%g -> Given name -> Nome
%s -> Surname -> Cognome

Se ad esempio abbiamo il dominio dell’azienda che prende il nome di "nomeazienda.com" e vogliamo che gli indirizzi aziendali siano tutti del tipo "mario.rossi[at]nomeazienda.com", dovremo specificare la seguente policy:

%g.%s@nomeazienda.com

In realtà, molto spesso le aziende usano spesso indirizzi del tipo "m.rossi@nomeazienda.com", ed in questo caso, per avere il risultato voluto, nella policy bisogna scrivere questa stringa:

%1g.%s@nomeazienda.com

dove 1 indica che andrà preso per la variabile %g solamente il primo carattere, in questo caso l’iniziale del nome appunto (per ulteriori informazioni sulle variabili utilizzabili in questo contesto consultare la relativa pagina della Knowledge Base Microsoft). Una volta scritto il criterio, cliccare su Ok e quindi su Yes, e la policy è attiva. Gli indirizzi di posta verranno quindi modificati a seconda dell’intervallo di aggiornamento specificato in "Recipient Update Services" presente nella voce "Recipients" nella struttura generale di System Manager. E’ possibile specificare in seguito una ulteriore policy per i gruppi di distribuzione, ad esempio utilizzando le variabili %d (Display name) o %m (Alias Exchange dell’utente AD), così da avere due policy distinte per gruppi ed utenti.

No responses yet

Mag 06 2007

Modificare la configurazione di rete con Netshell

Netshell è un utilità a riga di comando (richiamata dal file netsh.exe) che permette la visualizzazione e la modifica di diversi parametri relativi alla configurazione di rete del PC. Quest’utilità è presente da Windows 2000 in poi, ma i comandi seguenti sono testati esclusivamente su Windows XP.

Netshell può essere molto utile per eseguire dei batch che cambino la configurazione di rete, oppure che siano in grado di ripristinare la configurazione di rete perduta per un qualsiasi motivo. Ad esempio, se col nostro portatile dobbiamo spostarci su diverse reti, è possibile avere una serie di batch che configurano automaticamente la rete; ciò si rende necessario se il servizio DHCP non è presente su tutte le reti in cui ci muoviamo, altrimenti questo accorgimento sarebbe inutile. Prima di vedere come utilizzare Netshell, è bene compiere un passaggio, e cioé rinominare la connessione di rete locale, che generalmente prende il nome di "Connessione alla rete locale (LAN)", trasformandola in qualcosa di più semplice, tipo "Rete Locale" (senza virgolette).

Fatto ciò, vediamo come impostare la configurazione di rete (cioè il settaggio di indirizzo IP, subnet mask, default gateway, server DNS senza usufruire di un server DHCP) su un client Windows XP:

> netsh interface ip set address name="Rete Locale" source=static addr=192.168.0.11 mask=255.255.255.0 gateway=192.168.0.254 gwmetric=1
> netsh interface ip set dns name="Rete Locale" source=static addr=192.168.0.1

Come si può facilmente intuire, bisogna utilizzare due comandi distinti: il primo per impostare la configurazione di indirizzo IP, subnet mask, default gateway, ed il secondo per impostare la configurazione del server DNS. Analizzando più nel dettaglio i due comandi, abbiamo come prima cosa l’ambito su cui va ad agire il comando netsh, ovvero "interface ip", quindi, abbiamo l’istruzione "set", che indica la riconfigurazione dell’interfaccia di rete, ciò significa che le vecchie impostazioni vengono sostituite da quelle indicate nel comando netsh. Di seguito, andiamo ad indicare cosa andiamo a riconfigurare, nel primo comando "address" e nel secondo "dns", poi si specifica il nome della connessione della rete locale (name="Rete Locale") e quindi si indica se i parametri sono statici o dinamici (se sono dinamici, i dati riguardanti la configurazione di rete verranno assegnati al client da un server DHCP), infine si specificano i parametri veri e propri, ma solo nel caso in cui questi vengano assegnati staticamente.

Nel caso in cui si voglia aggiungere un secondo server DNS, è possibile utilizzare il comando:

> netsh interface ip add dns name="Rete Locale" addr=192.168.0.2 index=2

Le differenze col comando precedente sono minime, e si limitano all’istruzione "add" che sostituisce "set", in quanto il server DNS impostato precedentemente viene mantenuto, ed all’istruzione "index=2", che indica che il server DNS impostato è il secondo nell’ordine di ricerca e viene chiamato in causa solamente quando il primo server DNS non risponde.

Il comando netsh è molto utile anche per effettuare il salvataggio delle impostazioni TCP/IP della propria scheda di rete, impostazioni che possono quindi essere ripristinate in caso di bisogno. Per effettuare il salvataggio eseguire il seguente comando:

> netsh interface ip dump > c:\rete.txt

In questo modo le impostazioni di rete vengono salvate nel file "c:\rete.txt", e possono essere richiamate per un ripristino tramite il comando:

> netsh -c "interface ip" -f c:\rete.txt

L’opzione -c "interface ip" serve per indicare a netsh che deve accettare i comandi contenuti nel file "c:\rete.txt" nel contesto "interface ip", mentre con l’opzione -f indichiamo il percorso del file in cui abbiamo salvato le impostazioni di rete. Dopo aver lanciato questo comando, le impostazioni del protocollo TCP/IP verranno riportate alla loro condizione originaria, cosa utile, come detto, in caso di problemi con la configurazione di rete.

Netshell è presente anche su Windows Vista, e da quel poco che ho potuto vedere ha alcune opzioni in più che non ho ancora provato.

No responses yet