010.png

Poner la dirección IP fija en Raspbian

ACTUALIZACIÓN : versión Raspbian PIXEL 2016

ACTUALIZACIÓN : versión corregida para Jessie

ACTUALIZACIÓN : versión especial para IP fija Wi-Fi

Una de las cosas más cómodas a la hora de manejar la Raspberry como servidor sin pantalla es tener la dirección IP fija.

Lo normal es que tanto con Raspbian como con los otros sistemas operativos, la IP sea dinámica, y se la asigne el router dentro de un rango determinado.

Para hacer esto hay que conocer y tener en cuenta una serie de cuestiones:

  • lo más fácil es tener la IP fija por conexión por cable, tiene más sentido tener la Raspberry junto al router como servidor que junto al televisor
  • necesitamos conocer la dirección IP de nuestro router y la de la Raspberry antes de hacer los cambios. Aunque podemos hacerlo incluso sin conexión a red si le conectamos teclado, ratón y monitor para ello.
  • necesitamos ver la configuración del router para saber si tiene algún rango reservado para utilizarlo como IP fijas o no. Si esto es muy complicado, lo que podemos hacer es elegir una dirección muy diferente de la que tenga ahora la Raspberry. De esta forma estaremos lejos de las que el router va poniendo de forma automática y evitaremos problemas de que haya dos dispositivos (PC, móvil, kindle, … ) utilizando la misma dirección que solo provocaría problemas.

    • por ejemplo si la Raspberry Pi tiene antes del cambio una IP parecida a 192.168.1.4 … le ponemos una IP fija como 192.168.1.204
    • o al revés, si tiene una de tipo 192.168.1.104 le ponemos una como 192.168.1.14
    • Lo importante es que el número del final sea mayor que 2 y menor que 254
  • la posible IP la podemos ver también en el PC con Windows abriendo la línea de comandos cmd y ejecutando el comando ipconfig esta información la apuntamos para luego usarla ipconfig

  • o desde la misma Raspberry Pi usando desde una Terminal el comando ifconfig y la apuntamos para más tarde 010

Si nos  conectamos a la Raspberry Pi por ssh

001

Si es la primera vez que nos conectamos por ssh nos pedirá que confirmemos que queremos hacer esto, para ello escribimos yes y le damos a Enter / Return / Intro

002

Después nos pide la contraseña del usuario pi que es el que hemos usado para conectarnos, la introducimos y ya estamos dentro. Si tenemos la Raspberry con teclado, pantalla y ratón y abrimos una Terminal a partir aquí sería igual

003

hacemos una copia del fichero que vamos a cambiar y comprobamos que se ha copiado. Usamos estos dos comandos:

sudo cp /etc/network/interfaces interfaces.old
ls

004

Ahora editamos el fichero ejecutando lo siguiente:

sudo nano -w /etc/network/interfaces

005

Se nos abre una aplicación que se llama nano y que es un editor muy básico pero más o menos sencillo de manejar. Con los cursores, las teclas de las flechas, nos movemos hasta la línea que dice

iface eth0 inet dhcp

en nuevas versiones de Raspbian también puede aparecer como:

iface eth0 inet manual

006

Y la cambiamos para que ponga nuestra el modo auto para la conexión de red auto eth0 y la IP fija, más dos direcciones adicionales que debimos apuntar cuando usamos ipconfig en Windows o ifconfig en la Raspberry

auto eth0

  iface lo inet loopback

  iface eth0 inet static  
  address 192.168.1.75  
  netmask 255.255.255.0  
  gateway 192.168.1.1

007

Una vez lo hemos cambiado, hay que guardar los cambios y salir. Los comandos serían:

  • Para Guardar el archivo con los cambios pulsar la tecla Ctrl y al mismo tiempo la letra o

  • Para salir del editor nano pulsar la tecla Ctrl y al mismo tiempo la letra x

