8 de abril de 2007

Instalar Firewall "Arno-iptables-firewall" en Debian Etch

Hola. Hoy mostraré como instalar el cortafuegos "Arno's IPTABLES firewall script". Es muy sencillo de configurar e instalar y apenas necesitaréis conocimientos sobre IPTABLES para hacerlo funcionar.


La página del autor es ésta:
http://rocky.eld.leidenuniv.nl/

NOTA:
- Éste script deberíamos instalarlo una vez haya finalizado la instalación base de nuestra Debian Etch.
- Para seguir estos pasos debes tener conexión a internet medianter un router/modem.

1. Nos logueamos en una terminal gráfica o texto (CTRL+ALT+F1...F6) como usuario root e instalamos el paquete "arno-iptables-firewall":
$ su -
password:

# aptitude install arno-iptables-firewall
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalarán automáticamente los siguientes paquetes NUEVOS:
gawk
Se instalarán los siguiente paquetes NUEVOS:

arno-iptables-firewall gawk
0 paquetes actualizados, 2 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 792kB de ficheros. Después de desempaquetar se usarán 2511kB.
¿Quiere continuar? [Y/n/?] y
escribiendo información de estado extendido... Hecho
Des:1 http://ftp.rediris.es etch/main gawk 1:3.1.5.dfsg-4 [694kB]
Des:2 http://ftp.rediris.es etch/main arno-iptables-firewall 1.8.8.c-1 [97,7kB]
Descargados 792kB en 44s (17,8kB/s).

2. Una vez instalado, nos aparecerá la siguiente ventana que nos pregunta si queremos configurar el paquete mediante debconf.


RESPUESTA: yes [ENTER]


3. En la siguiente ventana debemos especificar la interfaz de red por la que salimos a internet. Como me conecto a través de un modem/router y sólo tengo una tarjeta de red, la interface es "eth0".


RESPUESTA: eth0 [ENTER]


4. Ahora debemos especificar que puertos TCP necesitamos tener abiertos en nuestro firewall.
EJEMPLO:
- Amule: Abrir los puertos 4661 TCP, 4664 UDP
- Servidor SSH: abrir el puerto 22

NOTA:
El firewall de nuestro router debe tener abiertos también éstos puertos.


RESPUESTA: 4661 22 [ENTER]


5. Nos pedirá que puertos UDP queremos abrir:


RESPUESTA: 4664 [ENTER]


6. La ventana siguiente sólo deberemos configurarla en el caso de que tengamos varias tarjetas de red (eth0, eth1...) y una de ellas, esté configurada hacia nuestra red local a la cual queremos permitirle cualquier conexión a nuestro equipo.


RESPUESTA: dejar_en_blanco [ENTER]


7.
Finalmente iniciamos nuestro firewall.


RESPUESTA: yes [ENTER]

Escribiendo información de estado extendido... Hecho
Preconfigurando paquetes ...
Seleccionando el paquete arno-iptables-firewall previamente no seleccionado.
(Leyendo la base de datos ...
88957 ficheros y directorios instalados actualmente.)
Desempaquetando arno-iptables-firewall (de .../arno-iptables-firewall_1.8.8.c-1_all.deb) ...
Configurando arno-iptables-firewall (1.8.8.c-1) ...

Arno's Iptables Firewall Script v1.8.8c

-------------------------------------------------------------------------------
Sanity checks passed...OK
Detected IPTABLES module... Loading additional IPTABLES modules:
All IPTABLES modules loaded!
Configuring /proc/.... settings:
Enabling anti-spoof with rp_filter
Enabling SYN-flood protection via SYN-cookies
Disabling the logging of martians
Disabling the acception of ICMP-redirect messages
Setting the max. amount of simultaneous connections to 16384
Enabling protection against source routed packets
Setting default conntrack timeouts
Enabling reduction of the DoS'ing ability
Setting Default TTL=64
Disabling ECN (Explicit Congestion Notification)
Enabling support for dynamic IP's
Flushing route table
/proc/ setup done...
Flushing rules in the filter table
Setting default (secure) policies
Using loglevel "info" for syslogd

