Feb 12

eBox – servidor, gateway i d’altres funcionalitats avançades per PIMES

Reading time: 6 – 10 minutes

ebox-logo.pngL’any 2.006 vaig descobrir eBox, fins hi tot vaig escriure un article que parlava d’ell. Doncs a arrel del article que vaig escriure fa unes setmanes sobre clearOS l’Oriol em va fer pensar altre cop amb l’eBox preguntant-me què tal estava. Doncs bé, la curiositat em va picar i el dilluns el vaig instal·lar en una màquina virtual.

Així doncs a estones durant tota la setmana he estat jugant una mica amb l’eina. En linies generals he de dir que ha millorat moltíssim des de que el vaig descobrir i que integra un munt de funcionalitats noves. La usabilitat continua sent un punt fort de l’eina i també la facilitat d’ús. Jo diria que qualsevol administrador de sistemes de linux en té prou amb uns pocs minuts per sentir-se molt còmode usant l’eina.

Per altre banda no vull deixar de destacar que com a backend per la gestió d’usuaris per tots els serveis que té usa LDAP, cosa que m’ha agradat moltíssim. O sigui, que tenim un postfix, squid, dovecot, asterisk, jabberd2, openvpn, etc. De fet, només això en si mateix ja és un bon motiu per tenir-lo instal·lat en algún racó ja que sempre ens pot anar bé per consultar alguna configuració. A més de poder tenir un esquema d’usuaris per LDAP que podem reaprofitar per integrar en la xarxa de servidors o de desktops. Ja sigui per integrar en el PAM dels linux i/o en l’autenticació dels windows ja que el podem fer treballar com a PDC.

Com ja em va passar amb clearOS, potser el més dolent és que es troben a faltar algunes opcions de configuració que al dissenyar una interficie gràfica simple han hagut d’estalviar-se. Malgrat això l’openVPN disposa de moltes més funcions que no pas el clearOS, a més de la possibilitat d’omplir un camp on podem posar els nostres parametres a mida directament contra el fitxer de configuració. El que ja és impressionant és que integra la possibilitat de poder generar fitxers .exe amb el client d’VPN i totes les configuracions pels clients integrades en l’instal·lador. És a dir, podem generar un fitxer d’instal·lador de l’VPN per cada un dels clients.

A més també vull destacar que disposa d’una PKI propia que per gestionar els certificats dels diferents serveis va molt bé. A més de poder-la utilitzar per generar certificats que després usarem en altres aplicacions ofra del eBox.

