Archive for the 'Gentoo' Category

Asignando nombres personalizados a las interfaces en Gentoo

Hoy vengo con otra pequeña solución más para Gentoo en un portátil. En otras distros dudo que sea así, pero espero que si no usáis Gentoo y habéis llegado aquí a través de Google, al menos os sirva de guía o toma de ideas.

Ya he explicado como instalar la Airport Extreme, como configurar el sistema para asociarse con APs que usasen WPA y hoy, como evitar que den guerra las dos interfaces del portátil. Por supuesto, al igual que el How-To de la Wifi con WPA, este sirve para cualquier portátil, no solo para los PPC.

Algo que es muy molesto en el día a día y reduce la productividad es estar pendiente de problemillas insignificantes. En los últimos meses he sufrido en silencio un problema con la interfaces de mi portátil, el cual hacía que por culpa de udev (Al parecer) unas veces la wifi era la interfaz eth0 y la FastEthernet la eth1, y cuando se le antojaba, viceversa. Lo medio-solucioné con unas líneas guarras en los scripts de inicio del sistema, pero todo chapuzas. Esta vez quería algo elegante por lo que pensé en renombrar las interfaces. En algún sitio lo leí, así que eché un ojo al fichero /etc/conf.d/net.example. Existen dos opciones:

  • Mediante dirección MAC: Es la que he escogido. Se basa en la dirección MAC de la tarjeta. ¿Conocéis algo más identificativo en este momento? Yo no
  • Mediante el nombre de interfaz: Esto es impensable, porque la pescadilla se muerde la cola.

Bien, la configuración es bien fácil. Añadimos al fichero /etc/conf.d/net la línea:

rename_0015ABF22127=”wlan0″

Eso hará que la tarjeta con la dirección MAC 00:15:AB:F2:21:27 se llame wlan0. Ahora la configuración de la interfaz varía un poco, tanto como cambiar eth0 o eth1 por wlan0. En mi caso la FastEthernet ha quedado como eth0 (Evidente, ya que jamás habrá una eth0 que la oblige a ser eth1) y la Wifi en la wlan0.

Y pensar que estuve con soluciones sujetas por hilos durante un par de meses…

Otro problema es la interfaz FastEthernet, que al cargarse el módulo automaticamente se levanta, y si no tiene configuración intenta adquirirla mediante DHCP. Si no deseas que haga un DHCP Discover deja esta línea así:

config_eth0=( “0.0.0.0” )

La interfaz quedará levantada, pero sin dirección IP, que es lo que nos interesa.

Espero que os haya servido de ayuda. Lo próximo será como poner DD-WRT en modo AP Bridge (Sin NAT) ya que hay que juguetear algo con las VLAN y como reconfigurar la tarjeta de sonido en el Apple PowerBook, ya que ha cambiado un poquito (Ahora son otros módulos).

Anuncios

Modificando los colores del Portage

Algo que no me gusta del portage es que uso un emulador de terminal (Konsole) y el amarillo se ve jodidamente mal sobre el fondo claro. Pues bien, hoy me entero vía GWN que desde que salió la versión 2.1 (Por Junio mas o menos, solo que no acostumbro a leerme los Changelog de todo) se pueden cambiar los colores de la salida del Portage modificando el fichero /etc/portage/color.map.

Esto funciona así:

>>> Emerging (1 of 1) dev-libs/openssl-0.9.8c-r2 to /
* openssl-0.9.8c.tar.gz MD5 ;-) ... [ ok ]
* openssl-0.9.8c.tar.gz RMD160 ;-) ... [ ok ]

Hay varios patrones internos. Todo está en el fichero /usr/lib/portage/pym/output.py, pero lo explicaré por encima.

El patrón GOOD se usará para seleccionar color del [ ok ], así como el del nombre del paquete dev-libs/openssl-0.9.8c-r2. Tenemos también, por ejemplo, MERGE_LIST_PROGRESS que equivale a los números de (1 of 1).
Otra forma de hacerlo es sustituir directamente el color que queramos por otro. yellow=teal. teal es un verde azulado muy cómodo de leer.

