Shaping a 2MB su eth0:

tc qdisc add dev eth0 root handle 1: htb

tc class add dev eth0 parent 1: classid 1:80 htb rate 2048Kbit prio 1

# FILTERS

tc filter add dev eth0 parent 1: prio 0 protocol ip handle 80 fw classid 1:80

# IPTABLES

iptables -I OUTPUT -o eth0 -p tcp –sport 80  -j MARK –set-mark 80

Per vedere le regole applicate:

tc -s class show parent 1: dev eth0

Cancellazione Regole:

tc qdisc del dev eth0 root handle 1:

Per limitare la banda su Linux (l’esempio qui è per Debian) con Apache, basta installare un modulo e configurarlo nel virtual host:

Installiamo il modulo:

# aptitude install libapache2-mod-bw
# a2enmod bw
# /etc/init.d/apache2 restart

Configuriamo il Virtual Host impostando il massimale e il minimo di banda consentiti:

BandwidthModule On
ForceBandWidthModule On
# MAX BW 10Mbit
Bandwidth all 10240000
# MIN BW 200kbit
MinBandwidth all 204800

Finito

Operazioni da fare sul server

Mettiamo a posto il Firewall:

# echo 1 >/proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o $EXTIP -j MASQUERADE
# iptables -A FORWARD -s 10.254.254.0/24 -j ACCEPT
# iptables -A FORWARD -d 10.254.254.0/24 -j ACCEPT
# iptables -A INPUT -p tcp –dport 1194 -j ACCEPT

Installazione:

# rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
# yum -y update
# yum -y install openvpn
# cd /etc/openvpn/
# cp /usr/share/doc/openvpn-2.2.0/sample-config-files/server.conf .
# mkdir -p /etc/openvpn/easy-rsa/keys
# cd /etc/openvpn/easy-rsa
# cp -rf /usr/share/doc/openvpn-2.2.0/easy-rsa/2.0/* .
# chmod o+x,g+x clean-all build-* vars pkitool whichopensslcnf inherit-inter list-crl revoke-full sign-req

configuriamo /etc/openvpn/easy-rsa/vars (utile per la creazione della CA e dei certificati per Server/clients)

export KEY_COUNTRY=”IT
export KEY_PROVINCE=”ZN
export KEY_CITY=”City
export KEY_ORG=”MyOrg
export KEY_EMAIL=”admin@server.com

creiamo CA, certificati per server e di 1 client

# . ./vars
# ./clean-all
# ./build-ca
# ./build-key-server $NAMESERVER
# ./build-dh
# ./build-key client1

Creiamo il file di config per il server: /etc/openvpn/server.conf

daemon
proto tcp-server
port 1194
mode server
tls-server
dev tun

server 10.254.254.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push “route 10.254.254.0 255.255.255.0″
push “redirect-gateway”
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
ca ca.crt
cert $NAMESERVER.crt
key $NAMESERVER.key
dh dh1024.pem
script-security 2
verb 4

Muoviamo le chiavi costruite

# cd keys/
# mv ca.* dh1024.pem $NAMESERVER.* /etc/openvpn/

Facciamo partire il demone sul server e poi ci dedichiamo al client

# service openvpn start

Operazioni da fare sul client (es. Ubuntu)

Copiamo le chiavi sul client:

# aptitude install openvpn
# scp root@$IPSERVER:/etc/openvpn/ca.crt /etc/openvpn/ca.crt
# scp root@$IPSERVER:/etc/openvpn/easy-rsa/keys/client1.crt /etc/openvpn/client.crt
# scp root@$IPSERVER:/etc/openvpn/easy-rsa/keys/client1.key /etc/openvpn/client.key

Creiamo il file di conf client.conf

vi /etc/openvpn/client.conf

pull
tls-client
dev tun
proto tcp-client
remote $IPSERVER 1194
resolv-retry infinite
nobind
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
;log-append openvpn.log
verb 4

Facciamo partire il client (attenzione al parametro config: davanti ci sono due trattini, WordPress li visualizza come uno solo)

# openvpn –config /etc/openvpn/client.conf

Se il ping al 10.254.254.1 dal client ha esito positivo il tunnel funziona.

premessa: le mie sono considerazioni empiriche, cercando di rimanere obiettivo e tenendo conto dell’ accellerata evoluzione che gli O.S. hanno avuto negli ultimi anni.