Per no seguir fent una valoració desordenada dels serveis que té l’eBox a continuació enganxo la llista de funcionalitats que he trobat a la seva web i al costat hi posaré un comentari a les que ho cregui pertinent.

  • Networking
    • Firewall and routing- bons i simples sistemes de monitorització per la xarxa cosa que sovint es troba a faltar.
      • Filtering – integració força bona de les iptables
      • NAT and port redirections
      • VLAN 802.1Q
      • Support for multiple PPPoE and DHCP gateways – ideal per tenir diverses ADSL en monopuesto.
      • Multi-gateway rules, load balancing and automatic failover – trivialitza aquesta tasca a més de poder-ho configurar fins a un detall força decent.
      • Traffic shaping (with application layer support)
      • Graphical traffic rate monitoring
      • Network intrusion detection system
      • Dynamic DNS client
    • Network infraestructure
      • DHCP server
      • NTP server
      • DNS server
        • Dynamic updates via DHCP
      • RADIUS server – molt agraït el tenir aquesta capacitat per integrar amb linksys o d’altres similars a l’hora de montar un hotspot o per montar autenticacions segures wifi
    • VPN support – molt decent la integració.
      • Dynamic routes autoconfiguration
    • HTTP proxy – forma senzilla de tenir tot el que cal en proxies.
      • Internet cache
      • User authentication
      • Content filtering (with categorized lists)
      • Transparent antivirus
    • Intrusion Detection System – integra SNORT!!! (el vaig usar al meu PFC)
    • Mail Server – un 9!!! una integració molt aconseguida i que fa tot el que li cal a una PIME i més
      • Virtual domains
      • Quotas
      • SIEVE support
      • External account retrieval
      • POP3 and IMAP with SSL/TLS
      • Spam and antivirus filtering
        • Greylisting, blacklisting, whitelisting
      • Transparent POP3 proxy filter
      • Catch-all account
  • Webmail
  • Web server – aquí és on més coixeja el tema sota el meu punt de vista perquè no et deixa tocar pràcticament res del servidor web, o almenys jo no ho he sabut trobar.
    • Virtual hosts
  • Certification authority – realment útil i simple
  • Workgroup
    • Centralized users and groups management
      • Master/slave support
      • Windos Active Directory Synchronization
    • Windows PDC
      • Password policies
      • Support for Windows 7 clients
    • Network resource sharing
      • File server
        • Antivirus
        • Recycle bin
      • Print server
    • Groupware: calendar, address book, webmail, wiki, etc. – personalment no m’agrada gens aquesta eina.
    • VoIP server – poc configurable pel meu gust, però a destacar el ben integrada que esta amb el LDAP, no he sabut veure si tb ho esta amb el XMPP/jabber2.
      • Voicemail
      • Conference rooms
      • Calls through an external provider
      • Call transfers
      • Call parking
      • Music on hold
      • Queues
      • Logs
  • Jabber/XMMP server – això no m’ho esperava, però felicitats per haver-hi pensat.
    • Conference rooms
  • eBox User Corner for self users info updating – va molt bé pq els usuaris s’ajustin el que els cal sense molestar l’administrador.
  • Reporting and monitoring
    • Dashboard for centralized service information
    • Monitor CPU, load, disk space, thermal, memory
    • Disk usage and RAID status
    • Summarized and full system reports
    • Event notification via mail, RSS or Jabber – molt interessant totes les possibilitats de monitorització que té, això val un imperi.
  • Software updates
  • Backups (configuration and remote data backup) – molt simplificada la tasca, no sé què copiara però si ho fa bé, això és brutal.
  • Control Center to easily deploy and administrate several machines running eBox Platform – aquí és on entren les funcionalitats de pagament, ho trobo molt raonable i molt bona idea.

Per acabar he de dir que clearOS hem va agradar moltíssim, potser trobaria algunes coses que les fa millor que l’eBox però he de dir que aquest és realment molt millor que l’altre. En faig una valoració realment positiva i el recomano moltíssim. Això si, si hagués de montar-ne algún en una empresa primer montaria clearOS faria un o dos dies de proves i després montaria eBox per acabar d’estar-ne content. Encara que hagués de pagar aquests dies de feina de la meva butxaca crec que estarien molt ben invertits.

NOTA: Que no se m’oblidi eBox es basa en Ubuntu i clearOS en centOS, malgrat estic familiaritzat amb els .rpm gràcies a Fedora, he de dir que hem sento molt més còmode amb eBox i això pesa molt.

Feb 12

debian/ubuntu: buscant quin paquet conté un fitxer

Reading time: < 1 minute Referència ràpida per saber quin és el paquet en una debian/ubuntu que conté un fitxer. La típica funcionalitat que mai recordes quan et cal: Paquets instal·lats:

dpkg –search /path/fitxer

Fitxers de paquets no instal·lats:

# cal la utilitat apt-file
apt-get install apt-file
apt-file update
apt-file search fitxer
Jan 13

Turnkey Linux Virtual Appliances

Reading time: 2 – 3 minutes

Turnkey Linux logo

Turnkey Linux logo

Ahir comentava que el Carles hem va parlar de ClearOS, doncs bé, també em va comentar que hi havia un projecte opensource anomenat Turnkey Linux que bàsicament es dedica a fer software appliances amb els paquets de codi lliure més famosos, per exemple: LAMP, drupal, joombla, phpBB, dokuwiki, mediawiki, rails, tomcat, mysql, wordpress, etc. actualment diria que hi ha 56 paquets.

