Archivio

Posts Tagged ‘network’

Pulire la cache DNS di Windows

Talvolta in Windows capita che alcuni siti non siano raggiungibili. Se la rete internet funziona correttamente, ad esempio perché gli la maggior parte dei siti funziona senza problemi, può essere un problema di cache. La prima operazione da compiere è certamente quella di pulire la cache del browser, tuttavia la cosa può non essere utile alla risoluzione del problema, in particolare tale operazione è inutile se il problema si manifesta con applicazioni differenti. In questi casi può risultare utile pulire la cache del DNS.

Quando un’applicazione, web browser o altro, cerca di collegarsi ad internet attraverso un nome simbolico, ad esempio freeehowto.wordpress.com, il sistema operativo si collega ad un apposito server, chiamato DNS (Domain Name Server), che permette di tradurre il nome simbolico nel corrispettivo indirizzo IP numerico. Windows, per ottimizzare il traffico di rete, tiene in una cache interna le associazioni nome simbolico indirizzo IP più frequentemente utilizzate. Talvolta capita che questa cache non venga correttamente gestita e renda non più raggiungibile un particolare sito internet attraverso il nome simbolico (normalmente si usa sempre il nome simbolico, quasi mai l’indirizzo IP numerico).

In questi casi è utile ripulire la cache DNS di windows. Per farlo è necessario aprire una finestra comandi in modalità Administrator e quindi dare il comando:

 
ipconfig /flushdns

La risposta ottenuta dovrebbe essere del tipo

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

Come impostare una rete “Non identificata” a “Pubblica” o “Privata” in Windows 7

Talvolta Windows 7 non è in grado di identificare una rete per problemi alla rete o comunque per mancanza di sufficienti informazioni, in questo caso la rete viene impostata come non identificata (unidentified network). Quando Windows 7 identifica una rete ne imposta anche il tipo, pubblica o privata, dal quale dipendono anche le impostazioni del firewall, di default le reti non identificate vengono impostate come pubbliche con le conseguenti limitazioni più restrittive del firewall. Di seguito mostrerò come cambiare questa impostazione di default.
Per effettuare la procedura di seguito descritta è necessario avere i privilegi di amministrazione.

Come prima cosa si deve aprire il “Local Security Policy Editor” dando il comando secpol.msc o da una finestra comandi (finestra DOS) o dalla finestra di avvio programmi raggiungibile con i tasti Windows+R. Per completezza il percorso completo del file è C:\Windows\System32\secpol.msc. In alternativa si può raggiungere il “Local Security Policy Editor” dal pannello di controllo\Strumenti di Amministrazione.

LocalSecurityPolicyEditor

Raggiunto il Local Security Policy Editor si deve andare nel pannello di sinistra e fare click sulla voce “Network List Manager Policies” per selezionarla. Successivamente nel pannello di destra si deve fare doppio click su “Unidentified Network” per aprire la finestra da dove si possono effettuare le impostazioni volute.

UnidentifiedNetworkProperties

In questa finestra, nel riquadro “Location Type” si può decidere se le reti non identificate del nostro PC appariranno come pubbliche o private. Nel riquadro “User Permission” si può decidere se lasciare all’utente la possibilità di rinominare la rete o di cambiare la sua posizione in pubblica o privata.

IP Aliasing in Gentoo Linux

IP Aliasing: ovvero come avere più di un indirizzo IP sulla stessa porta fisica di rete. In linux questo è piuttosto semplice, la spiegazione di seguito riguarderà una distribuzione Gentoo.

Per aggiungere un indirizzo IP ad una porta fisica in modo live, senza scriverlo in alcuna configurazione basta dare il comando:

ifconfig eth0:1 192.168.0.3 broadcast 192.168.0.255 netmask 255.255.255.0

Naturalmente possiamo aggiungere anche più di un indirizzo aggiuntivo, è sufficiente incrementare il numerino dopo il nome della porta di rete. Al reboot successivo tale indirizzo aggiuntivo viene perso

Se si vuole rendere permanente tale configurazione si deve inserire la modifica nel file /etc/conf.d/net. Ci sono due possibili metodi, il primo consiste nel definire un interfaccia nel modo standard e poi aggiungere una riga contenente un array di alias con le relative righe di array di broadcast e netmask, come nel seguente esempio:

iface_eth0="192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"
gateway="eth0/192.168.0.1"

alias_eth0=("192.168.0.3", "192.168.0.4", "192.168.0.5")
broadcast_eth0=("192.168.0.255", "192.168.0.255", "192.168.0.255")
netmask_eth0=("255.255.255.0", "255.255.255.0", "255.255.255.0")