Setting up firewall rules:
-------------------------------------------------------------------------------
Accepting packets from the local loopback device
Enabling setting the maximum packet size via MSS
Enabling mangling TOS
Logging of stealth scans (nmap probes etc.) enabled
Logging of packets with bad TCP-flags enabled
Logging of INVALID packets disabled
Logging of fragmented packets enabled
Logging of access from reserved addresses enabled
Setting up anti-spoof rules
Reading custom IPTABLES rules from /etc/arno-iptables-firewall/custom-rules
Loading (user) plugins
Setting up INPUT policy for the external net (INET):
Enabling support for a DHCP assigned IP on external interface(s): eth0
Logging of explicitly blocked hosts enabled
Logging of denied local output connections enabled
Packets will NOT be checked for private source addresses
Allowing the whole world to connect to TCP port(s): 4661 22
Allowing the whole world to connect to UDP port(s): 4664
Denying the whole world to send ICMP-requests(ping)
Logging of dropped ICMP-request(ping) packets enabled
Logging of dropped other ICMP packets enabled
Logging of possible stealth scans enabled
Logging of (other) connection attempts to PRIVILEGED TCP ports enabled
Logging of (other) connection attempts to PRIVILEGED UDP ports enabled
Logging of (other) connection attempts to UNPRIVILEGED TCP ports enabled
Logging of (other) connection attempts to UNPRIVILEGED UDP ports enabled
Logging of other IP protocols (non TCP/UDP/ICMP) connection attempts enabled
Logging of ICMP flooding enabled
Applying INET policy to external (INET) interface: eth0 (without an external subnet specified)
Security is ENFORCED for external interface(s) in the FORWARD chain

Apr 02 23:36:20 All firewall rules applied.


Ya tendremos nuestro firewall configurado.

Podemos volver a ejecutar la configuración del firewall con el siguiente comando:
# dpkg-reconfigure arno-iptables-firewall

Si lo que queremos es deshabilitar temporalmente el cortafuegos:
# /etc/init.d/arno-iptables-firewall stop

Para habilitarlo de nuevo:
# /etc/init.d/arno-iptables-firewall start


Saludos y Suerte.
Domi - Gran Canaria (Islas Canarias)

6 de abril de 2007

Instalar Beryl en Debian Etch

Esta guía está basada en la información de instalación que se encuentra en la página http://www.beryl-project.org/.
Más concretamente:
http://wiki.beryl-project.org/wiki/Install_Beryl_on_Debian


Para seguir ésta instalación, debemos tener el escritorio KDE, una tarjeta gráfica ATI y haber configurado la aceleración gráfica con el driver open-source "radeon". (Ver guía)

Si tienes una tarjeta NVIDIA, debes configurar primero la aceleración gráfica.
(Instalación mediante module-assistant)
(Instalación mediane descarga del driver de la web oficial)


1. Nos logueamos en una terminal como usuario root y añadimos al final del fichero /etc/apt/sources.list los repositorios de beryl-project.org. Bajamos las keys del repositorio y actualizamos.
$ su -
password:

# vi /etc/apt/sources.list
# BERYL
deb http://debian.beryl-project.org/ etch main
deb-src http://debian.beryl-project.org/ etch main

# wget -O - http://debian.beryl-project.org/root@lupine.me.uk.gpg | apt-key add -
--06:07:42-- http://debian.beryl-project.org/root@lupine.me.uk.gpg
=> `-'
Resolviendo debian.beryl-project.org... 64.15.154.150, 80.77.247.17, 82.140.42.54
Connecting to debian.beryl-project.org|64.15.154.150|:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 2,415 (2.4K) [application/x-troff-me]

100%[======================================================================================================================================>] 2,415 --.--K/s

06:07:42 (184.53 KB/s) - `-' saved [2415/2415]

OK

# aptitude update


