viernes, 6 de marzo de 2009

Instalar driver Nvidia a lo debian

1. Instalar los paquetes siguientes en una terminal (como usuario root):
$ su -
password:
# aptitude install module-assistant nvidia-kernel-common
Desconozco si será indispensable tener instalada las fuentes del kernel para configurar el driver. En el momento de hacer ésta instalación las tenía instaladas. Aquí el comando por si es necesario:
# aptitude install linux-source-2.6.x linux-headers-2.6.x-x
2. Compilamos e instalamos el módulo nvidia:
# module-assistant auto-install nvidia
3. Instalamos el paquete nvidia-glx que nos proporcionará la aceleración gráfica:
# aptitude install nvidia-glx nvidia-settings
4. Editamos el archivo de configuración de las X situado en “/etc/X11/xorg.conf”.
# vi /etc/X11/xorg.conf
- La sección “Module” del fichero debería tener éste contenido:

Section “Module”
Load “bitmap”
Load “dbe”
Load “ddc”
Load “dri”
Load “extmod”
Load “freetype”
Load “glx”
Load “int10″
Load “vbe”
EndSection

- En la sección “Device” modificamos el driver “nv” por “nvidia”

Section “Device”
Identifier “nVidia Corporation NV11 [GeForce2 MX/MX 400]”
Driver “nvidia”
BusID “PCI:1:0:0″
EndSection

- Al final del fichero deberíamos tener ésta sección: (si no, añadirla)

Section “DRI”
Mode 0666
EndSection

Para evitar tener que estar editando y modificando el fichero anterior a mano, podemos reconfigurar el servidor X con éste comando (en Lenny es mejor hacerlo a mano de todas formas al final del post les dejo mi xorg.conf solo modifiquelo a su hardware):
# dpkg-reconfigure xserver-xorg

5. Sólo nos queda reiniciar las X o el equipo, para poder disfrutar de la aceleración gráfica.

(Cerramos la sesión gráfica y desde la Consola CTRL + ALT + F1) hacemos:
# /etc/init.d/kdm stop (si utilizas Gnome: /etc/init.d/gdm stop)
# modprobe nvidia

NOTA:
Si tenemos el módulo “nvidiafb” cargado al inicio, no deja funcionar al de nvidia que acabamos de instalar. El servidor gráfico no le arranca. Para arreglarlo, la siguiente solución sacada de aquí.

En la misma terminal podemos hacer lo siguiente.
a) Para ver si tenemos el módulo cargado:
# lsmod | grep nvidiafb
nvidiafb - Debería aparecernos algo como ésto

b) Si nos aparece algo como lo anterior, procedemos a descargar el módulo “nvidiafb”:
# rmmod nvidiafb

c) Añadimos al fichero de configuración “/etc/modprobe.conf” la línea “blacklist nvidiafb” para evitar que el módulo se carge al reiniciar el equipo.
# echo “blacklist nvidiafb” >> /etc/modprobe.conf

Ya podemos iniciar el servidor X.
# /etc/init.d/kdm start (si utilizas Gnome: /etc/init.d/gdm start

6. Al entrar, abrimos una consola y comprobamos que tenemos la aceleración activada ejecutando:
$ glxinfo | head
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes => Yes = Activado
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4

Si no tienes instalado el paquete “mesa-utils”, éste comando no te funcionará. Debes instalarlo así:
# aptitude install mesa-utils

Contiene éstos ejecutables que puedes probar:
/usr/bin/glxdemo
/usr/bin/glxgears
/usr/bin/glxheads
/usr/bin/glxinfo

Mi xorg.conf
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection

Section "Files"

# path to defoma fonts
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
Load "i2c"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "v4l"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "es"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
EndSection

Section "Monitor"
Identifier "710E"
HorizSync 30.0 - 70.0
VertRefresh 50.0 - 160.0
Option "DPMS"
EndSection