De fet, a part de per fer proves sobre certs paquets no trobo massa interessant aquestes software appliances. Però el que si que realment m’ha cridat l’atenció i he estat provant fa uns dies és el Turnkey Core, que en escència és la base del sistema que ells usen per montar les software appliances. Escencialment es tracta d’agafar una Ubuntu 8.04.3 LTS i donar-li suport de:

  • Target systems:
    • CD d’instal·lació optimitzat (instal·lació mínima) i ús com a liveCD
    • Màquines virtuals: VMDK HD i OVF (Xen, VMWare, Parallels, VirtualBox)
    • Amazon EC2 AMI
  • Configuration console (feta en python), permet configurar de forma senzilla funcions bàsiques:
    • xarxa
    • apagar
    • reiniciar
  • Ajax Web Shell (shellinabox): client SSH via web, realment va molt bé!
  • Web Management via Webmin
  • Regenera les claus dels certificats durant la instal·lació
    • SSL: webmin, apache2, lighttpd
    • SSH
  • Definir el password de root durant la instal·lació

Com podeu imaginar-vos la meva idea és agafar aquesta base de sistema per montar els meus propis servidors ja sigui a nivell privat o professional. De fet, estalvia prou feina i la instal·lació que fa Turnkey Core d’Ubuntu és prou petita com per fer una instal·lació a mida en cada cas. O sigui, que es poden intal·lar els paquets que volem sense haver de tenir coses innecessaries. Això si, pensant sempre en servidors.

Sep 09

Ubuntu Hardy (8.04) i monit 4.10.1

Reading time: 1 – 2 minutes

El paquet .deb de la versió 4.10.1 del monit no esta disponible per Ubuntu Hardy (v.8.04) el paquet més nou disponible és el 4.8 el problema més greu que suposa això és que no podem usar com servidor de notificacions servidors SMTP sense SSL, per exemple, no es pot usar smtp.gmail.com (gmail.com).

Si voleu instal·lar el paquet 8.10.1 el que s’ha de fer és:

cd /var/tmp
wget http://es.archive.ubuntu.com/ubuntu/pool/universe/m/monit/monit_4.10.1-3_i386.deb
sudo dpkg -i monit_4.10.1-3_i386.deb
monit -V

i veurem l’esperat:

This is monit version 4.10.1
Copyright (C) 2000-2007 by the monit project group. All Rights Reserved.

En cas de voler enviar els correus a gmail la configuració seria algo així:

set mailserver smtp.gmail.com port 587
    username [user]@gmail.com password [pass]
    using TLSV1
    with TIMEOUT 20 seconds
Sep 14

Problemes de rendiment OpenFiler amb VMWare Server [solucionat]

Reading time: 3 – 4 minutes

Després de molts mesos amb un greu problema de rendiment al servidor SAN/NAS de casa que tinc montat en una màqina virtual d’VMWare Server sobre Ubuntu 8.04 LTS, per fi m’he decidit a arreglar el problema. En algún altre post havia comentat el problema, la qüestió és que el rendiment dels 1.5Tb que tinc al servidor des del sistema operatiu de Host és d’uns 70MB/s però les mateixes proves des dels discos gestionats per la màquina Guest, o sigui l’OpenFiler, donaven uns patetis 3, 4 o com a molt 5MB/s. O sigui, que quan s’accedia per NFS o SMB als recursos compartits el rendiment era insuficient i d’altres servidors o màquines que usen aquests recursos se’n veien repercutits.

Finalment després de buscar una mica vaig veure que el problema venia de les interrupcions del sistema que es perdien degut a que el clock rate del servidor Host no era capaç de processar tantes interrupcions. Així doncs, investigant sobre el tema vaig veure que el que cal fer és donar suport HPET, en el meu cas perquè això funcioni ho he hagut d’activar també a la BIOS del HP ML110 que uso com a servidor físic. Amb aquests canvis els tests de velocitat de la màquina virtual amb OpenFiler m’han millorat substancialment i ara mateix donen resultats al voltant de 50MB/s. Obviament, encara estic lluny d’un rendiment òptim però ja no sé si això és tema de configuració o si el problema és més profund i ja depèn de la propia gestió interna que fa l’VMWare amb els mòduls que fan d’interficies entre el hardware real i el virtual.

