Centos 7 Cluster PCS

Installo due VM in VirtualBox identiche (4C, 4Gb RAM, 32Gb HDD) con una versione minimale di Centos 7 aggiornata.

Aggiorno il kernel a 4.16 dal repository elrepo.

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel

Edito il file /etc/default/grub

GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

Ed eseguo per attivare la modifica precedente.

# grub2-mkconfig -o /boot/grub2/grub.cfg

Aggiungo qualche pacchetto.

# yum install epel-release.noarch
# yum update
# yum group install "Development Tools"
# yum install bzip2 net-tools psmisc nmap acpid unzip

Modifico /etc/hosts sui due nodi.

192.168.254.83  nodeA.netlite.it nodeA
192.168.254.84  nodeB.netlite.it nodeB

Installo i numerosi pacchetti necessari al cluster.

# yum install pcs fence-agents-all -y

Aggiungo le regole di firewalling.

# firewall-cmd --permanent --add-service=high-availability
# firewall-cmd --add-service=high-availability
# firewall-cmd --list-service
dhcpv6-client ssh high-availability

Modifico la password dell’utente hacluster.

# passwd hacluster
Changing password for user hacluster.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

Avvio i servizi.

# systemctl start pcsd.service
# systemctl enable pcsd.service

Autorizzo i nodi del cluster.

# pcs cluster auth nodeA.netlite.it nodeB.netlite.it
Username: hacluster
Password:
nodeA.netlite.it: Authorized
nodeB.netlite.it: Authorized

Inizializzo il cluster.

# pcs cluster setup --start --name ClusterTest nodeA.netlite.it                                                        nodeB.netlite.it
Destroying cluster on nodes: nodeA.netlite.it, nodeB.netlite.it...
nodeA.netlite.it: Stopping Cluster (pacemaker)...
nodeB.netlite.it: Stopping Cluster (pacemaker)...
nodeB.netlite.it: Successfully destroyed cluster
nodeA.netlite.it: Successfully destroyed cluster
Sending 'pacemaker_remote authkey' to 'nodeA.netlite.it', 'nodeB.netlite.it'
nodeA.netlite.it: successful distribution of the file 'pacemaker_remote authkey'
nodeB.netlite.it: successful distribution of the file 'pacemaker_remote authkey'
Sending cluster config files to the nodes...
nodeA.netlite.it: Succeeded
nodeB.netlite.it: Succeeded
Starting cluster on nodes: nodeA.netlite.it, nodeB.netlite.it...
nodeB.netlite.it: Starting Cluster...
nodeA.netlite.it: Starting Cluster...
Synchronizing pcsd certificates on nodes nodeA.netlite.it, nodeB.netlite.it...
nodeA.netlite.it: Success
nodeB.netlite.it: Success
Restarting pcsd on the nodes in order to reload the certificates...
nodeA.netlite.it: Success
nodeB.netlite.it: Success

Abilito il cluster.

# pcs cluster enable --all

Visualizzo lo stato.

# pcs cluster status
Cluster Status:
 Stack: corosync
 Current DC: nodeA.netlite.it (version 1.1.16-12.el7_4.8-94ff4df) - partition with quorum
 Last updated: Tue Apr  3 13:02:21 2018
 Last change: Tue Apr  3 13:00:43 2018 by hacluster via crmd on nodeA.netlite.it
 2 nodes configured
 0 resources configured
PCSD Status:
  nodeA.netlite.it: Online
  nodeB.netlite.it: Online

Status dettagliati.

# pcs status
Cluster name: ClusterTest
WARNING: no stonith devices and stonith-enabled is not false
Stack: corosync
Current DC: nodeA.netlite.it (version 1.1.16-12.el7_4.8-94ff4df) - partition with quorum
Last updated: Tue Apr  3 13:02:53 2018
Last change: Tue Apr  3 13:00:43 2018 by hacluster via crmd on nodeA.netlite.it
2 nodes configured
0 resources configured
Online: [ nodeA.netlite.it nodeB.netlite.it ]
No resources
Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled

Disabilito i device stonith (meglio non farlo ma per test è ok).

