Passa ai contenuti principali

Il mio server internet personale : perte 3 La visibilità

Torneremo poi singolarmente sui servizi, vediamo di capire ora, come faccio a raggiungere il mio server ?

se mi collego ad un router (telecom nel mio caso) il router assegna al mio pc un indirizzo del tipo 192.168.1.x che non è raggiungibile da internet, mentre il mio router apprende un indirizzo del tipo 87.15.23.120 (l'ip citato è inventato) dal provider a cui mi collego, che invece viene visto da internet. Ovvero è un indirizzo pubblico, mentre nella mia rete ho indirizzi privati (192.168.1.x).
I vari servizi utili che abbiamo visto in precedenza hanno un numero di porta su cui si mettono in ascolto, ed un protocollo (tcp) che è un altra informazione da conoscere oltre all'indirizzo ip.

Prendiamo il caso del web-server, l'apache ascolta di default sulla porta 80 tcp.

Usiamo questa informazione per fare il primo passo, ovvero se qualcuno interroga il nostro router, il nostro router deve girare la richiesta al nostro server.
cose necessarie 2:
il nostro server deve avere un indirizzo ip statico, non dinamico, poichè nel tempo la configurazione deve restare la stessa, quindi configuriamo l'interfaccia di rete per non richiedere un indirizzo ip dal server dhcp del router ma imposta un indirizzo ip statico.
Mi riservo di tornare in questo punto ed integrare i passaggi tecnici per cambiare il file di configurazione della rete in maniera testuale, ovvero da terminale.
In maniera grafica basta configurare la scheda di rete impostando i dati manualmente settando l'indirizzo ad esempio a 192.168.1.250. ( non dimenticatevi di riempire gli altri campi come subnet o server dns)
Ora andiamo nella pagina principale del router, troviamo "port forwarding" ed andiamo ad aggiungere la regola : tutte le interrogazioni che arrivano sulla porta 80 devono finire sulla porta 80 dell'indirizzo 192.168.1.250.
Ora abbiamo un server web pubblico ! ammesso che il nostro apache stia girando, chiunque metta nell'indirizzo del proprio browser il nostro ip pubblico es http://87.15.23.120 (l'ip citato è inventato) vedrà il contenuto delle nostre pagine che stanno sul nostro server.
Sembra ovvio chiedere si ok ma non posso andare in giro a dire 87.15.23.120 (l'ip citato è inventato) mi prenderanno per pazzo :). Ebbene quello che fa un server dns è convertire i numeri in nomi più umanamente accettabili.
Un server dns deve essere visibile, conosciuto ed affidabile, ed anche se avessimo un nostro dns abbiamo ancora un altro problema, l'indirizzo 87.15.23.120 (l'ip citato è inventato) spesso cambia ogni volta che si riavvia il router... allora... come facciamo ad avere un servizio gratuito fatto in casa ?
io ho usato dnsdynamic.org che mi sembrava semplice gratuito e veloce.
una volta iscritti e confermata l'iscrizione ( non mandano spam sulla posta ) si può scegliere il nome che vogliamo usare tra una serie abbastanza grande di domini primari..
scegliamo la voce di menù del sito manage ed aggiungiamo il nome che ci piace con l'estensione che ci piace es : tecnocchio.dnsd.info ne verifichiamo la disponibilità e salviamo.
Vi starete sicuramente chiedendo, ok per questa volta l'ip va bene, ma quando cambia chi lo cambia ?
sudo apt-get istall ddclient
in fase di installazione vi chiederà i parametri di configurazione, unica cosa che ho dovuto cambiare poi a mano perchè non mi era chiara è stata quando mi ha chiesto la scheda di rete, avevo messo eth0 ma non andava bene perchè assegnava 192.168.1.250, li ci vuole l'indirizzo ip pubblico che si ottiene tramite web quindi...
sudo nano -w /etc/ddclient.conf
editiamo la riga use:
 use=web, web=myip.dnsdynamic.com        # get ip from server.
come spiega qui : https://www.dnsdynamic.org/api.php

io fossi in voi romperei le scatole a qualche amico online e gli direi di aprire nel browser l'indirizzo tecnocchio.dnsd.info ovvero quello che avete scelto voi per vedere se il vostro server internet personale pubblico fatto in casa funziona!

Commenti

Post popolari in questo blog

linux : software raid con mdadm

Software raid di linux. Fake raid e le bizarrie del mondo moderno. Ovvero la storia di come tenere i propri dati al sicuro usando più dischi. Preambolo (potrebbe essere noioso...): Il bios di un server allo startUp mi fa vedere un controller raid, ed io come uno sciocco ci credo, tanto da pensare di usarlo per mettere i dati al sicuro. In effetti un raid di livello 1 permette di scrivere contemporaneamente su 2 dischi, quindi se uno cede, l'altro continua a funzionare, dandoti il tempo ed il modo di intervenire e permettendoti di non perdere i tuoi preziosi dati. ci sono altri livelli di raid ma si possono approfondire ovunque. Dicevamo, il server ha un controller raid ed io lo voglio usare, quindi accedo al controller con f8 configuro 2 drive logici, di cui il secondo è formato da 2 dischi, per un totale di 3 dischi fisici e 2 logici. Parte linux e vedo sempre i 3 dischi ... sda, sdb ed sdc... e qui vado in crisi...  Per fortuna c'ho un amico che mi illumina, si tr...

Eclipse e Subversion come funziona ?

Eclipse è uno splendido strumento di programmazione, ma un programmatore è un pò come lo scrittore di un libro, ha i suoi raptus di programmazione e vuole scrivere codice dal letto, dalla scrivania o addirittura consultarlo sul tablet mentre è concentrato comodamente sul bagno. Insomma il lampo di genio non va mai sprecato, quindi se abbiamo il nostro server internet con tanto di subversion, possiamo prendere le nostre installazioni di eclipse ( non lavoriamo sempre e solo da 1 pc ) e: dal menù " Help " scelgo la voce : Install new software aggiungo http://download.eclipse.org/technology/subversive/1.0/update-site/     seleziono tutto e procedo, mi viene chiesto di riavviare eclipse, una volta riavviato mi viene proposto un elenco di moduli svn, scelgo l'svn kit che mi sta più simpatico (la versione + recente) e procedo. Vecchio modo: http://subclipse.tigris.org/update_1.4.x   ( se volete sapere quale è l'ultima versione disponibile andate qui h tt...

simple port forwarding example

Immaginiamo di avere un firewall linux  e voler pubblicare un servizio di un server interno sulla rete, quindi vogliamo che ogni accesso al nostro indirizzo ip pubblico che riguarda la porta in oggetto sia rediretto sul nostro server interno. in pratica esponiamo un servizio sulla rete pubblica recuperandolo da una rete privata. Tutto questo si traduce in effetti in pochissime righe per iptables. Dati di partenza :  indirizzo ip del server interno esempio :     192.168.1.150 porta del servizio del server interno esempio : 8080 porta pubblica del servizio che vogliamo esporre : 80 creo un file in /root/forward.sh con la confgurazione di iptables #!/bin/sh echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/iptables -A PREROUTING -t nat -p tcp  --dport 80 -j DNAT --to 192.168.1.150:8080 /sbin/iptables -A FORWARD  -d 192.168.1.150 -p tcp --dport 80 -j ACCEPT /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE volendo aggiungo al crontab @reb...