Si voleu saber si teniu el HPET activat o no al kernel és tan senzill com mirar al dmesg:

root@vm0:~# dmesg |grep hpe
[  120.210408] hpet clockevent registered
[  120.210412] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[  120.210416] hpet0: 3 64-bit timers, 14318180 Hz

En cas de no tenir-lo activat, cal que activeu el següent al fitxer .config del kernel:

CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_RTC=y

A part d’això hi ha d’altres opcions per tal d’acotar aquest tipus de problemes, algunes que permeten estabilitzar les màquines virtuals malgrat no les expremem al màxim ens poden permetre funcionar millor si el rendiment no és el màxim dels nostres problemes i no saturem el Host. Per exemple, es pot afegir al fitxer .vmx de la màquina virtual la següent opció:

host.useFastClock = FALSE

Per cert, si voleu identificar el problema el kernel de la màquina Host dona errors de l’estil:

Aug 21 12:56:11 dey kernel: rtc: lost some interrupts at 2048Hz.

o també coses així:

select() to /dev/rtc to wait for clock tick timed out.

Com sempre a google podeu trobar moltíssima informació de com ajustar el vostre Linux perquè rendeixi al màxim amb VMWare. Per la meva part, ara hem queda posar en marxa mil i una coses que depenien d’aquest servidor de fitxers que mica en mica anava obligant-me a parar serveis per manca de rendiment. Espero que properament ja pugui posar en marxa funcions com l’album de fotografies i d’altres similars.

Jul 02

spacewalk – el RedHat Network Satellite alliberat

Reading time: 4 – 6 minutes

spacewalk logoNo sóc un gran coneixedor dels productes de RH, ni tampoc de Fedora ni CentOS. Malgrat això per temes de Kerberos, LDAP i d’altres similars m’estic endinsant força en aquest món. Doncs bé, el dia 20 de juny la gent de RH van alliberar el codi del RedHat Network Satellite al project l’han anomenat spacewalk. Després d’una bona estona llegint la seva documentació volia comentar que la idea que proposen i el nivell d’integració que té l’eina és molt bona, malgrat això he de dir que no hem serveix de gran cosa degut a que esta massa orientat a distribucions amb sistemes de paquets .rpm, o sigui, la propia RH i Fedora sobretot, de CentOS i la resta en parla ben poc.

Cal dir però que les funcionalitats que ofereix són relment una font d’inspiració per d’altres productes que algún dia algú haurà de dissenya per distribucions basades en .deb, o sigui, debian i ubuntu bàsicament.

Llistat de funcionaltats de l’spacewalk:

  • Inventory your systems (hardware and software information)
  • Install and update software on your systems
  • Collect and distribute your custom software packages into manageable groups
  • Provision (kickstart) your systems
  • Manage and deploy configuration files to your systems
  • Monitor your systems
  • Provision and start/stop/configure virtual guests
  • Distribute content across multiple geographical sites in an efficient manner.