# pcs property set stonith-enabled=false
In caso sia necessario attivare i devices qui c’è un buon punto di partenza STONITH.

Configuro un FS.

# pcs resource create httpd_fs Filesystem device="/dev/mapper/vg_apache-lv_apache" directory="/var/www" fstype="ext4" --group apache

Configuro un VIP.

# pcs resource create httpd_vip IPaddr2 ip=192.168.12.100 cidr_netmask=24 --group apache

Configuro un servizio.

# firewall-cmd --add-service=http
# firewall-cmd --permanent --add-service=http
# pcs resource create httpd_ser apache configfile="/etc/httpd/conf/httpd.conf" statusurl="http://127.0.0.1/server-status" --group apache

Disabilita un nodo.

# pcs cluster stop nodeA.netlite.it

Comandi utili.

# pcs resource move apache nodeA.netlite.it
# pcs resource stop apache nodeB.netlite.it
# pcs resource disable apache nodeB.netlite.it
# pcs resource enable apache nodeB.netlite.it
# pcs resource restart apache

andrea

Avendo la necessità di configurare una VPN verso apparecchiature FORTINET abbiamo rilevato alcune criticità e le abbiamo risolte con questo semplice script.

#!/usr/bin/expect -f
set timeout -1
spawn ./forticlientsslvpn_cli --server vpn.xxxx.xx:10443 --vpnuser user
expect "Password for VPN:" {send -- "password\r"}
expect "to this server? (Y/N)\r" {send -- "y\r"}
expect eof

Oppure questo:

#!/usr/bin/expect -f
spawn ./forticlientsslvpn_cli --server : --vpnuser  2>&1
log_user 0
send_user "Logging in\n"
expect "Password for VPN:"
send "\n"
# i needed ths for 'certificate error'
expect "Would you like to connect to this server"
send "Y\n"
send_user "Beginning to connect\n"
expect "STATUS::Tunnel running"
send_user "Tunnel running!\n"
# this is how long the next expect waits for pattern match, in seconds
set timeout 90001
expect "STATUS::Tunnel closed"
send_user "Tunnel closed!\n"
send_user "Dying\n"
close
exit

Potrebbe essere necessario installare il ppp, expect e le librerie di compatibilità per eseguibili a 32 bit.

apt-get install ppp
apt-get install expect
apt-get install lib32stdc++6

Qui il LINK per scaricare il client.

Andrea

Linux e il RAID Software (Tips)

Questo script calcola i settaggi raccomandati per la creazione di filesystem ext2, etx3 e ext4 su device RAID.

RAID level
Number of physical disks
RAID chunk size (in KiB)
number of filesystem blocks (in KiB)

Speedtest Internet da console Linux

Test di velocità link Internet xDSL da console Linux

Spesso è utile valutare la velocità e la latenza di un link ad internet di un server Linux al quale non si ha accesso diretto tramite un desktop remoto. Tramite questo tool è possibile utilizzare l’infrastruttura geografica di Speedtest.net ed ottenere una valutazione oggettivamente valida.

# wget https://github.com/sivel/speedtest-cli/raw/master/speedtest.py --no-check-certificate
# chmod a+rx speedtest_cli.py
# ./speedtest_cli.py

Lo script in python si collega al nodo più prossimo ed effettua un test di upload, uno di download e riporta anche la latenza in millisecondi.

root@farm ~ # ./speedtest_cli.py
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Hetzner Online AG (XX.XX.XX.XX)...
Selecting best server based on ping...
Hosted by Vodafone DE (Frankfurt) [100.73 km]: 6.358 ms
Testing download speed........................................
Download: 87.87 Mbit/s Testing upload speed..................................................
Upload: 66.08 Mbit/s

E’ possibile condividere il test aggiungendo –share al comando e si ottiene questo:

Speedtest CLI linux

Andrea Gagliardi – netlite.it

PROXMOX tips venet e /usr/portage

Tips per la personalizzazione di contenitori (CT) PROXMOX

Mount automatico di /usr/portage

