Páginas

jueves, 7 de enero de 2010

Gentoo la macro distribucion GNU-linux


http://www.gentoo.org/doc/es/handbook/handbook-x86.xml

Actualmente gentoo linux ha eliminado los paquetes correspondiente a kde 3.5. Actualmente la versión utilizada de kde es la 4.3.3. Muchos prefieren kde 3.5 ó gnome. Con gnome no hay problema. En el primer caso será necesario seguir una serie de pasos muy específicos. Si es su caso dirijase a:

Gentoo y kde 3.5 how to

Instalar Gnome en Gentoo (mi preferido):

Gentoo + escritorio gnome


Siguiendo la guia de instalacion desde el sitio web oficial de Gentoo linux he instalado la distribucion Gentoo Linux. La mejor de todas, (opinión personal).

Por lo tanto no voy a repetir aquí lo que tan bién explicado está en el sitio de gentoo linux. Bien ganada la fama de ser la distribución más documentada.

Lo que si será interesante es comentar la instalación en un portátil Dell inspiron 1525 con Chip Intel GM965/GL960, pantalla de 15'4. Kernel 2.6.31-r6.

Intel(R) Core(TM)2 Duo CPU T5750 @ 2.00GHz
# lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
# lspci | grep -i display
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
# lspci|grep -i ethernet
09:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller (rev 12)
# lspci|grep -i wireless
0b:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)

En el kernel:

Device Drivers ...
Graphics Support
<*> /dev/appgart (AGP support)
<*> Intel 440LX/BX/GX, 18xx and
<*> Direct Rendering M (Xfreex64
<*> Intel 830M, 8456,
<*> i915 driver

Editar /etc/make.conf y agregar VIDEO_CARDS="i810"
# vim /etc/make.conf
# Video Intel GM965/GL960
VIDEO_CARDS="i810"

INTERFACES_DEVICES="evdev keyboard mouse"

Instalar Paquete para Intel Graphics:
# emerge xf86-video-intel

Instalación del servidor gráfico Xorg
El proyecto X.org creó y mantiene una implementación de código abierto, libre y redistribuible del sistema X11 Por defecto, Xorg usa evdev, un controlador de entrada genérico. Es el motor gráfico necesario para la posterior instalación del o los entorno(s) gráfico(s).

# emerge xorg-x11
# rc-udpate add dbus default
# Xorg -configure

# /etc/init.d/hald start
# rc-update add hald default

Generando un xorg.conf
# Xorg -configure

Probar el archivo xorg.conf.new
# X -config /root/xorg.conf.new

Copiar xorg.config
# cp /root/xorg.conf.new /etc/X11/xorg.conf

Para configurar el tamaño de memoria de vídeo se debe utilizar la opción de dispositivo VideoRam,

# sudo lspci -vv | grep -i memory

Region 0: Memory at fea00000 (64-bit, non-prefetchable) [size=1M]
Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]

Calcular un valor para la opción VideoRam.
prefetchable * 1024 kb = res - non-prefetchable = VideoRam:
256 * 1024 = 262144
262144 - 1024 = 261120

Seguramente tendrá que editar y agregar estos valores para que funcione:
# vim /etc/X11/xorg.conf:

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/TTF/"
FontPath "/usr/share/fonts/OTF"
FontPath "/usr/share/fonts/Type1/"
FontPath "/usr/share/fonts/100dpi/"
FontPath "/usr/share/fonts/75dpi/"
EndSection

Section "Module"
Load "glx"
Load "dri"
Load "xtrap"
Load "record"
Load "extmod"
Load "dbe"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection

Section "Device"
Identifier "Card0"
Driver "intel"
Option "Monitor-LVDS" "Dell LFP"
VendorName "Intel Corporation"
BoardName "Mobile GM965/GL960 Integrated Graphics Controller"
BusID "PCI:0:2:0"
EndSection

Section "Monitor"
Identifier "Dell LFP"
Option "DPMS"
HorizSync 31.5-100
VertRefresh 58-61
Modeline "1920x1200_60.00" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync
Modeline "1680x1050_60.00" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -HSync +Vsync
Modeline "1280x800_60.00" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync
Option "PreferredMode" "1280x800"
EndSection

Probar el servidor X
# startx

Gentoo y escritorio Gnome (fuente: www.gentoo.org):