Section "Device"
Identifier "nVidia Corporation NV11 [GeForce2 MX/MX 400]"
Driver "nvidia"
Option "NoLogo" "True"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "nVidia Corporation NV11 [GeForce2 MX/MX 400]"
Monitor "710E"
DefaultDepth 24
Option "RenderAccel" "true"
Option "NvAGP" "1"
Option "AllowGLXWithComposite" "true"
SubSection "Display"
Depth 1
Modes "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section “DRI”
Mode 0666
EndSection

lunes, 24 de noviembre de 2008

Instalar MRTG

aptitude install mrtg

ejecutar esto en la consola
cfgmaker password_de_la_comunidad@ip_del_router > /etc/mrtg.cfg

ejemplo
cfgmaker clave@192.168.159.161 > /etc/mrtg.cfg

entra al /etc/mrtg.conf para ver si escibio ahi los datos

ejecutar esto en la consola
indexmaker /etc/mrtg.cfg --output=/var/www/mrtg/index.html 2> /dev/null&

es para generar las imagenes del trafico

poner esto en el crontab
/5 * * * * root indexmaker /etc/mrtg.cfg --output=/var/www/mrtg/index.html 2> /dev/null&
*/5 * * * * root /usr/bin/mrtg /etc/mrtg.cfg 2> /dev/null&

cree un virtual host que se llame mrtg
ponle esto dentro


ServerName mrtg.dominio.cu
ServerAdmin admin@dominio.cu
DocumentRoot /var/www/mrtg

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On

hacer el link simbolico
reiniciar apache
reiniciar el cron

ir al dns y hacer un registro con el nombre de mrtg
reiniciar el bind9 y suerte

ah olvidava, para poner el grafico de forma correcta, poner esto en el fichero /etc/mrtg-cfg
Options[_]: growright, bits

lunes, 17 de noviembre de 2008

Postfix+mysql

aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authmysql courier-pop courier-imap postfix-tls libsasl2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin courier-authlib-mysql courier-pop-ssl courier-imap-ssl

Lo próximo es crear un usuario para que sean quien usen los servicios para conectarse a nuestra base de datos.

$ mysql -u root -p
Password: ***************
mysql> CREATE USER 'mail_admin'@'my.db.server' IDENTIFIED BY 'm41l_4dm\n';

mysql> GRANT USAGE ON * . * TO 'mail_admin'@ 'my.db.server' IDENTIFIED BY 'm41l_4dm\n' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

mysql> CREATE DATABASE 'mailserver';

mysql> GRANT ALL PRIVILEGES ON `mailserver` . * TO 'mail_admin'@ 'my.mail.server';

mysql> use mailserver;

mysql> CREATE TABLE domains (
domain varchar(50) NOT NULL,
PRIMARY KEY (domain) )
TYPE=MyISAM;

mysql> CREATE TABLE forwardings (
source varchar(80) NOT NULL,
destination TEXT NOT NULL,
PRIMARY KEY (source) )
TYPE=MyISAM;

mysql> CREATE TABLE users (
email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
quota INT(10) DEFAULT '10485760',
PRIMARY KEY (email)
) TYPE=MyISAM;

mysql> CREATE TABLE transport (
domain varchar(128) NOT NULL default '',
transport varchar(128) NOT NULL default '',
UNIQUE KEY domain (domain)
) TYPE=MyISAM;
mysql> quit

estas tablas tienen las funciones de:
domains -> almacenar los dominios que va a manejar nuestro postfix.
forwardings -> almacena los alias que se vayan a manejar por nuestro MTA.
users -> esta tiene la pulpa, lleva la información para la autenticación del usuario y la cuota q se le aplica. Aquí es donde pienso agregar los campos para el tipo de mensajería que tendrá el usuario y si esta activo o no!
transport -> aquí esta la tabla de transportes para nuestro MTA.
Configuración de postfix.
Antes que nada vamos a crear el usuario y el grupo que nos brindara si directorio de inicio y sus permisos para manejar todos los buzones de nuestros usuarios virtuales. Luego veremos donde se pone en practica la función de este usuario.