Nos preguntará si queremos salvar los cambios y le decimos que Sí escribiendo una S y dándole a Enter / Return / Intro

008

Nos indica el nombre del fichero, que debe ser el mismo, por lo que sin cambiarlo volvemos a pulsar Enter / Return / Intro

009

Una vez que hemos salido de nano, podemos comprobar que la IP aún no ha cambiado

ifconfig

Para que los cambios tengan efecto  hay que reiniciar la conexión o la Raspberry

sudo reboot

Al reiniciar se pierde la conexión por ssh

010

012

Una vez que se ha reiniciado, y si todo ha ido bien nos conectamos con la IP fija

013

014

015

ACTUALIZACIÓN : versión especial para IP fija Wi-Fi

  • Pingback: Proyecto vídeo vigilancia con Raspberry Pi y Motion | Raspberry para torpes()

  • Sergio

    Esto sería para el caso en el que la conexión es por cable, ¿cierto? ¿Se podría hacer lo mismo conectada por wifi?

    • Sí es muy parecido, primero necesitas conectarlo sin configurar e iniciar la Raspberry Pi, desde un terminal o por SSH por cable con el comando:
      ifconfig
      te fijas en alguna línea en que ponga algo de wlanXX, donde XX debe ser un número. Luego, y suponiendo una red más o menos normal y eligiendo una posible IP que yo pongo com ZZ editas el mismo fichero que para la IP fija por cable pero le añades:
      auto wlanXX
      iface wlanXX inet static
      address 192.168.1.ZZ
      gateway 192.168.1.1
      netmask 255.255.255.0
      wpa-ssid el_nombre_tu_red_wifi
      wpa-psk la_contraseña_de_tu_wifi

      • Sergio

        Muchas gracias por tu contestacion. Tengo una pregunta mas, llevo varios dias mirando la ip de la raspberry y he visto que no cambia nunca incluso tras apagarse. ¿Cambia solo cuando reiniciamos router?

        • Sí, aunque depende de la configuración del router. Lo normal es que si identifican el equipo conectado le den siempre la misma y se la reserven por un tiempo aunque no esté conectada. Si pasado ese tiempo no vuelve a conectarse pasa a una lista de IP disponibles.

  • David

    Limpio y perfecto. Gracias.

    Un pequeño apunte, porque me acaba de pasar al comenzar con la raspberry. A día de hoy raspbian trae un interfaces ligeramente distinto.

    iface eth0 inet dhcp # Ya no está por defecto
    iface eth0 inet manual # ESTE es por defecto

    Porque el blog es para torpes (o miedosos) y hay que hacerlo a prueba de ellos ;)
    Para todo lo demás, solo tengo buenas palabras. Tu blog me es muy útil!!!!!

  • Pingback: Poner la dirección IP fija Wi-Fi wlan en Raspbian | Raspberry para torpes()

  • Iván Gil

    Hola,

    Antes de nada, gracias por el post. Está muy bien, todo detallado. Me ha surgido un problemilla, no sé si es grave…

    He seguido los pasos, pero habré hecho algo mal, y la ip que había asignado no funcionaba. Con el comando ifconfig, me salía la de siempre. Así que he vuelto al documento en /etc/network/interfaces y lo he dejado como estaba, pero ahora no me puedo conectar a la raspberry por ssh, ni con la ip de siempre (a pesar de que es la que sale cuando hago ifconfig o busco con nmap) ni con la que intenté poner. Cuando lo intento, simplemente no hace nada. ¿Una ayudita?

    • Ni idea. Fijate que esté todo correcto, alguna vez se cuela una coma en vez de un punto en la dirección IP, o ponemos un cero donde debe ir un uno. No se me ocurre otra cosa.

      • Iván Gil

        Bufff, que cabeza la mía… No había cambiado la línea en la hay que poner “static”. En fin, gracias otra vez.

        • Perfecto, me alegro. Son comandos fáciles y que se entienden, pero no puede haber el más mínimo error.

  • Juan Carlos Benjumea

    Tengo un problema, hago tal cual los pasos que pone el tutorial pero despues de que reinicio el sistema la IP sigue igual. Tambien he probado a reiniciar el router, y éste si que me cambia la ip pero a una que me asigna el propio dhcp del router.

    Tal cual he puesto ésto:
    iface eth0 inet static
    address 192.168.1.75
    netmask 255.255.255.0
    gateway 192.168.1.1

    • No sé cuál puede ser el problema. En principio veo todo correcto. ¿Es ese el rango de direcciones que tiene tu Red?

      • Juan Carlos Benjumea

        Lo he solucionado pero no entiendo muy bien la razón, buscando y buscando tutoriales di con uno que cambiaba la primera linea que pone “auto lo”, por un “auto eth0”. Como digo no se porque haciendo eso ya me mantiene la IP que he puesto, pero esa fue la solución. Muchas gracias por contestar, y Gracias por éste tutorial, me sirvió de mucha ayuda.

        • Sospecho que como esto era para Raspbian Wheezy no sea igual con Raspbian Jessie o que dependa del router. Me alegro de que lo hayas solucionado.

          • fdelcamino

            Para Jessie yo lo he hecho así http://enredandoconlaraspberry.blogspot.com.es/2016/01/direccion-ip-fija-en-raspbian-jessie.html. Un saludo y enhorabuena por tu web.

          • Gracias por el enlace, me lo apunto, pero te prometo que yo con Raspbian Jessie Lite lo he hecho a mi manera y me ha funcionado. Con el Raspbian Jessie normal no lo he probado, pero se supone que debería valer. Cuando pueda lo confirmo.

          • Jose Maria L R

            Hola a tod@s, confirmo la solucion de juan carlos, me pasaba los mismo que a el , la ip no cambiaba a fija ni con agua caliente, fue sustituir “lo” por “eth0” y la ip es fija. Mi distro es Raspbian Jessie, por si sirve de algo. Un saludo a tod@s.

          • Muchas gracias. Luego lo cambio. Como actualicé desde Wheezy no tuve ese problema y las otras Jessie que uso con IP fija son todas por Wi-Fi.

          • Actualizado el artículo, gracias a los dos.

  • Ricardo Rodriguez

    Hola buenas!! Muchisimas gracias por tus consejos para torpes como yo!. Tengo un problema. Tengo Raspbian , e Instalo la ip fija a la red por cable, y al intentar acceder por ssh, bien a través de Putty o a través de JuiceSSH, no me deja entrar porq me pide usuario y clave. le pongo la tipica de usuario pi y contraseña raspberry, pero no me deja entrar. he modificado el nombre de usuario y la contraseña a través de sudo, pero me sigue dando el mismo problema, y no se que hacer!Tengo la raspberry conectada por cable a router y me intento conectar por mi tablet por wifi, no sé si eso tiene algo que ver.
    Espero que me puedas ayudar! y mil gracias de nuevo

    • No debería haber problema, en principio no hay que configurar nada adicional. No entiendo cual puede ser el error de que no te reconozca la contraseña o el usuario.
      Mira si está activado el SSH desde raspi-config gráfico o normal, asegurate de tener “SSH enable”
      https://raspberryparatorpes.net/empezando/raspbian-jessie-raspi-config-en-modo-grafico/ https://raspberryparatorpes.net/empezando/raspi-config-2014-configuar-raspbian-paso-a-paso/

      • Ricardo Rodriguez

        Gracias por contestar tan rápido!. si que tengo enable el SSH… no sé que puede ser, porque incluso he vuelto a reinstalar raspbian y con el usuario y contraseña por defecto tampoco…el puerto 22 en el router está abierto también…seguiré intentándolo…

        • A ver si tu router crea redes separadas para el Wi-Fi y el cable o algo de eso. Prueba a ver si todo funciona en local, no lo he hecho nunca pero debe funcionar. Me refiero a que abras una Terminal en la Raspbian y desde allí te conectes a tí mismo, o sea, poniendo en la Terminal:
          ssh pi@ip-de-tu-raspberry
          Y a ver que pasa.

          • Ricardo Rodriguez

            luego en casa lo intentaré…también probaré conectar la rp al wifi y no por cable, y ya teniendo el pc y la rp por el mismo wifi consigo algo..muchísimas gracias de nuevo, ya te contaré como ha ido todo.

          • ¿Podrías subir alguna imagen de la captura de pantalla accediendo con Putty o JuiceSSH? Es muy raro. Yo uso las dos opciones y sin problema.

  • Angel MM

    SOLUCION IP ESTATICA RASPBIAN JESSIE
    (2016-03-18-raspbian-jessie.img)

    Primero de todo dar las gracias por tu dedicación y trabajo desinteresado. Tus artículos me han ayudado mucho a configurar y entender mejor el mundo ‘pi’ y linux en general.
    En lo único que voy ponerte un pero es en este articulo, y lo pongo con todo el respeto y educación que espero no te ofendan. Pero me ha pasado algo que a lo mejor solo me ha pasado a mi, pero que me parece correcto aportar, por si alguien más le ha pasado lo mismo y no ha podido solucionar.

    He estado instalando la pi y me he vuelto loco intentando entrar por web a ‘transmission’ y después de darle muchas vueltas y leyendo bastante cosas (que no entendiendo del todo). Al final llegué a la conclusión que la modificación del archivo ‘interfaces’ en la distribución jessie de raspbian no funciona correctamente. Es cierto que cuando sigues el manual, reinicias y luego haces un ‘ifconfig’, te pone la ‘ip’ que has configurado. Pero, yo he podido comprobar en una instalación limpia me dejaba entrar por SSH con la ‘ip’ antigua (la que el router da automáticamente) y con la ‘ip’ que configuras según el manual.

    Así pude seguir buscando, pero de manera más concreta como solucionarlo.

    La solución la encontré en: https://www.modmypi.com/blog/how-to-give-your-raspberry-pi-a-static-ip-address-update.

    Perdón por poner el enlace, pero es que yo me explico fatal.
    También me di cuenta más adelante que en el propio archivo interfaces, en comentarios, nos pone:

    # Please note that this file is written to be used with dhcpcd
    # For static IP, consult /etc/dhcpcd.conf and ‘man dhcpcd.conf’

    A veces la solución la tienes tan a la vista que pasa desapercibida o más vulgarmente: “Si es un tigre me come” jejeje

    Un saludo y espero que esto sea un granito más para ayudar a mas gente.

    P.D. En la guia de modmypi he tenido que modificar la última linea y poner otras DNS separadas solo por un espacio en blanco. Yo he cogido las de google (8.8.8.8 y 8.8.4.4)

    interface eth0
    static ip_address=192.168.0.10/24
    static routers=192.168.0.1
    static domain_name_servers=192.168.0.1 8.8.8.8 8.8.4.4

    • Muchas gracias, este artículo lo he ido corrigiendo según cambiaba Raspbian y me comentábais los problemas. Sobre todo porque yo no los tenia por usar una instalación más antigua pero actualizada. Con la instalación de Raspbian PIXEL noté lo de las dos IP pero no llegué a investigar porque era.
      Gracias de nuevo.

    • xavi

      Yo te recomendaría usar el DNS de tu isp, ya que google vive de vender todos los datos que genera.

      • Muchas veces pongo los de Google por comodidad (son muy fáciles de recordar). Otras veces pongo el Router como servidor de DNS y el ya se encarga de enviar las peticiones al de mi ISP. Yo tengo asumido que nos espían pero es cierto que es bueno no ponérselo en bandeja.

  • Pingback: Poner la dirección IP fija en Raspbian PIXEL | Raspberry para torpes()