Ejemplo de parámetros USE en /etc/make.conf

USE="-qt3 -qt4 -arts -kde gtk gnome hal"

Puede agregar el parámetro USE branding para obtener una pantalla de inicio con un hermoso tema Gentoo en vez de la pantalla por defecto de Gnome:

Activando la pantalla de inicio Gentoo

# echo "gnome-base/gnome-session branding" >> /etc/portage/package.use

Una vez hecho esto, comience la instalación de GNOME vía emerge gnome:

Instalar GNOME

# emerge gnome

También puede optar por una instalación mínima de Gnome, usando gnome-light:

Instalar un entorno mínimo GNOME

# emerge gnome-light

Actualizar las variables de entorno

# env-update && source /etc/profile

Luego limpiaremos los servicios restantes.

Agregar hald y dbus al nivel de ejecución default

# /etc/init.d/hald start
# rc-update add hald default

# /etc/init.d/dbus start
# rc-update add dbus default

Primeras impresiones

Salga del shell de superusuario e ingrese como un usuario normal. Configuraremos nuestra sesión para ejecutar GNOME al escribir el comando startx

Establecer GNOME como entorno de escritorio predeterminado

$ echo "exec gnome-session" > ~/.xinitrc

A partir de la versión gnome-base/gnome-session-2.26.2, necesitará anteponer la variable XDG_MENU_PREFIX para obtener los menús de gnome si está usando el método ~/.xinitrc para lanzar su escritorio. (Si no usa ~/.xinitrc, podrá gestionarlo automáticamente, ninguna configuración adicional es necesaria).

Anteponiendo XDG_MENU_PREFIX a ~/.xinitrc

$ sed '1i\export XDG_MENU_PREFIX=gnome-' ~/.xinitrc

Ahora inicie su entorno gráfico escribiendo startx:

Iniciar GNOME

$ startx

He experimentado con kde4 y la verdad, no me convenció en absoluto:

Instalar kdebase, recomendable e instalar las demás aplicaciones por separado.
# emerge kde-base/kdebase-startkde

Mantengo el soporte para gnome, luego desinstalé kde4 y en el make.conf -qt4 -qt3 -kde
Incluir en /etc/make.config USE='-arts gtk gnome hal -kerberos kde qt3 qt4 wifi mmx sse sse"

nepomuk puede ralentizar su sistema, si quiere desinstalarlo:
# emerge --unmerge kde-base/nepomuk

Iniciar kde
# echo "exec startkde" > ~/.xinitrc
# startx

Para utilizar kdm
# emerge kde-base/kdm

Iniciar kdm por defecto, editar /etc/conf.d/xdm:
# vim /etc/conf.d/xdm
DISPLAYMANAGER="kdm"

Arrancar automáticamente kdm
# rc-update add xdm default

Gestor de redes wicd
# emerge wicd

Capturar pantalla
# emerge ksnapshot

Hacer funcionar flash a la primera (64 bits), de manera que se instale solo el plugin Flash de 64 bits.:
# echo "www-plugins/adobe-flash -32bit" >> /etc/portage/package.use
# emerge adobe-flash

# Flashblock lo encontrará en: -- > https://addons.mozilla.org/en-US/firefox/addon/433

Monitores de redes:
# emerge wmifinfo wmwifi

sábado, 19 de diciembre de 2009

Unir Linux a un dominio Active Directory

Hace falta tener instalados todos los paquetes cliente de Samba, Winbind, y Kerberos. Tambien es
necesario que haya cuentas para los usuarios y equipos Linux en Active
Directory.
1. Instalar los paquetes:
# aptitude install samba smbclient winbind krb5-user krb5-config
Detener samba y winbind
# /etc/init.d/samba stop
# /etc/init.d/winbind stop

Luego, cree un grupo Linux que albergue Machine Trust Accounts:
# groupadd machines

Agregar los hosts importantes a /etc/hosts
# /etc/hosts
192.168.1.55 samba.dominio.com samba1
192.168.1.35 windows1.dominio.com windows1

Asegurese de que /etc/resolv.conf contenga su servidor DNS:
nameserver 192.168.1.45

Ahora pruebe a conectar con el KDC. No debería haber errores.
# kinit freedom@dominio.com
Password for freedom@dominio.com

Tendra que editar /etc/samba/smb.conf para autenticar frente a Active Directory, utilizando su propio nombre de dominio, nombre NETBIOS, cadena del servidor y seccion realm de Kerberos. Será algo asi:

/etc/samba/smb.conf

[global]
workgroup = dominio
netbios name = samba1
realm = DOMINIO.COM
server string = Samba server one
security = ADS
encrypt passwords = yes

idmap uid = 10000-20000
idmap gid = 10000-20000
winbind use default domain = yes
winbind enum users = Yes
winbind enum groups = Yes
winbind separator = +

log file = /var/log/samba/log
log level = 2
max log size = 50
hosts allow = 192.168.1.

[homes]
comment = Home Directories
valid users = %S
read only = No
browseable = No

Edite /etc/nsswitch.conf incluya estas lineas
passwd: files winbind
group: files winbind
shadow: files

Inicie Samba y winbind. Una el pc Linux al dominio Active Directory, también establezca una Machine Trust Acount con la cuenta de administrador del servidor AD ó la de cualquier usuario con derechos administrativos.
# net ads join -U Administrador%password

En este momento deberia ver una cuenta de equipo nueva con el nombre NetBIOS de su PC Linux (samba1) en AD, debajo de equipos en la carpeta Equipos.

finalmente tiene que configurar los PAM (Pluggable Authentication Modules) de manera que permita la autenticación vía Winbind.

#
# The PAM configuration file for the Shadow `login' service
#
auth requisite pam_securetty.so
auth requisite pam_nologin.so
auth required pam_env.so
auth sufficient pam_winbind.so
auth required pam_unix.so nullok use:first_pass

account requisite pam_time.so
account sufficient pam_winbind.so
account required pam_unix.so

session required pam_unix.so
session optional pam_time.so
session optional pam_motd.so
session optional pam_mail.so standard noenv
session required pam_mkhomedir.so skel=/etc/skel umask=0027

Reinicie su maquina Linux,luego intente entrar en el dominio.

Por diseño Windows dificulta la interoperabilidad. Pero los programadores de Linux, hacen posible esta y las redes mixtas. Importante es la directiva pam_mkhomedir.so crea directorios personales para los usuarios la primera vez que entran.

Notese que como las cuentas de usuario son gestionadas en el servidor AD y estan disponibles via Winbind y PAM para Linux, no sera necesario crear cuentas duplicadas en el Ordenador LINUX. Aunque puede seguir teniendo cuentas locales en la máquina Linux. Estas son invisibles para Active Dir, y permiten a los usuarios administrativos acceder con libertad al servidor local ó remotamente via SSH.

Fuente: Administracion de Sistemas GNU-Linux Lubanovic, Bill; Adelstein, Tom.
Redes en Linux Carla Schroder

domingo, 13 de diciembre de 2009

Arrancar en modo texto en Debian

Debian arranca X Windows automáticamente, probablemente con el Administrador de pantallas de Gnome (GDM), el Administrador de pantallas K (KDM), o el Administrador de pantallas X (XDM). En Sistemas Debian los niveles de ejecución del 2 al 5 son, de forma predeterminada, iguales. Seguramente ha elegido durante la instalación inicio gráfico, los niveles de ejecución del 2 al 5 se iniciarán con inicio de sesión gráfico. ¿Quiere configurarlo todo para que se inicie sólo con una sesión de texto?

Primero debe averiguar cuál es el administrador de pantallas que utiliza su sistema, eliminarlos de los niveles de ejecución apropiados. Para comprobarlo utilice:

$ ps ax | grep dm

2917 ? S 0:00 /usr/sbin/gdm
2921 tty7 S<> .. /init.d/gdm
/etc/rc1.d/K01gdm -> .. /init.d/gdm
/etc/rc2.d/K01gdm -> .. /init.d/gdm
/etc/rc3.d/K01gdm -> .. /init.d/gdm
/etc/rc4.d/K01gdm -> .. /init.d/gdm
/etc/rc6.d/K01gdm -> .. /init.d/gdm
/etc/rc5.d/S30gdm -> .. /init.d/gdm

Puede hacer lo mismo de otra manera:
Para que GDM se ejecute en el nivel de ejecución 5 y prioridad 30, muévase hacia /etc/rc5.d/ y cree un enlace simbólico a gdm:

# cd /etc/rc5.d/
# ln -s /etc/init.d/gdm S30gdm