Un secondo metodo, preferibile con i kernel più recenti, è di definire un array di indirizzi completi di broadcast e netmask

config_eth0=(
        "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
        "192.168.0.3 netmask 255.255.255.0 brd 192.168.0.255"
        "192.168.0.4 netmask 255.255.255.0 brd 192.168.0.255"
        "192.168.0.5 netmask 255.255.255.0 brd 192.168.0.255"
)
routes_eth0=( "default gw 192.168.0.1" )

Contratti Alice Business e IP fisso

12/06/2012 6 commenti

Telecom Italia, nella sua linea di prodotti Alice Business per le aziende, vende un contratto ADSL con indirizzo IP statico fornendo in comodato d’uso gratuito il modem/router.
I problemi con questo tipo di contratto nascono quando si vuole utilizzare un router diverso da quello fornito dalla Telecom: l’indirizzo, con un router diverso, non era più statico ma veniva assegnato dinamicamente ad ogni riconnessione. Nel mio caso particolare si trattava di un FritzBox 7390, dispositivo che può vantare notevoli funzionalità in più rispetto al più semplice router di Telecom.
Le centrali telecom assegnano l’indirizzo IP in base ai parametri di autenticazione; sebbene lo user e la password standard aliceadsl permettano la connessione ADSL, non permettono di mantenere l’indirizzo IP statico.
Per poter mantenere l’IP statico si deve procedere nel seguente modo: come primo passo collegare il modem/router telecom, aspettare che instauri la connessione e verificare alla nostra linea sia stato assegnato l’indirizzo IP voluto. Successivamente collegare il router desiderato avendo cura di inserire nei parametri di autenticazione i seguenti valori:

  • Username: macaddress-0013C8-t@alicebiz.it
  • Password: alicenewag

Dove macaddress è il MAC Address del router di Telecom.

Ad esempiose il MAC Address del router telecom in nostro possesso è 30-39-F2-11-22-33 lo username da inserire diventa: 3039F2112233-0013C8-t@alicebiz.it

Creazione di una VPN tra Windows Server 2008 e Seven

13/04/2012 2 commenti

Sovente capita di essere fuori ufficio e di dover accedere, con il proprio portatile o con il computer di casa, alle risorse presenti sulla rete dell’ufficio stesso. Nulla di meglio per assolvere a questo compito che una VPN.
Una VPN (Virtual Private Network) è una connessione che sfrutta la rete internet ed un particolare protocollo per far operare il computer remoto (quasi) come se fosse fisicamente presente sulla rete locale.
Per fare ciò Windows mette a disposizione degli strumenti potenti e semplici da configurare. Nell’ipotesi di questo esempio il server VPN nella rete locale viene svolto da un PC con Windows Server 2008 (ma ben poco cambierebbe con Windows 7) mentre il client remoto è una macchina Windows 7.

La configurazione del server

Apriamo il Pannello di controllo, andiamo su Centro connessioni di rete e condivisione, andiamo in Modifica impostazione scheda accedimo al menu con il tasti Alt+F e, dal menu File che si è aperto, selezioniamo Nuova connessione in ingresso.
A questo punto si apre una finestra che ci chiede quali utenti possono effettuare la connessione, selezioniamo gli utenti al quale vogliamo dare l’accesso da remoto, eventualmente configurandone dei nuovi.
Proseguendo con il tasto Avanti, la finestra successiva ci chiede tramite quali canali gli utenti remoti possono connettersi: selezioniamo la voce Tramite internet.
Proseguiamo con il tasto Avanti ed il sistema ci propone la finestra di configurazione dei protocolli. Il default ci propone TCP/IPv4 attivo configurato completamente in DHCP e TCP/IPv6 disattivo; modifichiamo queste impostazioni a seconda delle esigenze (le impostazioni di default vanno generalmente più che bene ma richiedono un server DHCP in grado di assegnare gli indirizzi all’interno della sottorete locale).
Facendo click sul pulsante Consenti Accesso la configurazione della parte server è terminata.

Configurazione del Router/Firewall

Il protocollo utilizzato da queto tipo di VPN è il PPTP che utilizza come standard la porta 1723 del protocollo TCP. Per rendere accessibile il server VPN è necessario impostare di conseguenza il firewall/router con le dovute regole di NAT; ricordando che la porta deve essere sempre la 1723 sia sull’indirizzo IP pubblico sia sull’indirizzo IP della sottorete interna.