Utilizzando Gentoo come distribuzione Linux all’interno dei contenitori OpenVZ può essere utile condividere tra i contenitori la /usr/portage/ in modo da poter sincronizzarla tramite la macchina host e ridurre drasticamente l’occupazione di spazio disco.
Per ottenere questo è possibile far svolgere queste operazioni ad ogni boot della VM creando o modificando tramite shell ed editor di testo lo script {VMID}.mount nella stessa directory dove è presente il file {VMID}.conf.
Spostiamoci quindi nella directory:

 cd /etc/pve/nodes/$(hostname -s)/openvz/ 

E creiamo (o modifichiamo) il file:

 vim {VMID}.mount 

Inserendo queste righe di codice:

#!/bin/bash
. /etc/vz/vz.conf
. ${VE_CONFFILE}
SRC=/var/lib/vz/portage
DST=/usr/portage
if [ ! -e ${VE_ROOT}${DST} ]; then
        mkdir -p ${VE_ROOT}${DST};
fi
mount -n -t simfs ${SRC} ${VE_ROOT}${DST} -o ${SRC}

Lo script è molto comprensibile e non contiene alcun riferimento alla singola macchina virtuale per cui è possibile copiarlo per ogni macchina Gentoo ospitata.
Al termine è necessario cambiare i diritti di esecuzione:

 chmod 700 {VMID}.mount 

Nel caso, ad esempio, di volere mantenere lo storage ed il sistema su supporto diversi per questioni di spazio o performance può essere utile aggiungere allo script il mount anche di questi mountpoint:

#!/bin/bash
. /etc/vz/vz.conf
. ${VE_CONFFILE}
SRC=/var/lib/vz/portage
DST=/usr/portage
if [ ! -e ${VE_ROOT}${DST} ]; then
        mkdir -p ${VE_ROOT}${DST};
fi
mount -n -t simfs ${SRC} ${VE_ROOT}${DST} -o ${SRC}
SRC=/storage/${VEID}/home
DST=/home
if [ ! -e ${VE_ROOT}${DST} ]; then
       mkdir -p ${VE_ROOT}${DST};
fi
mount -n -t simfs ${SRC} ${VE_ROOT}${DST} -o ${SRC}

Qusto permette di avere la home di ogni contenitore su di uno storage separato.
Utilizzo questo sistema, ad esempio, per avere lo storage su di un filesystem ZFS con compressione realtime attiva.

Utilizzo delle interfaccie veth al posto di venet

Può essere necessario utilizzare caratteristiche di rete che le interfaccie venet non forniscono (ad esempio ARP) QUI.
Seguendo quindi la guida QUI, dopo aver configurato tramite l’interfaccia web di PROXMOX la nuova scheda di rete questa risulta correttamente aggiunta al bridge di rete ma la VM può risultare isolata.

#!/bin/bash
. /etc/vz/vz.conf
. ${VE_CONFFILE}
SRC=/var/lib/vz/portage
DST=/usr/portage
if [ ! -e ${VE_ROOT}${DST} ]; then
        mkdir -p ${VE_ROOT}${DST};
fi
mount -n -t simfs ${SRC} ${VE_ROOT}${DST} -o ${SRC}
SRC=/storage/${VEID}/home
DST=/home
if [ ! -e ${VE_ROOT}${DST} ]; then
       mkdir -p ${VE_ROOT}${DST};
fi
mount -n -t simfs ${SRC} ${VE_ROOT}${DST} -o ${SRC}
IP="XX.XX.XX.XX"
/sbin/ip route del $IP dev vmbr0 2>/dev/null
/sbin/ip route add $IP dev vmbr0 2>/dev/null

Alla fine dello script si nota la rimozione e l’aggiunta di una rotta verso il bridge che ospita la VM con l’indirizzo XX.XX.XX.XX.
Lo script purtroppo contiene una configurazione specifica per cui è necessario modificarlo per utilizzarlo per altre VM.

Esecuzione comandi all’interno di un Contenitore (CT) OpenVZ

Per eseguire comandi in un contenitore OpenVZ è possibile utilizzare il comando:

# vzctl exec 103 /etc/init.d/sshd status
openssh-daemon is stopped
# vzctl exec 103 /etc/init.d/sshd start
Starting sshd: [  OK  ]

Andrea Gagliardi – netlite.it