~# groupadd -g 5000 vmail
~# useradd -g vmail -u 5000 vmail -d /home/vmail -m

Las conexiones que va a hacer nuestro MTA (postfix) serán siempre locales, por lo tanto no necesitamos que MySQL escuche por la interface física que tenemos, para asegurarnos de esto modificamos el archivo de configuración del MySQL y nos aseguramos de que el parámetro bind-address tenga como valor a 127.0.0.1
Lo próximo que vamos a hacer es decirle al postfix donde encontrar la información de la base de datos y las consultas que le va a hacer a las tablas relacionadas con nuestro servicio. Para esto vamos a crear 6 archivos de texto que contendrán esta información.
voy a tratar la variable $config_directory para que sea independiente del directorio en el que se encuentra la configuración del servidor, ya que en no en todas las variantes de Unix se encuentra en el mismo lugar.

$config_directory/mysql-virtual_domains.cf
user = mail_admin
password = m41l_4dm\n
hosts = my.db.server
dbname = mailserver
query = SELECT domain FROM domains WHERE domain='%s'

$config_directory/mysql-virtual_forwardings.cf
user = mail_admin
password = m41l_4dm\n
hosts = my.db.server
dbname = mailserver
query = SELECT destination FROM forwardings WHERE source='%s'

$config_directory/mysql-virtual_mailboxes.cf:
user = mail_admin
password = m41l_4dm\n
hosts = my.db.server
dbname = mailserver
query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'

$config_directory/mysql-virtual_email2email.cf:
user = mail_admin
password = m41l_4dm\n
hosts = my.db.server
dbname = mailserver
query = SELECT email FROM users WHERE email='%s'

$config_directory/mysql-virtual_transports.cf:
user = mail_admin
password = m41l_4dm\n
hosts = my.db.server
dbname = mailserver
query = SELECT transport FROM transport WHERE domain='%s'

$config_directory/mysql-virtual_mailbox_limit_maps.cf:
user = mail_admin
password = m41l_4dm\n
hosts = my.db.server
dbname = mailserver
query = SELECT quota FROM users WHERE email='%s'

ahora vamos a hacer la configuración del archivo principal del postfix, main.cf,

myhostname = correo.midominio.org
mydestination = correo.midominio.org, localhost, localhost.localdomain
mynetworks = 127.0.0.0/8

virtual_alias_domains =
virtual_alias_maps =
proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql- virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000 # UID del usuario que creamos para que guarde los buzones
virtual_gid_maps = static:5000 # GID del usuario que creamos para que guarde los buzones
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps =
proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf

virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "El usuario esta Sobrepasado de su Cuota."
virtual_overquota_bounce = yes

smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

# smtpd_use_tls = yes
# smtpd_tls_cert_file = /etc/postfix/smtpd.cert
# smtpd_tls_key_file = /etc/postfix/smtpd.key

transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf

proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps

Configuración del Courier-Imap.
en el directorio de confirugacion del courier vamos a editar el archivo authdaemonrc.
authmodulelist="authmysql"
y luego el archivo authmysqlrc

MYSQL_SERVER my.db.server
MYSQL_USERNAME mail_admin
MYSQL_PASSWORD m41l_4dm\n
MYSQL_PORT 3306
MYSQL_DATABASE mailserver
MYSQL_USER_TABLE users
MYSQL_CRYPT_PWFIELD password
#MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 5000
MYSQL_GID_FIELD 5000
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD "/home/vmail"
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
#MYSQL_NAME_FIELD
MYSQL_QUOTA_FIELD quota

Después reiniciar todos los procesos del courier

:~# /etc/init.d/courier-authdaemon restart
:~# /etc/init.d/courier-imap restart
:~# /etc/init.d/courier-imap-ssl restart
:~# /etc/init.d/courier-pop restart
:~# /etc/init.d/courier-pop-ssl restart