y detenga el resto
# cd /etc/rc0.d/
# ln -s /etc/init.d/gdm K01gdm
# cd /etc/rc1.d/
# ln -s /etc/init.d/gdm K01gdm
# cd /etc/rc2.d/
# ln -s /etc/init.d/gdm K01gdm
# cd /etc/rc3.d/
# ln -s /etc/init.d/gdm K01gdm
# cd /etc/rc4.d/
# ln -s /etc/init.d/gdm K01gdm
# cd /etc/rc6.d/
# ln -s /etc/init.d/gdm K01gdm

Otra forma de habilitar un servicio, update-rc.d nombre defaults n-start n-stop:
# update-rc.d gdm defaults 30 01

Por último edite /etc/inittab para establecer el nivel de ejecución predeterminado para que los arranques del sistema se realicen en modo de texto. El nivel de ejecución predeterminado de Debian es 2.

# The default runlevel.
id:2:initdefault:

También debe saber que el arranque en modo texto sigue ofreciendo la opción de ejecutar X Windows cuando desee. Ejecute startx para ejecutar X Windows.

Si en el archivo /etc/inittab el 2 lo sustituye por 5 arrancará automáticamente X Windows.

update-rc.d es el comando utilizado por Debian para editar niveles de ejecución. El indicador -f quiere decir "forzar la eliminación de los symlinks aunque siga existiendo /etc/init.d/nombre". Así se preserva el script de inicio en /etc/init.d, algo que definitivamente no quiere eliminar.

Los servicios habilitados para iniciar en el arranque que no utilice, por ejemplo, pcmcia (es un periférico diseñado para computadoras portátiles), demonio cron, postfix, etc podrá desactivarlos de manera que no desperdiciará inútilmente los recursos de hardware.

miércoles, 25 de noviembre de 2009

Nslookup en modo interactivo

El modo interactivo de nslookup es mucho mas interesante. Ademas de buscar maquinas por su nombre, se puede tambien preguntar por cualquier registro DNS, y transferir la informacion de zona completa de un dominio.

Cuando se invoca sin argumentos, nslookup mostrara el servidor de nombres en uso y entrara en modo interactivo. En el prompt ‘>’ que se mostrara, puede teclear cualquier nombre de dominio por el que quiera preguntar. Por defecto, preguntara por registros de tipo A, es decir, aquellos que dan una direccion IP correspondiente al dominio introducido.

Esta puede ser una sesion con nslookup:
$ nslookup
Server: 80.58.61.250
Address: 80.58.61.250#53

** server can't find nslookup: NXDOMAIN

Preguntaremos por un nombre que tiene una IP asociada:
> pucmm.edu.do

Non-authoritative answer:
Name: pucmm.edu.do
Address: 200.26.171.83
>

Si intenta preguntar por un nombre que no tiene direccion IP asociada, pero se encuentran otros registros relacionados en el DNS, el programa respondera con un error “No type A records found” (no se encontraron registros de tipo A). Sin embargo, puede hacer preguntas para otro tipo de registros sin mas que usar el comando “set type”. Por ejemplo, para obtener el registro SOA de pucmm.edu.do:

> set type=SOA
> pucmm.edu.do

Non-authoritative answer:
pucmm.edu.do
origin = server1.pucmm.edu.do
mail addr = hostmaster.nic.do
serial = 2009112201
refresh = 7200
retry = 900
expire = 604800
minimum = 86400

Authoritative answers can be found from:
mail.pucmm.edu.do internet address = 200.26.171.82
>

De manera similar, se pueden pedir registros MX, etc. Y mediante la palabra ANY se
obtendran todos los RR asociados al nombre escrito.

> set type=MX
> pucmm.edu.do

Non-authoritative answer:
pucmm.edu.do mail exchanger = 0 mail.pucmm.edu.do.

Authoritative answers can be found from:
mail.pucmm.edu.do internet address = 200.26.171.82
>

Una aplicacion practica de nslookup para la depuracion es obtener la lista de servidores raiz. Esto puede hacerse pidiendo todos los registros NS asociados al dominio raiz:

> set type=NS
> .
Non-authoritative answer:
. nameserver = D.ROOT-SERVERS.NET.
. nameserver = L.ROOT-SERVERS.NET.
. nameserver = F.ROOT-SERVERS.NET.
. nameserver = B.ROOT-SERVERS.NET.
. nameserver = H.ROOT-SERVERS.NET.
. nameserver = I.ROOT-SERVERS.NET.
. nameserver = M.ROOT-SERVERS.NET.
. nameserver = J.ROOT-SERVERS.NET.
. nameserver = G.ROOT-SERVERS.NET.
. nameserver = C.ROOT-SERVERS.NET.
. nameserver = K.ROOT-SERVERS.NET.
. nameserver = A.ROOT-SERVERS.NET.
. nameserver = E.ROOT-SERVERS.NET.

Authoritative answers can be found from:
D.ROOT-SERVERS.NET internet address = 128.8.10.90
L.ROOT-SERVERS.NET internet address = 199.7.83.42
L.ROOT-SERVERS.NET has AAAA address 2001:500:3::42
F.ROOT-SERVERS.NET internet address = 192.5.5.241
F.ROOT-SERVERS.NET has AAAA address 2001:500:2f::f
B.ROOT-SERVERS.NET internet address = 192.228.79.201
H.ROOT-SERVERS.NET internet address = 128.63.2.53
H.ROOT-SERVERS.NET has AAAA address 2001:500:1::803f:235
I.ROOT-SERVERS.NET internet address = 192.36.148.17
M.ROOT-SERVERS.NET internet address = 202.12.27.33
M.ROOT-SERVERS.NET has AAAA address 2001:dc3::35
J.ROOT-SERVERS.NET internet address = 192.58.128.30
J.ROOT-SERVERS.NET has AAAA address 2001:503:c27::2:30
G.ROOT-SERVERS.NET internet address = 192.112.36.4
>

Bibliografia: Guia de Administracion de Redes con Linux. Olaf Kirch.
Exelente libro disponible en formato pdf gratuito. Traducido al español por el proyecto luCAS.

miércoles, 18 de noviembre de 2009

Conexion a Internet compartida IP WAN dinamica

Tendremos una conexión a Internet compartida y un cortafuegos utilizando un switch DLINK 4 puertos Ethernet.

Para este ensayo los componentes de hardware a utilizar:

- Un portatil con GNU-Linux Debian Lenny con dos interfaces de red. Una alámbrica que la denominaremos como la nombra el sistema: "eth0" y otra interface de nombre "wlan0" inalámbrica, la 3945ABG Intel Centrino, un swicth dlink con 4 puertos Ethernet, dos claves CAT 5E UTP conectores RJ45.

- Un segundo de sobremesa con Ubuntu Jaunty instalado y una interfaz de red Ethernet eth0.

Lo primero es desactivar el cortafuegos si lo tenemos activado. Puede ser necesario instalar los paquetes net-tools, ifrename y Nmap en ambos pc's.

Configuración de tarjetas de interfaz de red en Debian:
Configuramos la tarjeta NIC LAN con una IP estática del tipo A para nuestro esquema de red privada. No asignaremos la dirección LAN con DHCP.

Configuraremos la interfaz WAN con la información proporcionada por nuestro ISP. Tendremos direcciones IP local estáticas y una dirección PUBLICA dinámica. No nos conectamos a internet todavía.

Para entrar en el router debemos estar en la misma red. Conectamos las dos terminales RJ45 a las tarjetas eth0 del portatil y eth0 del sobremesa y al switch local dlink. Nos ponemos en la misma red:

# ifconfig eth0 192.168.1.2 netmask 255.255.255.0 eth0

Entramos en el router con ip por defecto 192.168.1.1, user=admin, passw=admin.

Ahora, clic en la pestaña SETUP y acto seguido en MANAGEMENT IP. Cambiamos la IP a 10.0.0.1 netmask 255.255.255.0, aplicar para guardar los cambios. La nueva IP del router es 10.0.0.1.

Editamos el archivo interfaces con vim, ¿porque vi?, porque respeta el formato, para que quede así:
# vim interfaces
## /etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# lan interface
auto eth0
iface eth0 inet static
address 10.0.0.2
netmask 255.255.255.0
gateway 10.0.0.1
network 10.0.0.0
broadcast 10.0.0.255

# wan interface
auto wlan0
iface wlan0 inet dhcp

Para añadir los servidores DNS de nuestro ISP a /etc/resolv.conf (para las direcciones DHCP WAN no se sigue el mismo procedimiento):
#vim /etc/resolv.conf
nameserver 80.58.61.250
nameserver 80.58.61.254