Emerge spesso la necessità di clonare una macchina Windows esistente su hardware fisico, per utilizzarla poi come macchina virtuale su Debian PROXMOX.

Qui di seguito indicherò la procedura da noi adottata per clonare un Windows 2003 Server on the fly utilizzando CLONEZILLA.

On the fly intendo senza alcuna necessità di creare immagini su dischi esterni, ma direttamente sul disco remoto virtuale precedentemente configurato su PROXMOX.

Operazioni Preliminari:

  1.  Installare sulla macchina windows esistente mergeide.reg , permette di abilitare i driver standard IDE su macchine del tipo winxp/win2003, il file è scaricabile dal seguente link mergeide.
  2. Scaricare la iso di CloneZilla e realizzare un cdrom/DVD.
  3. Preparare utilizzando l’interfaccia PROXMOX una macchina VM definita TARGET definendo un disco di dimensione >= al disco origine presente sul server Windows 2003 (con almeno 1Gb in eccesso rispetto all’originale).
  4. Assicurarsi di aver caricato sullo Storage PROXMOX la iso virtio-win.iso per l’installazione dei driver necessari alla macchina Windows una volta clonata (rete, disco) e la iso precedentemente scaricata di CloneZilla.

A questo punto è possibile procedere come descritto di seguito.

Inserire il cd di clonezilla nel lettore della macchina fisica da clonare che chiameremo SOURCE. Riavviare la macchina e se server configurare il bios per fare il boot da lettore cdrom.

Da interfaccia CloneZilla presente sulla macchina SOURCE selezionare l’opzione “disk_to_remote_disk” (copia disco da rete).

018

 

Procedere oltre e scegliere

se presente di configurare la rete tramite dhcp o manualmente (static). Nel nostro caso essendo Windows 2003 un dhcp server abbiamo scelto static inserendo l’ip a mano.

019

Passo successivo selezionare il disco da copiare come SOURCE.

 

0201

A questo punto dopo alcuni altri passi di semplice comprensione la macchina source sarà pronta

per il trasferimento del disco via rete alla macchina TARGET.

022

Macchina TARGET (precedentemente configurata tramite interfaccia PROXMOX)

Selezionare tramite interfaccia PROXMOX il boot della macchina TARGET da iso di clonezilla. Premere start e iniziare la configurazione da interfaccia Clonezilla

Entrare in modalità shell di ConeZilla.

021

Eseguire i seguenti comandi nell’ordine indicato :

  1. sudo su
  2. fdisk /dev/sda (assicurarsi che il disco della macchina TARGET sia sda o simile) , uscire da fdisk digitando il comando ‘w’.

Sempre da shell di CloneZilla Eseguire

  1. ocs-live-netcfg
  2. ocs-onthefly -s IPSOURCE -t sda (IPSOURCE = indirizzo ip macchina source)

A questo punto inizierà la copia del disco.

Apparirà una finestra che indica il tempo stimato e le partizioni da copiare (copiare anche la partizione di boot di windows).

024

Una volta finito il processo, basterà toglire da proxmox il boot da iso di clonezilla ed avviare la macchina clonata con Start.

Una volta avviata sarà, come indicato nei preliminari, necessario installare i driver di rete virt0 o intel e1000 (consigliata in questo ultimo caso l’installazione direttamente

usando i driver scaricati dal sito Intel).

Sarà necessario riattivare la licenza di Windows 2003 server e inserire o verificare i parametri di rete della macchina TARGET.

La macchina source potrà essere spenta dopo aver verificato il corretto funzionamento della macchina TARGET.

Avendo più interfacce di rete disponibili ed utilizzando switch dotati di link aggregation è possibile unire le interfacce in un bond sul quale appoggiare il bridge.

Questo deve essere configurato manualmente in quanto l’interfaccia web di proxmox non prevede questo utilizzo.

/etc/network/interfaces

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
        bond-master bond0
        mtu 9000
auto eth1
iface eth1 inet manual
        bond-master bond0
        mtu 9000
auto bond0
iface bond0 inet manual
        mtu 9000
        bond-mode 802.3ad
        bond-miimon 100
        bond-slaves none
        bond-lacp-rate 4