para FreeBSD seria

:~# /usr/local/etc/rc.d/courier-authdaemon restart
:~# /usr/local/etc/rc.d/courier-imap restart
:~# /usr/local/etc/rc.d/courier-imap-ssl restart
:~# /usr/local/etc/rc.d/courier-pop restart
:~# /usr/local/etc/rc.d/courier-pop-ssl restart

verificamos que estén funcionando los servicios.

:~# telnet localhost pop3
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.
:~# telnet localhost imap
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.

Configuración del Saslauth para la autenticación del SMTP.
Editar el archivo /etc/default/saslauthd, eliminar el comentario de la linea START = yes y agregar una linea en que se le pasaran los parámetros necesarios al demonio.

START=yes
MECHANISMS="pam"
PARAMS="-m /var/spool/postfix/var/run/saslauthd -r"

Luego vamos a crear el archivo que usara el PAM para la autenticación SMTP, en /etc/pam.d/smtp

auth required pam_mysql.so user=mail_admin passwd=m41l_4dm\n host=my.db.server db=mailserver table=users usercolumn=email passwdcolumn=password crypt=1
account sufficient pam_mysql.so user=mail_admin passwd= m41l_4dm\n host=my.db.server db=mailserver table=users usercolumn=email passwdcolumn=password crypt=1

Luego se crea un archivo dentro del directorio $config_directory/sasl/ con el nombre smtpd.conf
con las siguientes lineas.

pwcheck_method: saslauthd
log_level: 7
mech_list: login plain
mysql_verbose: yes

Después reiniciamos el postfix.

:~# /etc/init.d/postfix restart
:~# /etc/init.d/saslauthd restart

para FreeBSD seria

:~# /usr/local/etc/rc.d/postfix restart
:~# /usr/local/etc/rc.d/saslauthd restart

lo otro que queda es crear un par de registros en nuestra base de datos y ya esta todo funcionando!

mysql -u mail_admin -p
Password:

USE mailserver;
Se Debe crear al menos una entrada para el dominio que se va a manejar.
INSERT INTO `domains` (`domain`) VALUES ('midominio.org');
INSERT INTO `users` (`email`, `password`, `quota`) VALUES ('user@midominio.org', ENCRYPT('Mykl4v3'), 10485760);
(Asegúrense de usar la función ENCRYPT para almacenar la clave de acceso encriptada!)
Si quiere agregar entradas en las otras tablas, debe quedar como esto:

INSERT INTO `forwardings` (`source`, `destination`) VALUES ('pepe@midiminio.org', 'user@midominio.org');
INSERT INTO `transport` (`domain`, `transport`) VALUES ('midominio.org', 'smtp:mx.midominio.org');

Configuracion del Squirrelmail
en el config.php se deben editar las siguientes lineas.

$imap_server_type = 'courier';
$imap_auth_mech = 'login';

martes, 23 de septiembre de 2008

Configurando DNS

DNS
Muela (pero necesaria)
El Domain Name System (DNS) es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar diferentes tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio.

La asignación de nombres a direcciones IP es ciertamente la función más conocida de los protocolos DNS. Por ejemplo, si la dirección IP del sitio FTP de prox.ve es 200.64.128.4, la mayoría de la gente llega a este equipo especificando ftp.prox.ve y no la dirección IP. Además de ser más fácil de recordar, el nombre es más fiable. La dirección numérica podría cambiar por muchas razones, sin que tenga que cambiar el nombre.

Archivos de Zona
Los ficheros de zona que contienen información sobre el espacio de nombre particular se almacenan en un directorio, que por defecto es /var/cache/bind. Cada fichero de zona se nombra generalmente de tal manera que se refiere al dominio en cuestión e identifica el fichero que contiene los datos de zona como cmw.rimed.cu-zone.

