miércoles, 28 de mayo de 2014

Comandos de Linux (II) : Red

Vamos con una nueva tanda de comandos para consola en Linux que en esta ocasión se va a centrar en aquellos cuya misión es trabajar con la red tanto para realizar configuraciones como comprobaciones o descarga de archivos.


Mostrar interfaces y configuración de red

El comando ifconfig lo podemos utilizar para realizar varias configuraciones y modificar parámetros de nuestros interfaces de red. Pero para empezar uno de sus usos más habituales es para comprobar la configuración actual de nuestra red.

Mostrar interfaces de red activos con su dirección IP:

  • ifconfig



  • Si además lo acompañamos del parametro -a nos mostrará tambien los interfaces desactivados:

  • ifconfig -a



  • Activar o Desactivar Interfaces de red

    Con el mismo comando ifconfig podemos activar nuestros interfaces de red que estén desactivados o bien apagarlos por ejemplo cuando realizamos algún cambio sobre ellos. A continuación del comando y la interfaz correspondiente utilizamos "up" para activarlo y "down" para desactivarlo.


  • ifconfig eth0 up



  • ifconfig eth0 down


  • Configurar Dirección IP por DHCP

    Con el comando anterior al activar un interfaz de red por defecto debería realizar una petición dhcp para su configuración pero siempre podemos utilizar el comando dhclient.  

    Para liberar la dirección IP adquirida previamente por DCHP o de manera estática ejecutamos el comando con el parámetro -r


  • dhclient -r


  • Para realizar una nueva petición por DHCP ejecutamos el comando seguido de la interfaz para la cual solicitamos la configuración de red


  • dhclient eth0


  • Configurar Dirección IP Estática

    Para ello vamos a utilizar tambien el comando ifconfig acompañado de la interfaz de red que queremos configurar con la dirección IP estática deseada y por ultimo con la instrucción netmask añadimos la mascara de red


  • ifconfig eth0 192.168.1.15 netmask 255.255.255.0
  • Para añadir la puerta de enlace utilizamos el comando route que tambien nos va a proporcionar mas utilidad como veremos después en otras entradas del blog. La instrucción va acompañada de una serie de parámetros y finalmente la dirección IP de la puerta de enlace


  • route add default gw 192.168.1.1


  • Añadir Servidores DNS

    Las DNS que utiliza el sistema se encuentran en el archivo /etc/resolv.conf. Podemos abrir el archivo y manualmente en cada linea añadir la dirección del servidor DNS primario y secundario que utilizamos precedidos de "nameserver". Por ejemplo en el caso de utilizar las DNS de google pues el archivo quedaría con estas 2 lineas:

    nameserver 8.8.8.8
    nameserver 8.8.4.4

    Siendo asi podemos introducirlo directamente desde linea de comando utilizando el comando echo que devuelve lo que le pasas a continuación y enviando la respuesta a ese archivo que mencionamos anteriormente.


  • echo "nameserver 8.8.8.8" > /etc/resolv.conf       (para la DNS primaria)


  • echo "nameserver 8.8.4.4" >> /etc/resolv.conf     (para la DNS secundaria)


  • Verificar configuración de red

    Para verificar que la configuración IP de nuestra red es correcta podemos recurrir al comando ping. Con este comando se envian una serie de paquetes de solicitud y repuesta a un host determinado con el que deseamos comprobar la comunicación. El comando por lo tanto se ejecuta acompañado de la dirección de dicho host.  Además tambien podemos comprobar si las DNS se han configurado correctamente porque también es posible realizar un ping a un dominio

  • ping 192.168.1.1


  • ping google.com


  • Configuración del Cortafuegos

    El comando iptables es el que se encarga del manejo del cortafuegos en Linux. Para comprobar la lista de conexiones o puertos permitidos y denegados utilizamos el parametro -L

    iptables -L



    Para detener o iniciar el cortafuegos utilizamos service stop y service start:

    service iptables stop

    service iptables start



    Para permitir o rechazar conexiones  los instrucciones ya son un poco más complejos. Los parámetros importantes son -p que indica el protocolo y --dport que nos indica el puerto. Por ejemplo si queremos que el cortafuegos permita las conexiones tcp al puerto 80 que necesitaría un servidor web tendremos que ejecutar :

    iptables -I INPUT -p tcp --dport 80 -j ACCEPT



    Siempre que añadimos algún cambio tenemos que salvar posteriormente la configuración y seria aconsejable reiniciar el servicio

    service iptables save

    service iptables restart

    Descargar archivos o paginas web completas

    En linux tenemos una aplicación en consola muy interesante para descargar un archivo por su URL o incluso descargar todo el contenido de una web para visualizarlo de manera offline, se trata del comando wget

    La carpeta en la que realiza la descarga es aquella en la que nos encontremos situados cuando ejecutamos la aplicación. Si queremos especificar una ruta para guardar la descarga utilizamos el parametro -p. En el caso de que no sea un archivo sino un sitio web creara una carpeta con la url como nombre.


    Para descargar un archivo utilizamos wget acompañado de la URL del archivo:

  • wget  http://www.giogle.es/images/srpr/logo11w.png



  • Para iniciar la descarga de un archivo y continuarla en el mismo punto si se interrumpe utilizamos wget -c acompañado de la URL del archivo:

  • wget -c http://www.ejemplo.com/url.zip



  • Para descargar un sitio web completo utilizamos wget -r acompañado de la URL del sitio. Debemos asegurarnos que la URL sea del sitio exacto y no una redirección.

  • wget -r http://probandowget.bliogspot.com.es



  • Aquí además podemos emplear algunos truquillos para saltarnos alguna restricción como engañar al sitio web simulando que somos otro navegador o ralentizar la descarga en velocidad y tiempo de descarga entre archivo y archivo utilizando otros parámetros:

  • wget  -w 10 --limit-rate 35k --user-agent="Mozilla" -rP Mozilla http://truqo.bspot.com