auto vmbr0
iface vmbr0 inet static
        mtu 9000
        address  192.168.1.1
        netmask  255.255.255.0
        network  192.168.1.0
        bridge_ports bond0
        bridge_stp off
        bridge_fd 0
        post-up route add -net 10.1.1.0 netmask 255.255.255.0 gw 192.168.2.254
        pre-down route del -net 10.1.1.0 netmask 255.255.255.0 gw 192.168.2.254

Il traffico di rete si distribuirà in modo automatico (e non bilanciato) sulle due interfacce aumentando sensibilmente la banda di rete utilizzata.

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:26:55:ec:ef:b6
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:82172110 errors:0 dropped:0 overruns:0 frame:0
          TX packets:366333813 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:32549246640 (30.3 GiB)  TX bytes:1142227109649 (1.0 TiB)
          Interrupt:24 Memory:feb80000-feba0000
# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:26:55:ec:ef:b6
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:543001774 errors:0 dropped:0 overruns:0 frame:0
          TX packets:366337469 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:237725677253 (221.3 GiB)  TX bytes:469115298143 (436.8 GiB)

Andrea – Netlite.it

BASH Tips

Cancellare un file da VIM, mi capita spesso di salvare un file con il nome ù che poi è difficile cancellare da console:

:!rm %

Pacchetti installati (non come dipendenze) in ubuntu/debian:

aptitude search '~i!~M' -F '%p'

Sostituzione delle URL con _url_ utile per anonimizzare i log ad esempio in vim