2. Procedemos a instalar beryl:
# aptitude install beryl emerald
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Escribiendo información de estado extendido... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalarán automáticamente los siguientes paquetes NUEVOS:
beryl-core beryl-manager beryl-plugins beryl-plugins-data beryl-settings beryl-settings-bindings emerald-themes libberyldecoration0 libberylsettings0 libcroco3
libemeraldengine0 libgsf-1-114 libgsf-1-common librsvg2-2 librsvg2-common libstartup-notification0 libwnck-common libwnck18 libxres1 python-cairo python-gtk2
python-numeric
Se instalarán los siguiente paquetes NUEVOS:
beryl beryl-core beryl-manager beryl-plugins beryl-plugins-data beryl-settings beryl-settings-bindings emerald emerald-themes libberyldecoration0 libberylsettings0
libcroco3 libemeraldengine0 libgsf-1-114 libgsf-1-common librsvg2-2 librsvg2-common libstartup-notification0 libwnck-common libwnck18 libxres1 python-cairo python-gtk2
python-numeric
0 paquetes actualizados, 24 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 6970kB de ficheros. Después de desempaquetar se usarán 19,9MB.
¿Quiere continuar? [Y/n/?] y
Escribiendo información de estado extendido... Hecho
Des:1 http://ftp.caliu.info etch/main libstartup-notification0 0.8-2 [19,4kB]
Des:2 http://debian.beryl-project.org etch/main libberylsettings0 0.2.0~0beryl1 [42,2kB]
Des:3 http://ftp.caliu.info etch/main libcroco3 0.6.1-1 [110kB]
Des:4 http://debian.beryl-project.org etch/main beryl-core 0.2.0~0beryl1 [388kB]
Des:5 http://ftp.caliu.info etch/main libgsf-1-common 1.14.3-1 [48,1kB]
Des:6 http://ftp.caliu.info etch/main libgsf-1-114 1.14.3-1 [129kB]
Des:7 http://debian.beryl-project.org etch/main libberyldecoration0 0.2.0~0beryl1 [24,4kB]
Des:8 http://debian.beryl-project.org etch/main beryl-plugins-data 0.2.0~0beryl1 [2356kB]
Des:9 http://ftp.caliu.info etch/main librsvg2-2 2.14.4-2 [127kB]
Des:10 http://ftp.caliu.info etch/main librsvg2-common 2.14.4-2 [57,0kB]
Des:11 http://ftp.caliu.info etch/main python-numeric 24.2-7 [182kB]
Des:12 http://ftp.caliu.info etch/main python-cairo 1.2.0-1 [81,2kB]
Des:13 http://ftp.caliu.info etch/main python-gtk2 2.8.6-8 [676kB]
Des:14 http://ftp.caliu.info etch/main libxres1 2:1.0.1-2 [5920B]
Des:15 http://debian.beryl-project.org etch/main beryl-plugins 0.2.0~0beryl1 [352kB]
Des:16 http://debian.beryl-project.org etch/main beryl-settings-bindings 0.2.0~0beryl1 [140kB]
Des:17 http://debian.beryl-project.org etch/main beryl-settings 0.2.0~0beryl1 [322kB]
Des:18 http://debian.beryl-project.org etch/main libwnck-common 2.16.3-1 [94,9kB]
Des:19 http://debian.beryl-project.org etch/main libwnck18 2.16.3-1 [126kB]
Des:20 http://debian.beryl-project.org etch/main libemeraldengine0 0.2.0~0beryl1 [79,3kB]
Des:21 http://debian.beryl-project.org etch/main emerald 0.2.0~0beryl1 [209kB]
Des:22 http://debian.beryl-project.org etch/main beryl-manager 0.2.0~0beryl1 [72,6kB]
Des:23 http://debian.beryl-project.org etch/main beryl 0.2.0~0beryl1 [10,6kB]
Des:24 http://debian.beryl-project.org etch/main emerald-themes 0.2.0~0beryl1 [1318kB]
Descargados 6970kB en 1m6s (105kB/s).
Seleccionando el paquete libstartup-notification0 previamente no seleccionado.
(Leyendo la base de datos ...
44224 ficheros y directorios instalados actualmente.)
Desempaquetando libstartup-notification0 (de .../libstartup-notification0_0.8-2_i386.deb) ...
Seleccionando el paquete libberylsettings0 previamente no seleccionado.
Desempaquetando libberylsettings0 (de .../libberylsettings0_0.2.0~0beryl1_i386.deb) ...
Seleccionando el paquete beryl-core previamente no seleccionado.
Desempaquetando beryl-core (de .../beryl-core_0.2.0~0beryl1_i386.deb) ...
Seleccionando el paquete libberyldecoration0 previamente no seleccionado.
Desempaquetando libberyldecoration0 (de .../libberyldecoration0_0.2.0~0beryl1_i386.deb) ...
Seleccionando el paquete libcroco3 previamente no seleccionado.
Desempaquetando libcroco3 (de .../libcroco3_0.6.1-1_i386.deb) ...
Seleccionando el paquete libgsf-1-common previamente no seleccionado.
Desempaquetando libgsf-1-common (de .../libgsf-1-common_1.14.3-1_all.deb) ...
Seleccionando el paquete libgsf-1-114 previamente no seleccionado.
Desempaquetando libgsf-1-114 (de .../libgsf-1-114_1.14.3-1_i386.deb) ...
Seleccionando el paquete librsvg2-2 previamente no seleccionado.
Desempaquetando librsvg2-2 (de .../librsvg2-2_2.14.4-2_i386.deb) ...
Seleccionando el paquete beryl-plugins-data previamente no seleccionado.
Desempaquetando beryl-plugins-data (de .../beryl-plugins-data_0.2.0~0beryl1_all.deb) ...
Seleccionando el paquete beryl-plugins previamente no seleccionado.
Desempaquetando beryl-plugins (de .../beryl-plugins_0.2.0~0beryl1_i386.deb) ...
Seleccionando el paquete beryl-settings-bindings previamente no seleccionado.
Desempaquetando beryl-settings-bindings (de .../beryl-settings-bindings_0.2.0~0beryl1_i386.deb) ...
Seleccionando el paquete librsvg2-common previamente no seleccionado.
Desempaquetando librsvg2-common (de .../librsvg2-common_2.14.4-2_i386.deb) ...
Seleccionando el paquete python-numeric previamente no seleccionado.
Desempaquetando python-numeric (de .../python-numeric_24.2-7_i386.deb) ...
Seleccionando el paquete python-cairo previamente no seleccionado.
Desempaquetando python-cairo (de .../python-cairo_1.2.0-1_i386.deb) ...
Seleccionando el paquete python-gtk2 previamente no seleccionado.
Desempaquetando python-gtk2 (de .../python-gtk2_2.8.6-8_i386.deb) ...
Seleccionando el paquete beryl-settings previamente no seleccionado.
Desempaquetando beryl-settings (de .../beryl-settings_0.2.0~0beryl1_i386.deb) ...
Seleccionando el paquete libxres1 previamente no seleccionado.
Desempaquetando libxres1 (de .../libxres1_2%3a1.0.1-2_i386.deb) ...
Seleccionando el paquete libwnck-common previamente no seleccionado.
Desempaquetando libwnck-common (de .../libwnck-common_2.16.3-1_all.deb) ...
Seleccionando el paquete libwnck18 previamente no seleccionado.
Desempaquetando libwnck18 (de .../libwnck18_2.16.3-1_i386.deb) ...
Seleccionando el paquete libemeraldengine0 previamente no seleccionado.
Desempaquetando libemeraldengine0 (de .../libemeraldengine0_0.2.0~0beryl1_i386.deb) ...
Seleccionando el paquete emerald previamente no seleccionado.
Desempaquetando emerald (de .../emerald_0.2.0~0beryl1_i386.deb) ...
Seleccionando el paquete beryl-manager previamente no seleccionado.
Desempaquetando beryl-manager (de .../beryl-manager_0.2.0~0beryl1_i386.deb) ...
Seleccionando el paquete beryl previamente no seleccionado.
Desempaquetando beryl (de .../beryl_0.2.0~0beryl1_i386.deb) ...
Seleccionando el paquete emerald-themes previamente no seleccionado.
Desempaquetando emerald-themes (de .../emerald-themes_0.2.0~0beryl1_all.deb) ...
Configurando libstartup-notification0 (0.8-2) ...