Cada fichero de zona puede contener directivas y registros de recursos. Las directivas dicen al servidor de nombres que efectúe una determinada acción o que aplique una configuración especial a la zona. Los registros de recursos definen los parámetros de la zona asignando una identidad a sistemas particulares en el interior del espacio de nombre de la zona. Las directivas no son obligatorias pero los registros de recursos son necesarios para ofrecer un servicio de nombres a dicha zona. Todas las directivas y registros de recursos tienen que estar en la línea correspondiente.

Se pueden escribir comentarios en los ficheros de zona después de los puntos y comas (;).

Directivas de los Archivos de Zona
$INCLUDE — Dice a named que incluya otro fichero de zona en el fichero de zona donde se usa la directiva. Así se pueden almacenar configuraciones de zona suplementarias que dependen del fichero de zona principal.
$ORIGIN — Determina el nombre del registro no cualificado, como por ejemplo los que especifican solamente el host.
Por ejemplo, un fichero de zona puede contener la línea siguiente:
$ORIGIN domain.com

Directivas de los Archivos de Zona
$TTL — Ajusta el valor Time to Live (TTL) predeterminado para la zona. Este es el tiempo, en segundos, que se da a los servidores de nombres para determinar cuánto tiempo los registros de recursos de la zona serán válidos. Un registro de recursos puede contener su propio valor TTL, que tendrá prioridad sobre la directiva presente.

Registros de Recursos
El componente principal de un archivo de zona es su registro de recursos.
Los registros de recursos de ficheros de zona contienen columnas de datos, separadas por un espacio, que definen estos registros. Todos los registros de recursos de ficheros de zona están asociados a un tipo particular que designa el motivo del registro. A continuación le mostramos los tipos de registros más frecuentes:

Registros de Recursos [ A ]
A — Registro de dirección que especifica una dirección IP que se debe asignar a un nombre, como en el ejemplo:
IN A
Si se omite el valor , el registro A designa una dirección IP predeterminada para la parte superior del nombre. Este sistema es la base de todas las peticiones que no sean FQDN.
Consideremos los siguiente ejemplos del registro A para el fichero de la zona domain.com:
IN A 10.0.1.3
server1 IN A 10.0.1.5
Las peticiones para el dominio domain.com se dirigen al valor 10.0.1.3, mientras que las del dominio server1.domain.com se dirigen al valor 10.0.1.5.

Registros de Recursos [ CNAME ]
CNAME — Registro del nombre canónico, que enlaza un nombre con otro: un alias.
El siguiente ejemplo le dice a named que cualquier petición enviada a señalará el host, . Los registros CNAME que usan un esquema de nombres comunes en el host correcto.
IN CNAME
Examinemos el siguiente ejemplo. En esta configuración un registro A liga un nombre de host a una dirección IP, mientras que el registro CNAME señala el nombre del host más utilizado www.
server1 IN A 10.0.1.5
www IN CNAME server1

Registros de Recursos [ MX ]
MX — Registro Mail eXchange, que dice dónde se tiene que dirigir el correo enviado a un nombre de espacio particular controlado para esa zona.
IN MX
La opción le permite listar numéricamente los servidores de correo que seleccione para recibir mensajes para ese espacio de nombres, dando preferencia a ciertos sistemas de correo. El registro de recursos MX tiene el valor más bajo de la opción , pero puede ajustar varios servidores de correo con el mismo valor para distribuir el tráfico de correo entre ellos.
La opción puede ser un nombre de host o un FQDN, siempre y cuando se oriente hacia el sistema adecuado.
IN MX 10 mail.domain.com.
IN MX 20 mail2.domain.com.
En este ejemplo, el primer servidor de correo mail.domain.com se prefiere al servidor mail2.domain.com para recibir los correos destinados al dominio domain.com.