A continució ús dono una petita llista d’eines que malgrat no estar tan ben integrades com l’spacewalk i sovint no disposar de bones interficies poden ser un bon punt per començar a solucionar alguns problemes:

  • puppet: basada en un llenguatge ruby com a llenguatge d’scripting per llençar funcions remotament contra sistemes remots, l’eina és realment potent però la veig poc integrada amb el sistema operatiu i es basa molt en funcions com expect per capturar les sortides de les comandes de sistema executades remotament. A més considero que no té un bon sistema d’informes per saber com ha anat el deploy.
  • capistrano: molt semblant a puppet, tan és així que usa també ruby com a llenguatge d’scripting i tots els problemes comentats antiriorment els hi veig també a aquest. Té una mica més ben resolt el tema del feedback dels deploys però sota el meu punt de vista no acaba de ser suficient.
  • func: projecte que també ve de RH i que té el codi alliberat, actualment en fan el manteniment la gent de Fedora. Es basa en Python com a llenguatge d’scripting i ofereix tota una API per la gestió de comandes remotes, ben pensat per xarxes grans ja que permet llençar comandes de forma asícrona. Disposa d’una molt bona integració amb el sistema operatiu gràcies a la gran quantitat de bindings que te Python. Per exemple, com que és un producte de fedora només disposa de binding genèric de yum per instal·lar paquets remotament,  però gràcies a que el llenguatge d’scripting és Python és molt senzill crear un mòdul de func que enllaci amb python-apt i permetre instal·lar paquets a una ubuntu. Aquesta bona integració permet controlar els feedbacks d’una forma molt eficients malgrat no disposa d’eines d’informes pròpies.
  • fai: és una eina pensada per fer instal·lacions automàtiques de distribucions linux o de sistemes de clusters, ja siguin virtualitzats o amb màquines reals. El projecte té uns grans avals i porta moltíssims anys online i actiu. Per tant, dona moltíssima confiança. El dolent és que no sembla trivial d’usar i malgrat té una eina per monitoritzar l’estat del deploy és basa moltíssim en CLI. No he vist cap GUI que en faciliti l’ús excepte GOSA, el qual és un projecte molt ampli d’LDAP bàsicament usat per la migració a Linux de l’ajuntament de Berlin.
  • cobbler: una eina molt semblant a fai, però de la gent de RH i amb el codi alliberat. Té molt bona pinta i a més s’integra amb func. No l’he estudiat a fons encara per saber on té els punts febles, ja que com sempre el que més por fa és la dependència de paquets .rpm; malgrat això disposa d’una interficie web per la gestió, línia de comandes i API en python per extendre les seves funcionalitats i sempre es podria lligar una instal·lació cobbler amb func perquè fos compatible amb ubuntu tal com havia comentat abans.
Apr 20

Actualitzar Ubuntu Dapper (6.06) a Hardy (8.04) LTS

Reading time: 2 – 2 minutes

Com ja vaig comentar en el segon podcast acostumo a montar Ubuntu LTS com a servidor de producció pels clients. Així doncs, estem apunt de veure la nova versió d’aquest aplicatiu i passarem de la versió 6.06 a la 8.04. Només volia fer-vos saber que ja he fet dues actualitzacions i ambdues m’han funcionat prou bé. Això si s’ha de dir que es triga força estona i després val la pena invertir un rato en mirar que els fitxers de configuració dels aplicatius que usabeu quan s’han actualitzat continuen funcionant bé.

Les instruccions per fer l’actualització són força senzilles. Primer de tot comenceu per actualitzar la versió que ja teniu funcionant:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Ens assegurem que a /etc/apt/sources.list tenim el següent contingut:

deb http://archive.ubuntu.com/ubuntu dapper main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse

Instal·lem l’eina per fer actualitzacions de versió al servidor:

sudo aptitude install update-manager-core

Finalment arriba l’hora de la veritat, fem l’actualització a l’última versió:

sudo do-release-upgrade -d

NOTA: fixeu-vos que uso el paràmetre -b això és perquè a l’hora d’escriure l’article encara falten quatre dies perquè surti oficialment la versió estable de la Ubuntu 8.04 LTS (alias Hardy).

Com deia doncs, a mi això m’ha funcionat prou bé. Comentar que aquest article és bàsicament una traducció d’un article d’Ubuntu Tutorials, que és d’on he seguit les instruccions per fer les actualitzacions.

Nov 22

Configurant una Atheros AR5212/5213 amb Ubuntu 6.06 Dapper

Reading time: 2 – 4 minutes

La base del MPK és una Ubuntu 6.06 Dapper, doncs bé ahir vaig tenir la necessitat de configurar-hi una targeta Wifi per primera vegada. La qüestió és que la cosa em va donar una mica més de feina de la esperada. Així doncs, aquí penjo quatre notes de com posar-la en solfa ben ràpid.