Configurando libberylsettings0 (0.2.0~0beryl1) ...

Configurando beryl-core (0.2.0~0beryl1) ...

Configurando libberyldecoration0 (0.2.0~0beryl1) ...

Configurando libcroco3 (0.6.1-1) ...

Configurando libgsf-1-common (1.14.3-1) ...
Configurando libgsf-1-114 (1.14.3-1) ...

Configurando librsvg2-2 (2.14.4-2) ...

Configurando beryl-plugins-data (0.2.0~0beryl1) ...
Configurando beryl-plugins (0.2.0~0beryl1) ...
Configurando beryl-settings-bindings (0.2.0~0beryl1) ...

Configurando librsvg2-common (2.14.4-2) ...
Updating the gdk-pixbuf loaders list for GTK+-2.4.0...done.

Configurando python-numeric (24.2-7) ...

Configurando python-cairo (1.2.0-1) ...

Configurando python-gtk2 (2.8.6-8) ...

Configurando beryl-settings (0.2.0~0beryl1) ...
Configurando libxres1 (1.0.1-2) ...

Configurando libwnck-common (2.16.3-1) ...
Configurando libwnck18 (2.16.3-1) ...

Configurando emerald (0.2.0~0beryl1) ...

Configurando libemeraldengine0 (0.2.0~0beryl1) ...