Ahora, fijamos los nombres de las interfaces con ifrename:
Primero buscamos las direcciones MAC de nuestras interfaces con ifconfig
$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:21:9b:e2:ff:44
......
wlan0 Link encap:Ethernet HWaddr 00:1f:dd:fd:a0:3c

En este momento introducimos nuestros nombres de interfaces y direcciones MAC en /etc/iftab. Si no existe el archivo iftab deberá crearlo.

# vim /etc/iftab
## /etc/iftab
eth0 mac 00:21:9b:e2:ff:44
wlan0 mac 00:1f:dd:fd:a0:3c

En el pc de sobremesa, con el que queremos compartir la conexión a Internet, la configuración de la tarjeta eth0 alámbrica tendrá IP 10.0.0.3 estática y los dns de su proveedor de acceso a Internet (ISP). Fíjese que el gateway es la direccion IP local asignada al primer ordenador, (el portatil):
ipaddress 10.0.0.3
netmask 255.255.255.0
gateway 10.0.0.2
network 10.0.0.0
broadcast 10.0.0.255

Ahora añadimos los servidores DNS de nuestro ISP a /etc/resolv.conf (para las direcciones DHCP WAN no se sigue el mismo procedimiento):
#vim /etc/resolv.conf
nameserver 80.58.61.250
nameserver 80.58.61.254

Añadiremos estos parámetros del kernel al archivo /etc/sysctl.conf necesarios para la conexión a Internet compartida.
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_source_route = 0

Llamaremos /usr/local/bin/fw_nat al siguiente guión copielo y hágalo ejecutable en rw para root con chmod 0700.

#############Inicio del guion###################
#!/bin/sh
##/usr/local/bin/fw_nat
#iptables firewall script for sharing
#broadband Internet, with no public services

#define variables
ipt="/sbin/iptables"
mod="/sbin/modprobe"
LAN_IFACE="eth0"
WAN_IFACE="wlan0"

#basic set of kernel modules
$mod ip_tables
$mod ip_conntrack
$mod iptable_filter
$mod iptable_nat
$mod iptable_mangle
$mod ipt_LOG
$mod ipt_limit
$mod ipt_state
$mod ipt_MASQUERADE

#add these for IRC and FTP
$mod ip_nat_ftp
$mod ip_nat_irc
$mod ip_conntrack_ftp
$mod ip_conntrack_irc

# Flush all active rules and delete all custom chains
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X

#Set default policies
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT 43303031443230333138303133

$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT

#this line is necessary for the loopback interface
#and internal socket-based services to work correctly
$ipt -A INPUT -i lo -j ACCEPT

#Enable IP masquerading
$ipt -t nat -A POSTROUTING -o $WAN_IFACE -j MASQUERADE

#Enable unrestricted outgoing traffic, incoming
#is restricted to locally-initiated sessions only
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A FORWARD -i $WAN_IFACE -o $LAN_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $LAN_IFACE -o $WAN_IFACE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Accept important ICMP messages
$ipt -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT

#Reject connection attempts not initiated from inside the LAN
$ipt -A INPUT -p tcp --syn -j DROP
#############final del guion########################

Los nuevos parámetros sysctl debe abrirlos, para ello teclee desde el terminal:
# /sbin/sysctl -p

Ejecute firewall_nat
# /usr/local/bin/fw_nat

Conecte la interfaz WAN a su router de banda ancha:
# /sbin/ifup wlan0
# iwconfig wlan0 essid "WLAN_AB"
# iwconfig wlan0 essid "WLAN_AB" key 43303031443230333183303433
# dhclient wlan0

Después de ejecutar dhclient wlan0, Verá algo como:
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/wlan0/00:1f:dd:fd:a0:3c
Sending on LPF/wlan0/00:1f:dd:fd:a0:3c
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 11
DHCPOFFER from 10.185.228.9
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPACK from 10.185.228.9
bound to 192.168.1.34 -- renewal in 122773 seconds.

Ya tiene que poder enviar ping desde y hacia las ip's 10.0.0.3 y 10.0.0.2 y navegar por Internet en cualquiera de los dos ordenadores.

Probado el 28 octubre 2009.

Bibliografía: Redes en Linux. Guia de Referencia. Carla Schroder.
Guia de Administracion de Redes con Linux. Olaf Kirch & Terry Dawson.