Registros de Recursos [ NS ]
NS — Registro de servidor de nombres (NameServer) que indica a los servidores los servidores de nombres que tienen la autoridad de una determinada zona.
Este es un ejemplo del registro NS:
IN NS
La opción tiene que ser un FQDN.
A continuación, dos nombres de servidores están listados como autorizados para el dominio. No es importante si estos servidores de nombre son esclavos o no o si uno es maestro, ambos son considerados como autorizados.
IN NS dns1.domain.com.
IN NS dns2.domain.com.

Registros de Recursos [ PTR ]
PTR — Registro PoinTeR creado para orientar hacia otra parte del espacio de nombres.
Los registros PTR sirven, sobre todo, para la resolución inversa de nombres ya que reorientan las direcciones IP hacia un nombre determinado.

Registros de Recursos [ SOA ]
SOA — Registro “Start Of Authority”, que proclama información importante sobre la autoridad de determinados servidores sobre determinados espacios de nombres.
Está situado detrás de las directivas y es el primer registro en un fichero de zona.
El siguiente ejemplo muestra la estructura básica de un registro SOA:
@ IN SOA (




)

El símbolo @ sitúa la directiva $ORIGIN (o el nombre de zona, si la directiva $ORIGIN no está instalada) mientras que el espacio de nombre esta7aacute; definido por el registro presente de recursos SOA. El servidor de nombres primario que tiene la autoridad para este dominio la usa la opción , y la dirección de correo electrónico de la persona con la que hay que contactar se reemplazan con .

La opción se aumenta cada vez que cambia el fichero de zona con el fin de que named sepa que debe recargar esta zona. dice a todos los servidores esclavos cuánto tiempo tienen que esperar antes de pedir información al servidor de nombres maestro si se han realizado cambios en la zona. El valor lo utiliza el servidor esclavo para determinar si está usando datos caducados o si tiene que actualizarlos.
La opción informa al servidor de nombres esclavo sobre el intervalo de tiempo que tiene que esperar antes de emitir una petición de actualización de datos en caso de que el servidor de nombres maestro no le responda. Si el servidor maestro no ha respondido a una petición de actualización de datos antes que se acabe el intervalo de tiempo , responde el servidor esclavo presentándose como servidor con la autoridad en este espacio de nombres.

La opción pide a los otros servidores de nombres que sitúen en caché la información de esa zona durante al menos ese periodo.

En BIND, el tiempo se mide en segundos. Sin embargo, puede usar las abreviaciones de las otras unidades de tiempo como minutos (M), horas (H), días (D), y semanas (W). La Tabla le muestra la cantidad de tiempo en segundos y el periodo equivalente en otro formato.

Se acabó la muela

aptitude install bind9 dnsutils

Configuración del dominio en /etc/bind/

Edición del archivo named.conf.local para declarar el nuevo dominio

zone “dominio.cu” IN {
type master;
file “dominio.cu.db”;
allow-transfer { none; };
allow-update { none; };
notify yes;
};

zone “32/28.0.20.172.in-addr.arpa” IN {
type master;
file “0.20.172.rev”;
allow-transfer { none; };
allow-update { none; };
notify yes;
};

Edición del archivo named.conf.options y habilitamos

query-source address * port 53;

forwarders {
192.168.150.35;
};

Creamos los archivos de zona de dominio en /var/cache/bind

touch dominio.db. Archivo de zona de dominio es donde esta la informacion sobre que nombre de host se asocia con que dirección IP. Este lleva dentro

$TTL 86400
@ IN SOA dominio.cu. admin.dominio.cu. (
08040901 ; serial
604800 ; refresh
86400 ; retry
2419200 ; expire
604800 ; ttl
)
IN NS ns.dominio.cu.
IN MX 10 mx.dominio.cu.
IN A 172.20.0.35
ns IN A 172.20.0.35
proxy IN A 172.20.0.34
mail IN CNAME ns
mx IN CNAME ns
correo IN CNAME ns
ftp IN CNAME proxy
www IN CNAME proxy
public IN CNAME proxy