Bueno, a vuestro gusto. Podéis jugar con ello hasta dar con una combinación que os guste.

Yo lo dejaré así, ya que se me ve bien en la TTY y en Konsole.

yellow=teal

# Comprobación de las sumas MD5, SHA1, etc de los ficheros. Parcheo correcto.
GOOD=darkgreen

# Corchetes – Podemos dejarlas por defecto
# BRACKET=teal

# Warnings – Por defecto también son amarillos
WARN=teal

# Número del paquete / Total de paquetes
MERGE_LIST_PROGRESS=teal

KNutClient: Interfaz gráfica de NUT (upsc) para KDE

Hoy gracias a nrktk he descubierto este programa. Hace un mes o así lo conseguí pero no lo comenté, he conseguido monitorizar el SAI Energy System con NUT. Hace unos años cuando probé, no estaba soportado, ahora si :).

Una vez arrancamos NUT al completo, ejecutamos knutclient y añadimos un SAI, Su alias, su host y su nombre, además de usuario y contraseña. Luego configuramos a nuestro gusto para dejarlo como nrktk en su captura… o a vuestro gusto. Bueno, yo, al igual que él, pienso instalar 2 SAIs nuevo que me tiene que traer en serie. Uno es un Zaapa de 1000 VA, tonto, como una batería no monitorizable. El otro será un APC de 700 VA, que NUT parece soportar además de tener su propio daemon. La idea es colgar el/los servidores y el firewall, así como el AP y los switches y modems de ambos (1000 y 700 VA) y mi equipo de mi viejo Energy System de 1200 VA.

Como NUT es fabuloso y soporta monitorización por red (Con ACLs, usuarios contraseñas…) y además está disponible en casi todo SO *NIX que os podáis imaginar, puedo instalar los SAIs en el equipo que yo quiera (Tampoco tengo muchas opciones) y monitorizarlo desde el equipo que quiera (¿Desde el mío?). Además cuando mande al sistema apagarse puede retransmitir a sus esclavos que también se apaguen. Como veis, todo son ventajas :). Lo haré y lo documentaré, aunque quizá se me adelante nrktk :D.

Bueno, la aplicación está diseñada para KDE (QT3) y se integra muy bien en el systray. Personalmente me gusta mucho, así que podéis animaros a probarla.

Configuración de Airport Extreme con WPA en Gentoo

Anteriormente la habíamos instalado. Ahora vamos a configurarla trabajando con WPA. A diferencia de WEP, que con la orden iwconfig podíamos establecer la clave, si usamos WPA deberemos usar wpa_supplicant (Rama unstable)

# emerge wpa_supplicant

La idea es, aprovechando los scripts de Gentoo, levantar de forma transparente la wifi y conectar automáticamente a nuestro AP.
Al igual que hacemos con la tarjeta de red 10/100, lo haremos con la wifi, osea, una configuración personalizada en el fichero /etc/conf.d/net a continuación de la existente de nuestra NIC.

modules=( "wpa_supplicant" )

# Wifi
config_eth1=( "192.168.1.3 netmask 255.255.255.0" )
routes_eth1=( "default via 192.168.1.1" )
essid_eth1="El_ESSID"
mode_eth1="managed"
channel_eth1="1"
iwconfig_eth1="rate 54M"
wpa_supplicant_eth1="-D wext -c /etc/wpa_supplicant.conf"

Si queremos usar configuración automática mediante DHCP deberemos instalar dhcpcd

# emerge dhcpcd

Ahora en el fichero /etc/conf.d/net comentamos la línea:

routes_eth1=( "default via 192.168.1.1" )

Y la línea:

config_eth1=( "192.168.1.3 netmask 255.255.255.0" )

La dejamos así:

config_eth1=( "dhcp" )

Ahora tenemos que configurar el fichero /etc/wpa_supplicant.conf de modo que quede así:


ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1

network={
ssid="El_ESSID"
scan_ssid=1
#psk="Clave_WPA_en_texto_plano"
psk=efgfdg7ytdfghufdhgudfhgubhdfuighudfca93dfdfdfgfdghdfhgr
}

Esto podemos configurarlo a mano, introduciendo la clave en texto plano, o usando la orden:

# wpa_passphrase El_ESSID Clave_WPA_en_texto_plano >> /etc/wpa_supplicant.conf

La entrada que contiene la clave en texto plano yo la he eliminado por si un día alguien lo lee que no se pueda acordar de ello (Por su complejidad).

Una vez terminado tendremos que hacer un enlace simbólico a net.lo:

ln -s /etc/init.d/net.lo /etc/init.d/net.eth1

Una vez configurado con /etc/init.d/net.eth1 start o stop podremos activar o desactivar la tarjeta a la vez que la configuramos.
Si deseamos que se levante en el arranque:

# rc-update add net.eth1 default

NOTA: Puede que te interese leer este otro artículo.

Airport Extreme en Gentoo con kernel 2.6.17 y última firmware

Ya era hora de configurar la Airport Extreme de mi PowerBook G4 de 12″ version 6,8 en mi Gentoo. Necesitaba un kernel 2.6.17 así que instalé el gentoo-sources-2.6.17-r1 de la rama unstable de Gentoo. Luego necesitaba fwcutter para extraer el firmware pero todos los que me descargaba me decía que faltaba microde8.fw y o similar. En el README salía una nueva versión pero solamente con un mirror que apuntaba a la web de WRT, que para colmo no funcionaba, así que en la web de DrinuS lo pude descargar. (Gracias por tenerlo guardado)

# wget http://drinus.net/airport/wl_apsta.o

Instalé fwcutter, también disponible solamente en la rama unstable (Podéis ver en la documentación de emerge como desenmascarar paquetes y utilizar las diferentes ramas).

# emerge bcm43xx-fwcutter

Antes de continuar vamos a compilar el kernel nuevo. Podemos utilizar la configuración anterior asegurandonos de tener las siguientes opciones activadas.

Networking -->
<M> Generic IEEE 802.11 Networking Stack
[*] Enable full debugging output
<M> IEEE 802.11 WEP encryption (802.1x)
<M> IEEE 802.11i CCMP support
<M> IEEE 802.11i TKIP encryption
<M> Software MAC add-on to the IEEE 802.11 networking stack
[*] Enable full debugging output

Device Drivers --> Network device support --> Wireless LAN drivers (non-hamradio) & Wireless Extensions
<M> Broadcom BCM43xx wireless support
[*] Broadcom BCM43xx debugging (RECOMMENDED)

Una vez compilado, instalado y reiniciado, extraigo los ficheros en /lib/modules:

# bcm43xx-fwcutter -w /lib/firmware /root/wl_apsta.o

No nos debería dar ningún error. Si se diese el caso podemos usar dmesg|tail para obtener información.

Cargamos el módulo

# modprobe bcm43xx

Levantamos la tarjeta

# ifconfig eth1 up
# iwlist eth1 scan
# iwconfig eth1 channel #
# iwconfig eth1 enc XXXX-XXXX-XX (Optional, for WEP)
# iwconfig eth1 essid “AP_ESSID”

Esto último no lo he probado. En realidad solamente he levantado la interfaz de red y hecho un escaneo y sin resultados, todo correcto. Luego iré a Halcón Viajes a por un billete de ALSA con destino Laredo, pero eso es un tema a tratar otro día.

Recursos:
Foro de Ubuntu, desde el que encontré la web de Drinus acerca de AE.
Foros de Gentoo.

Animo! Va por ti r0sk.

NOTAS: La ruta es /lib/firmware no /lib/modules, se me escapó.
Tenéis un mirror del firmware.

DD-WRT en Linksys WRT54GL

Hoy me ha llegado un router WRT54GL de FON (Neutro) que ya he registrado como fonero y flasheado. He ido a la web del firmware DD-WRT a descargar la imagen mini, metérsela al router y luego proceder a meter la versión con VPN (Por probar a ver que tenía). Es como tener una Smoothwall o IPCop (No es comparable con MonoWall) pero en un cacharro más pequeño, con 16 MB de RAM y 216 MHz. Es sencillamente una maravilla y su alcance es cojonudo. Además sus antenas son desmontables (Ambas) y puedo conectar otras antenas.