Configurando beryl-manager (0.2.0~0beryl1) ...
Configurando emerald-themes (0.2.0~0beryl1) ...
Configurando beryl (0.2.0~0beryl1)


3. Añadimos al final del fichero /etc/X11/xorg.conf la siguiente sección:
# vi /etc/X11/xorg.conf
Section "Extensions"
Option "Composite" "true"
EndSection


4. Hacemos un pequeño script para ejecutar BERYL cada vez que iniciemos nuestra sesión. Para ellos, salimos de la sesión de usuario root y creamos el archivo inicioberyl.sh en el directorio ~/.kde/Autostart
# exit

$ vi ~/.kde/Autostart/inicioberyl.sh
#!/bin/bash
beryl-manager

$ chmod u+x ~/.kde/Autostart/inicioberyl.sh


5. Cerramos nuestra sesión y en la pantalla de inicio, picamos sobre el MENU y reiniciamos el servidor X (restart X server). También podemos pulsar ALT+E en dicha pantalla. Hará el mismo efecto.


6. Ahora simplemente volvemos a iniciar sesión con nuestro usuario y nos deberá salir el icono de configuración de BERYL (diamante rojo) al lado del reloj del sistema. En el caso de que no funcione, comprueba que el gestor de ventanas que estás utilizando es BERYL. Para ello haz lo siguiente:
botón derecho del ratón sobre el diamante / Seleccionar el gestor de ventanas / Beryl

No domino mucho éste tema, pero por lo menos aquí tenéis como instalarlo. Para más información sobre BERYL podéis ir aquí:

http://es.wikipedia.org/wiki/Beryl
http://wiki.beryl-project.org/wiki/Main_Page.es
https://help.ubuntu.com/community/RadeonDriver


Saludos y Suerte.
Domi - Gran Canaria (Islas Canarias)

TRUCO: Guía Instalación Debian Etch

SITUACIÓN:
Acabas de instalar Debian Etch sólo con el Sistema base y te preguntas, ¿como instalo el servidor gráfico XORG, KDM y el escritorio KDE? Son muchos paquetes y seguramente no te acuerdas como se llaman.

SOLUCIÓN:
Bueno, pues aquí viene como instalo Debian Etch, accediendo a la guía que aquí he publicado desde la consola de texto.

1. Una vez haya finalizado la instalación del sistema base de Debian Etch, al iniciar por primera vez, nos aparecerá la pantalla de login de la consola de texto "tty1" (CTRL + ALT + F1). Nos logueamos como usuario root e instalamos el paquete "gpm".

Debian GNU/Linux 4.0 Nombre_equipo tty1
login: root
password:

# aptitude install gpm
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Escribiendo información de estado extendido... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalarán los siguiente paquetes NUEVOS:
gpm
0 paquetes actualizados, 1 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 0B/382kB de ficheros. Después de desempaquetar se usarán 721kB.
Escribiendo información de estado extendido... Hecho
Preconfigurando paquetes ...
Seleccionando el paquete gpm previamente no seleccionado.
(Leyendo la base de datos ...
44187 ficheros y directorios instalados actualmente.)
Desempaquetando gpm (de .../gpm_1.19.6-25_i386.deb) ...
Configurando gpm (1.19.6-25) ...