le ultime scelte di Canonical, la mamma di Ubuntu, hanno fatto storcere il naso a molte persone, me compreso.  l’adozione di Unity ad esempio è emblematica: puntare su una interfaccia grafica obiettivamente bruttina, piena di bug e per nulla innovativa sta facendo migrare gli utenti verso altri lidi. la scelta di far uscire 2 versioni all’anno di Ubuntu è quantomeno discutibile: le nuove releases dovrebbero uscire quando sono pronte e hanno delle novità serie da proporre agli utenti, non perchè è giunto il mese di aprile o ottobre.

capitolo GUI: il solito caos che regna da anni (questo è un discorso che vale per tutte le distribuzioni Linux): ci sono molte alternative: KDE, Gnome, Unity, XFCE, etc ma nessuna, a mio avviso, è davvero bella graficamente, veloce ed innovativa.  sono quasi tutte anacronistiche, erano accettabili 10 anni fa, non adesso ad un passo dal 2012; Mac OS X e persino Windows 7 sono sotto questo lato anni luce avanti. se solo si riuscisse ad unire gli sforzi e creare un’unica interfaccia veramente innovativa Linux potrebbe guadagnare moltissimi utenti, rubandoli a Windows.

capitolo bug: mi pare che i problemi negli ultimi anni siano aumentati drasticamente (sarà perchè hanno l’obbligo di far uscire le releases a tempo prestabilito e non riescono a testare per bene prima il tutto?): ho sempre e dico sempre, avuto problemi da risolvere ad ogni uscita, ad esempio la sospensione/ibernazione ad ogni release mi ha sempre creato problemi (ancora adesso per far funzionare la sospensione devo lanciare uno script che dà un ‘pm-suspend‘, altrimenti nel modo standard mi ritorna al desktop), per non parlare di tante piccole anomalie  con cui fare i conti ogni giorno.

segue screenshot del crash di ieri durante normale navigazione web e con interfaccia Unity + Docky:

capitolo lentezza: trovo che nelle ultime 2 versioni il sistema sia più lento, meno reattivo, avevo ed ho una configurazione in RAID 1 software con LVM e trovo che già per aprire un Text Editor vuoto da quando clicco sull’ icona a quando la finestra viene aperta, passano, a volte, n secondi con la macchina scarica: inaccettabile. ovviamente ho reinstallato più volte, sempre partendo da situazioni pulite (no upgrade) ma spesso la lentezza è incredibile.

in definitiva, penso che la strada presa da Canonical sia senza uscita, stanno andando verso un muro, dovrebbero invertire la rotta e prendere un’altra strada cercando di innovare veramente (potrebbero ad esempio concentrarsi nel creare una GUI nuova ed innovativa, risolvendo prima gli n problemi che il nudo sistema obiettivamente denuncia). mi viene da pensare che investano molto poco in termini di risorse umane ed economiche. facciamo il paragone con Android (comparazione che ci può stare in quanto è sempre un Linux), in pochi anni ha avuto uno sviluppo tale che lo ha portato a giocarsela alla pari (come interfaccia, funzionalità, velocità) con un mostro sacro come iPhone, che dominava incontrastato il mercato della telefonia. Linux ha molte potenzialità, questo è evidente, necessità però che qualcuno investa in maniera importante per farlo diventare davvero una alternativa succulenta ai due mostri commerciali Mac OS X e Windows 7, Canonical può farlo?

cos’era Ubuntu 7 anni fa?    un sistema operativo per quelli che volevano provare Linux

cos’era Ubuntu 4 anni fa?    un’ alternativa ancora un po’ difficile da usare per chi non voleva più usare Windows

cos’è Ubuntu oggi?                un sistema operativo che è diventato facile da usare rimanendo però quello di 7 anni fa

Se avete intenzione di calibrare il Vs. monitor, per poi utilizzarlo per fare grafica (o semplicemente per avere i settaggi colorimetrici perfetti), potete usare su Linux il software dispcalGUI abbinato al nuovo colorimetro X-Rite i1Display (versione retail), quest’ultimo è compatibile con software di terze parti come Calman o BasICColor versione 5 Beta. Il costo di X-Rite i1Display si aggira poco sopra i 200€ online.


top