Configurazione del client

Apriamo il Pannello di controllo, andiamo su Centro connessioni di rete e condivisione e selezioniamo Configura nuova connessione o rete.
Nella finestra che si apre selezioniamo Connessione a una rete aziendale e proseguiamo con il tasto Avanti
Selezioniamo Usa connessione internet esistente (VPN). Nella finestra che segue inseriamo l’indirizzo IP con il quale raggiungere il server VPN ed il nome (a paicere) della connessione. Proseguendo terminiamo la configurazione inserendo username e password dell’utente che vogliamo utilizzare per conneterci.
Per utilizzare/riutilizzare la connessione così creata si dovra andare in Pannello di controllo, Centro connessioni di rete e condivisione e selezionare Connessione a una rete e quindi selezionare la rete VPN tra le varie eventualmente disponibili.

Trovare tutti gli indirizzi IP del proprio PC in C#

02/12/2011 1 commento

Nello sviluppare un programma C# che deve comunicare in rete, talvolta si rende necessario conoscere quale indirizzo IP ha il computer sul quale viene eseguito il programma. Per effettuare questa operazione viene in aiuto la classe del .NET Framework System.Net.Dns

Come prima cosa è necessario recuperare il nome dell’host sul quale è in esecuzione il programma con l’istruzione:

String strHostName = Dns.GetHostName();

successivamente è possibile trovare tutti gli indirizzi IP associati all’hostname così trovato con la seguente funzione:

IPAddress[] iphostentry = Dns.GetHostAddresses(strHostName);

Di seguito un esempio completo di listato che mostra l’hostname del computer sul quale è attivo il programma e tutti gli indirizzi IP associati.

using System.Net;
:
:
:
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            String strHostName = Dns.GetHostName();
            MessageBox.Show(strHostName);
            IPAddress[] iphostentry = Dns.GetHostAddresses(strHostName);
            foreach (IPAddress ip in iphostentry)
            {
                MessageBox.Show(ip.ToString());
            }
        }

Cattura di pacchetti di rete su un PC remoto con Wireshark

19/10/2011 4 commenti

A chi lavora sulle reti dati capita sovente di dover utilizzare degli analizzatori di protocollo di rete per capire quali pacchetti stiano passando su un determinato tratto di rete. Uno dei migliori analizzatori di protocollo è probabilmente Wireshark: ricco di funzionalità, multipiattaforma e open source.
Talvolta puo succedere di dover analizzare il traffico di rete di un computer remoto sul quale non è installato un analizzatore di rete o sul quale non possiamo accedere all’interfaccia grafica. Tramite Wireshark e la utility rpcapd.exe (in Windows è parte del pacchetto WinPcap) è possibile monitorare la rete di un PC remoto, magari con Linux, su quale è richiesta la sola attivazione della utility a linea di comando rpcapd.exe da un PC locale sul quale c’è un’installazione completa di Wireshark.

Per iniziare è necessario avviare l’utility rpcapd.exe sulla macchina da analizzare con il comando:

rpcapd.exe -n -l 192.168.1.2

lo switch -n permette la connessione senza autenticazione mentre lo switch -l 192.168.1.2 autorizza la connessione solo all’host indicato a seguire (nell’esempio 192.168.1.2), lo switch -l non è obbligatorio ma consigliato per ragioni di sicurezza.
Sul PC locale, dopo aver avviato Wireshark si deve andare nel menu Capture/Options... (ctrl+k) nella finestra di dialogo che compare selezionare Interface: Remote...

nella finestra che che appare impostare nel campo Host l’indirizzo ip della macchina remota (quella su cui è stato avviato rpcapd.exe) e nel campo Port la porta al quale Wireshark deve connettersi, se non è stata specificata diversamente con gli switch di rpcapd.exe la porta di default è la 2002.

A questo punto nella finestra delle Capture Options dovrebbero comparire la lista delle interfacce disponibili sulla macchina remota.

Versioni più datate di Wireshark o di rpcapd.exe potrebbero non permettere la selezione delle interfacce remote; in questo caso nella listbox Interface si deve selezionare Local e nella textbox accanto indicare manualmente host ed interfaccia da analizzare con la sintassi:

rpcap://192.168.1.1:2002/eth0

Note:

  • Tanto sotto Windows quanto sotto Linux rpcapd.exe va eseguito con privilegi di amministratore (utente root per macchine Unix)
  • Una copia precompilata di rpcapd.exe per Linux 386 è scaricabila da qui: rpcapd.gz