Creating config file /etc/gpm.conf with new version

Éste paquete nos permite utilizar el ratón en la consola de texto. Es muy útil a la hora de copiar y pegar entre consolas. Funciona de la siguiente manera. Seleccionas lo que quieras con el botón izquierdo y al pulsar el botón derecho, será pegado en la línea de comandos.

2. Apretamos la combinación de teclas CTRL+ALT+F2 y accedemos a la consola de texto "tty2". Nos logueamos con nuestro usuario local y accedemos a la guía publicada en éste blog con el comando "w3m" (es un navegador de internet que funciona en la consola de texto).

CTRL+ALT+F2

Debian GNU/Linux 4.0 Nombre_equipo tty2
login: usuario_local
password:

$ w3m http://debiantotal.blogspot.com/2007/02/instalacin-debian-etch-40.html

Ahora tenemos todo lo que necesitamos. Alternando entre las consolas tty1 y tty2 con la combinación de teclas CTRL+ALT+F1 y CTRL+ALT+F2, podemos ir copiando las líneas con los comandos necesarios para instalar XORG, KDM y KDE.

Ejemplo: Seleccionamos en la consola tty2 (CTRL+ALT+F2) la línea con el comando que queramos con el botón izquierdo del ratón y luego pulsamos CTRL+ALT+F1 para ir a la consola tty1 y pulsamos el botón derecho del ratón para pegarlo.


Saludos y Suerte.
Domi - Gran Canaria (Islas Canarias)

4 de abril de 2007

Manual Básico de VIM (Editor texto en consola)

En las guías que he publicado, he dado por supuesto que se conoce el comando "vi" para editar archivos en la consola de texto. Para aquellos que nunca lo hayan utilizado o tengan dificultades para manejarse con él, expongo a continuación unos comandos básicos que serán más que suficientes para editar un archivo sin problemas.

Antes que nada y para que el manejo de éste editor sea más sencillo, recomiendo que instalen el paquete "vim". Sin éste paquete, el manejo del editor se vuelve más complejo. Para instalarlo, como siempre abrimos una terminal y nos logueamos como usuario root:

$ su -
password:

# aptitude install vim

Ahora para editar un fichero hacemos:

$ vi nombre_archivo

Una vez dentro del fichero podemos movernos con las teclas de dirección. Para insertar o borrar el contenido, pulsamos las siguientes teclas (ojo en minúscula):

i = para empezar a escribir en la posición del cursor.
a = El cursor se sitúa en el próximo espacio en blanco después de la posición del cursor.

En ambos casos nos aparece la palabara "-- INSERTAR --" en la esquina inferior izquierda de la ventana.

Una vez que hayamos terminado de insertar/modificar el fichero, pulsamos la tecla ESCAPE para salir del modo INSERTAR.

Si nos hemos equivocado en algo, podemos deshacer los cambios mediante la combinación siguiente:
:u

Para guardar los cambios hechos en el fichero, pulsamos:
:w

Ahora para salir pulsamos:
:q

Podemos simplificar las dos órdenes anteriores pulsando la siguiente combinación, que nos guardará el fichero y saldremos del vim:
:x

En el caso de que hayamos modificado el fichero y queramos salir sin guardar los cambios, debemos forzar la salida del editor con la siguiente combinación.
:!q

NOTA:
- Tener en cuenta que todos los comandos aquí expuestos son en minúscula. Si tenemos el bloqueo mayúscula activado, la órden producirá la acción que tenga asociada dicha letra mayúscula.
- En la esquina inferior izquierda de la ventana será donde veremos que aparecen los comandos que escribimos o el modo INSERTAR (en caso de que hayamos pulsado las teclas "i" o "a"). Para salir del modo insertar y poder introducir los comandos, pulsamos la tecla ESCAPE (ESC).

El editor VIM tiene muchísimos comandos más. Para más información:
http://www.zonasiete.org/manual/ch04.html
http://www.sromero.org/linux/vim/Manual_VIM.html

Espero que haya quedado claro.

Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)