Las primeras 6 lineas corresponden a configuracion de la zona. Se dice cual es la zona, quien es su responsable y algunos datos como son: numero de serie que indica cuando se ha actualizado, cada cuanto actualizar la base de datos (en este caso usamos la fecha a la inversa seguida del numero de veces que se ha actualizado en ese dia), cada cuanto reintentar una transferencia de zona, cuando caduca la informacion de zona y un tiempo de vida por defecto. En el momento que se hagan cambios en los ficheros de zona, hay que incrementar el numero de serie, sobre todo si es un servidor primario facilitando informacion a secundarios.
Las dos lineas siguientes dicen quien es el servidor DNS primario quien deberia coger el correo en ese dominio (el numero 10 indica la prioridad; en el caso de que tengamos dos entradas de este tipo, sirve para saber donde intentar primero el envio del correo. A numeros bajos, mayor prioridad). Pueden tener multiples lineas de cada uno de estos campos.
El resto del fichero de zona relaciona todas las maquinas e IP’s.

touch 0.20.172.rev. El fichero inverso es parecido al archivo de zona pero con alguna modificacion.

$ORIGIN 32/28.0.20.172.in-addr.arpa.
$TTL 86400
@ IN SOA dominio.cu. admin.dominio.cu. (
07122201 ; serial
604800 ; refresh
86400 ; retry
2419200 ; expire
604800 ; ttl
)
IN NS ns.dme00.cmw.rimed.cu.
33 IN PTR router.dominio.cu.
35 IN PTR ns.dominio.cu.
34 IN PTR proxy.dominio.cu.

La primera sección de este fichero es la misma que explicabamos para el archivo de zona. La seccion de abajo es diferente. Aquí listamos primero la ultima parte de la IP y por tanto el nombre del puesto al final.

Una vez hecho esto vamos a /etc/resolv.conf y revisamos que este puesto nuestro dominio y nuestro servidor DNS

Debe estar así
domain dominio.cu
search dominio.cu
nameserver 172.20.0.35

Uno vez hecho esto

Reiniciamos el bind invoke-rc.d bind9 restart y le hacemos consultas para ver si funciona¿como hacemos consulta? así:
dig mx.dominio.cu
debe de responder algo así

dig mx.dominio.cu

; <<>> DiG 9.3.4 <<>> mx.dominio.cu
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48090
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;mx.dme00.cmw.rimed.cu. IN A

;; ANSWER SECTION:
mx.dominio.cu. 18413 IN CNAME ns.dominio.cu.
ns.dominio.cu. 14606 IN A 172.20.0.35

;; AUTHORITY SECTION:
dominio.cu. 14606 IN NS ns.dominio.cu.

;; Query time: 3 msec
;; SERVER: 192.168.150.35#53(192.168.150.35)
;; WHEN: Sat Apr 19 08:23:55 2008
;; MSG SIZE rcvd: 86

viernes, 11 de abril de 2008

Acentos en la consola

$ loadkeys es (español)
$ loadkeys us (usa)

Activar una Particion Swap

en /etc/fstab debes de tener una línea similar a esta para que lo haga
por defecto.
/dev/hda7 none swap defaults 0 0
de todas formas si quieres que use una partición que acabas de crear
usa el comando
swapon -a
con swapon -s puedes ver las particiciones de intercambio que está
usando tu sistema. Si la partición la acabas de crear tienes que usar
el comando
mkswap /dev/hdxx
para que formatee la partición y puedas usarla.

Cambiar el reloj

Instalar el paquete tzdata en caso de que este instalado reinstalarlo

# hwclock --set --date " " ejemplo: hwclock --set --date="9/20/02 17:45:05"

#date mes_dia_hora:minuto_año, ejemplo: date 0607172207
#> hwclock --hctosys reloj hardware a reloj sistema
#> hwclock --systohc reloj sistema a reloj hardware