Al iniciar l’Ubuntu amb l’Atheros punxada els drivers de madwifi del kernel la detecten perfectament però malgrat no em donava cap error i després d’associar-me a diversos APs amb WEP i WPA-PSK no hi havia manera d’intercanviar tràfic, sempre donava l’error de que no trobava el destí del paquet. Finalment el que vaig fer va ser descarregar els drivers de madwifi, concretament la versió 0.9.3.3. Que ha compilat sense problemes i després de borrar els drivers que inclou l’Ubuntu per defecte, s’han instal·lat a la carpeta dels mòduls del kernel. Després de comprobar que amb un depmod -a no donen cap error he reiniciat i la targeta s’ha detectat sense problemes.

Amb les següents simples comandes:

iwconfig ath0 essid ssid_ap
iwconfig ath0 key codi_wep_en_hexadecimal
ifconfig ath0 up
dhclient ath0

Només amb això ja esta llesta la xarxa wifi per funcionar amb xifrat WEP, obviament no ús el recomano però hi ha gent que encara viu enganyada confiant-hi. En cas de voler-la configurar per WPA-PSK la cosa és tan senzilla com crear el següent fitxer /etc/wpa_supplicant.conf:

network={
        ssid="ssid_ap"
        scan_ssid=1
        proto=WPA
        key_mgmt=WPA-PSK
        psk="clau_psk"
}

Després des de la línia de comandes podem cridar el wpa_supplicant per provar-lo així:

wpa_supplicant -Dwext -iath0 -c/etc/wpa_supplicant.conf

Un cop veiem que s’ha associat podem anar a una altre consola i configurar la interficie de xarxa. Com sempre amb la comanda iwconfig podem observar si l’associació s’ha fet correctament, entre d’altres dades com el nivell de senyal.

Finalment si voleu posar en la seqüència d’arrencada la crida del wpa_supplicant podem afegir el següent a /etc/network/interfaces:

auto ath0
iface ath0 inet dhcp
pre-up wpa_supplicant -Bw -Dwext -iath0 -c/etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant

Per automatitzar el WEP, el que he fet malgrat sigui una mica xapussa és fer un script que fa les dues comandes iwconfig i aquest script es crida a pre-up al fitxer /etc/network/interfaces.

Oct 27

Passant d’una Ubuntu real a una de Virtual (VMWare)

Reading time: 2 – 2 minutes

Aquesta setmana he clonat un sistema montat en Ubuntu, d’una màquina real a una màquina virtal corrent dins d’un VMWare Server. La veritat pensava tenir més problemes, però finalment la cosa ha estatm és senzilla del que pensava. Intentearé explicar-vos els passos que he seguit, espero no deixar-me cap detall important ja que ho faré de memòria.

  • Servidor nou
  • Creem una màquina virtual amb la VMWare Server Console.
  • Instal·lem una Ubuntu 6.06 LTS (la mateixa versió qu hi ha a la màquina que volem clonar)
  • A diferencia de la original aquesta la montem amb LVM, això va ser un capritxu meu no una necessitat
  • Un cop finalitzada la instal·lació estàndard i fetes les actualitzacions, instal·lem el servidor d’ssh
  • Servidor original
  • Creem un fitxer de text amb aquest contingut, l’anomenaré exclude.txt:
  • /proc
    /sys
    /dev
    /mnt
    /cdrom
    /tmp
    /etc/fstab
    /etc/mtab
    /boot
    /etc/iftab
    
  • Ara ve l’hora de la veritat i usant rsync començo a clonar la màquina:
  • rsync -cavz --exclude-from=exclude.txt /* root@IP_NOVA_MAQUINA:/
    
  • Apaguem o desconnectem cable de xarxa
  • Server nou
  • Reiniciem la màquina, jo ho vaig fer a sac, o sigui… apretant botó reset de la màquina virtual. Digueu-me radical però vaig pensar que era el millor en aquest cas.