11.9 Host Virtuali

Un uso piuttosto comune di FreeBSD è come hosting di siti virtuali, dove un solo server appare alla rete come molti server distinti. Ciò viene effettuato assegnando indirizzi di rete multipli ad una sola interfaccia.

Una data interfaccia di rete ha un solo indirizzo “reale”, e può avere un numero qualsiasi di indirizzi “alias”. Questi alias vengono normalmente aggiunti mettendo dei campi alias in /etc/rc.conf.

Un campo alias per l'interfaccia fxp0 appare così:

ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"

Nota che il campo alias deve iniziare con alias0 e aumentare in ordine, (ad esempio, _alias1, _alias2, e così via). Il processo di configurazione si fermerà al primo numero mancante.

Il calcolo delle maschere di sotto-rete degli alias è importante, ma, fortunatamente, è anche abbastanza semplice. Per una data interfaccia, deve esserci un indirizzo che rappresenta correttamente la maschera di sotto-rete. Ogni altro indirizzo che ricada in questa rete deve avere una maschera di sotto-rete con tutti 1 (espressi come 255.255.255.255 o 0xffffffff).

Ad esempio, considera il caso in cui l'interfaccia fxp0 sia connessa a due reti, la rete 10.1.1.0 con maschera di sotto-rete 255.255.255.0 e la rete 202.0.75.16 con maschera di sotto-rete 255.255.255.240. Vogliamo che il sistema sia visibile come 10.1.1.1 fino a 10.1.1.5 e come 202.0.75.17 fino a 202.0.75.20. Come notato sopra, solo il primo indirizzo in un dato range di sotto-rete (in questo caso, 10.0.1.1 e 202.0.75.17) dovrebbe avere una vera netmask; tutto il resto ( 10.1.1.2 fino a 10.1.1.5 e 202.0.75.18 fino a 202.0.75.20) dovrebbe essere configurato con una netmask di 255.255.255.255.

Le seguenti righe configurano il dispositivo correttamente per questo scopo:

 ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0"
 ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255"
 ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255"
 ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255"
 ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255"
 ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240"
 ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255"
 ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255"
 ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.