Que me haya aprovechado de la promoción de FON, no quiere decir que no libere mi wifi, eso sí, por ahora no. Cuando tenga todo correctamente montado compartiré mi línea, algo que espero no se alargue mucho.

Como siempre tuve pensado, restringiré la salida por la WLAN, solamente a HTTP, HTTPS, SMTP, POP3, Jabber, IRC y quizá si alguien me convence, MSN. El servidor DNS estará en mi casa, escuchando en todas las interfaces internas y montaré un sistema de colas en el gateway para que no se pasen de listos.

Ya veré como lo monto todo. Tendré que hacerme un esquema. Principalmente, la WLAN estará en otra red, así como a medio plazo los servidores en una DMZ, dejando esta máquina (Cliente) en otra red.

Pero ya que me pongo a hablar de mis servidores os contaré lo que tengo pensado hacer también a medio plazo. Actualmente tengo muchas (2 o más) máquinas, unas Gentoo, otra Debian… y empieza a ser cansino mantener los servicios, sobretodo cuando tienes mejores cosas que hacer. He decidido que si me encuentro con ganas, por el verano montaré en el Celeron 900 MHz una FreeBSD 6.1 con Apache, Servidor FTP (He de mirar vsftpd contra MySQL), Postfix para SMTP, Courier para POP3 e IMAP, etc. De ese modo tengo una máquina decente para probar sistemas operativos en entorno real con hardware de verdad, dejando de lado las máquinas virtuales. Como ya he dicho en post anteriores tengo ganas de pillar por banda un Plan9 o Solaris. Quizá me ponga con Solaris, por entretenimiento y por lo didáctico del asunto.

Por lo tanto, la nueva estructura será algo así:

WAN –> Modem –> Gateway OpenBSD –> Switch D-Link –> Red

La red como dije antes la estructuraré en:
Clientes: 10.0.0.0/30
Servidores: 172.24.0.0/28
Clientes:192.168.0.0/24

Lo pongo en diferentes clases no porque no sepa crear subredes con mascara de longitud variable, sino por el reconocimiento a primera vista.

Aquí surge un problema, de mi máquina cliente no puedo acceder a los servidores porque están en otra red y claro, enrrutar ambas hace que el invento pierda la gracia, por lo que tendré que tener un teclado y pantalla disponibles.

Ya os iré contando. De momento, estoy abierto a nuevas ideas.

Portage 2.1 marcado como estable en x86 y PPC

La versión 2.1 ha sido marcada como estable en varias arquitecturas, entre ellas x86 y ppc. Como era de esperar se añaden jugosas opciones y cambian algunas cosillas. Comenzaré por lo que han añadido, que mencionaré nada mas la opción parallel-fetch que al introducirla en el /etc/make.conf:

FEATURES="parallel-fetch"

Nos permitirá a la vez que compilamos, descargar las sources en paralelo. Esto nos ahorrará mucho tiempo.

Cosas que cambian y me ha tocado solucionar son, por un lado, emerge sync que dejará de usarse y se usará en este caso emerge –sync. La otra es menos usual y afectará a los usuarios que no sincronicen todo el árbol de portage.

En la versión 2.0.54 del portage yo usaba:

RSYNC_EXCLUDEFROM=/etc/portage/rsync_exclude

De modo que el fichero rsync_exclude contenía algo como esto:


app-accessibility/*
app-antivirus/*
...

Ahora al sincronizar nos dirá que es una opción obsoleta, así que comentaremos/eliminaremos la línea referente a RSYNC_EXCLUDEFROM y lo dejaremos del siguiente modo:


PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_exclude"

Espero que os sirva de ayuda.


Las opiniones reflejadas en este blog son personales o ni siquiera son opiniones, y bajo ningún concepto representan las estrategias, opiniones o posturas de mi empresa actual, ni de ninguna en las que he trabajado, así como tampoco de ninguno de los clientes o proveedores de todas ellas.
La información se proporciona como está, sin garantías de ninguna clase, y no otorga ningún derecho. Los comentarios pertenecen a sus autores y bajo ningún concepto el autor del blog se hará responsable de los mismos.

Categorías

Archivos