s/[\w \W \s]*http[s]*[a-zA-Z0-9 : \. \/ ; % " \W]*/ _url_ /g
s!http[s]\?://\S*!!g

Sostituzione degli IP con X.X.X.X utile per anonimizzare i log ad esempio in vim

s/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/X.X.X.X/g

Per forzare il controllo di una partizione RAID Linux

echo check > /sys/block/mdX/md/sync_action
Per forzare la ricostruzione di una partizione RAID Linux
echo repair > /sys/block/mdX/md/sync_action

Andrea – Netlite.it

Reverse Proxy

Configurazione tipo per un reverse proxy SSL basato su Gentoo Linux e apache2

TimeOut 30
SetOutputFilter DEFLATE
AddOutputFilterByType INCLUDES application/pdf
AddEncoding x-gzip .gz
AddType application/x-javascript .gz
AddType application/javascript .gz
BrowserMatch Firefox/1\.0\.[0-9] no-gzip
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch "MSIE 6" no-gzip gzip-only-text/html
SetEnvIfNoCase Request_URI \.(gif|jpg|jpeg|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(htm|html|js|jsp|asp|php|do)$ !no-gzip
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(gif|jpg|jpeg|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(htm|html|js|jsp|asp|php|do)$ !no-gzip
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
#SetEnvIfNoCase Request_URI \.* no-gzip dont-vary
#SetEnvIfNoCase Request_URI \.jsp$ !no-gzip !dont-vary
#SetEnvIfNoCase Request_URI \.htm$ !no-gzip !dont-vary
#SetEnvIfNoCase Request_URI \.html$ !no-gzip !dont-vary
#SetEnvIfNoCase Request_URI \.asp$ !no-gzip !dont-vary
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
DeflateWindowSize 15
DeflateMemLevel 9
DeflateCompressionLevel 9
ServerName nome_server
LoadModule proxy_module modules/mod_proxy.so
LoadModule ssl_module modules/mod_ssl.so
SetEnvIf User-Agent ".*MSIE.*" ssl-unclean-shutdown
SSLSessionCache shm:/var/cache/apache2/ssl_scache(4096000)
SSLSessionCacheTimeout 600
LogLevel error
ErrorLog /var/log/apache2/ssl_error_log
Listen 80
Options -All -Multiviews
AllowOverride None
Order allow,deny
Allow from all
DocumentRoot /home/domini-web/locale/www
# ServerName nome_server
# ServerAlias alias_server
DirectoryIndex index.shtml index.php index.php3 index.html
ScriptAlias /cgi-bin/ /home/domini-web/locale/cgi-bin/
CustomLog /var/log/apache2/access_log combined
AddHandler server-parsed shtml
Options +Includes
Options -Indexes -All -Multiviews +Includes
AllowOverride None
Order allow,deny
Allow from all
Include /etc/apache2/conf/*.conf

/etc/apache2/conf/server_A.conf

Listen 400
#
RewriteEngine on
#RewriteCond %{REQUEST_URI} !^/galileo/public/
#RewriteCond %{REQUEST_URI} !^/galileo/
#RewriteRule / /galileo/public/menu.faces [R,L]
# direttive proxypass ------------------------------------------
ProxyPass / http://X.X.X.X:8888/ retry=0 ttl=120 timeout=120
ProxyPassReverse / http://X.X.X.X:8888/
# autenticazione server ------------------------------------------
SSLEngine On
#128bit
SSLCipherSuite RC4-SHA:RC4-MD5:HIGH:MEDIUM:!ADH:!DSS:!SSLv2:+3DES
SSLHonorCipherOrder on
# 40 bit
#SSLCipherSuite ALL:!ADH:!EXPORT56:!EXPORT40:!SSLv2:!LOW
SSLCertificateFile /etc/apache2/ssl/server.crt
#SSLCertificateChainFile /etc/apache2/ssl/cert-new.verisign.pem
#SSLCertificateChainFile /etc/apache2/ssl/cert.verisign.pem
SSLCertificateChainFile /etc/apache2/ssl/intermediate_good.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.nopassword.key
# autenticazione client ------------------------------------------
# accesso permesso solo in presenza di comunicazione almeno a 128bit
ErrorDocument 403 http://www.tuo_sito.it/
ErrorDocument 404 http://www.tuo_sito.it/
#SSLCACertificateFile /etc/apache2/ssl/client/CAcert.chain
#SSLCARevocationFile /etc/apache2/ssl/crl.pem
#SSLVerifyClient none
#SSLVerifyDepth 10
#SSLOptions +StdEnvVars
 
ServerName www.tuo_sito.it
#ServerAlias Y.Y.Y.Y
ProxyRequests on
ProxyVia on
AddOutputFilterByType SUBSTITUTE text/html
#Eventuale sostituzione del testo proxato
#Substitute "s|test_da_sostituire|vuoto|i"
# eventuale log verso syslog esterno
#CustomLog "|/usr/bin/logger -t reverseproxy -n syslog " combined
 

 

Ulteriori personalizzazioni possono essere inserite riguardi a questi tre moduli:

mod_evasive

mod_cband

mod_security

Per conto di Azalea Cooperativa Sociale, data la peculiarità dell’attività svolta e data la necessità di rinnovare il parco macchine esistente, abbiamo valutato la possibilità di migrare l’intero parco macchine aziendale verso soluzioni GNU/Linux.

Abbiamo scelto LTSP su Ubuntu per l’implementazione in server virtualizzati.

Grazie all’acquisto presso il Banco Informatico di 40 PC ricondizionati IBM Think Centre A52 con Pentium4, e 512Mb di RAM, Monitor 15″, Hard disk 40Gb  e Licenza Windows XP Pro.

Untitled-7

E’ stato possibile uniformare la dotazione software aziendale standardizzandola con Ubuntu 12.04 LTSP, Libreoffice, Browser Firefox, etc.

Un unico server Ubuntu, virtualizzato, è adibito alla gestione dell’intero parco utenti mentre per l’autenticazione è stato usato il Dominio Windows 2003 esistente.

Sullo stesso server sono stati installati i software necessari alla gestione delle stampe di numerose multifunzione Samsung. Il software gira nativamente in ambiente Linux e gestisce l’accaounting.

Ora gran parte degli utenti opera in ambiente uniforme, i dati sono memorizzati su due NAS in join al dominio uni dei quali tramite il filesystem ZFS permette la compressione in realtime dei files permettendo grandi economie di spazio occupato.

Le sessioni utente sono utilizzabili in rete locale ed in rete geografica su VPN tramite l’utilizzo della compressione NX per cui anche dalle sedi remote della Cooperativa è possibile utilizzare il proprio desktop, lo storage e le stampanti della sede.

LINK al progetto sul sito LTSP.org

azalea-netlite-screenshot-1