Tanaceto y la Información

Siempre es preferible un final catastrófico a una catastrofe sin fin.

Apuntes sobre terminal: Comandos útiles para redes IP en Linux: “ip”

Posted by tanaceto en noviembre 6, 2007

Leyendo el estupendo texto de Roberto Suárez en el número de noviembre de la revista “Todo Linux” he pensado en escribir este post. De todas formas no es más que un burdo resumen en comparación con el excelente artículo que recomiendo efusivamente.

Si usamos un sistema operativo que utilice Linux deberemos ya estar acostumbrados a la terminal donde introducimos comandos que nos permiten hacer muchas cosas en nuestro ordenador. En los tiempos actuales la mayoría de los usuarios utilizan los programas con una presentación gráfica visualmente atractiva (solo un friki disfruta de una lectura de comandos a toda velocidad), y prefieren no usar la terminal. Es una opción más cómoda, pero también más costosa para el rendimiento del ordenador. Al final todo se resume en una serie de comandos que nos permiten hacer todo en nuestro ordenador. Este post lo que pretende es explicar algunos de estos comandos, que nos permitirán configurar nuestra red. Concretamente nos centraremos en las conexiones para el protocolo TCP/IP y también sobre los dispositivos de red, aunque en los ejemplos usaremos la clásica conexión vía cable ethernet.

Vamos a jugar con la “Terminal” o “Shell” para configurar redes mediante ip.

Para la explicación usaremos el comando “ip” que viene a ser un unificador de una serie de comandos clásicos, como son “ifconfig“, “route“). En la explicación se introduce la posibilidad de hacer las cosas con el programa ip o con los clásicos antes mencionados.

También comentar que usaremos el rango /24 (ver direcciones IP). Sobre los rangos simplemente comentar que está asociado al concepto de máscara de red. No comprendo el funcionamiento real del tema, pero en definitiva existen 3 tipos de rangos. La clase A (/8 equivale a 16 millones de direcciones IP), la clase B (/16 equivale a 65.536 direcciones IP) y clase C (/24 equivale a 255 direcciones IP). En nuestro caso hablaremos siempre de la clase C, puesto que es la que usamos en redes pequeñas (caseras).

COMANDOS ÚTILES:

– Para ver todas las rutas definidas en nuestro equipo:

$ route

$ netstat -nr

$ ip route show

Esta última es la recomendada por el autor porque aporta más información.

– Para añadir una ruta (ejemplo: Para la red 192.168.2.0/24 a través de la dirección IP 192.168.1.10):

$ route add -net 192.168.2.0/24 gw 192.168.1.10

$ ip route add 192.168.2.0/24 via 192.168.1.10

y para eliminarla:

$ route del -net 192.168.2.0/24

$ ip route del 192.168.2.0/24

– Para cambiar la “puerta de enlace por defecto” (primero se elimina la existente y luego se crea la nueva.

Para eliminar la existente:

$ route del default

$ ip route del default

Para crear la nueva (por ejemplo 192.168.1.50)

$ route add -net default gw 192.168.1.50

$ ip route add default via 192.168.1.50

– Para ver la lista de interfaces:

$ ifconfig -a

$ ip link show

– Para activar y desactivar dispositivos de red (usamos de ejemplo el eth0):

$ ifconfig eth0 down

$ ifconfig eth0 up

$ ip link set dev eth0 donw

$ ip link set dev eth0 up

– Para configurar una dirección IP con un dispositivo con su máscara de red clase C y dirección broadcast (ejemplo: 192.168.1.50 con broadcast 192.168.1.255):

$ ifconfig 192.168.1.50 netmask 255.255.255.0 broadcast 192.168.1.255

Una opción curiosa es la de asignar dos direcciones IP a un solo ordenador usando el mismo dispositivo (en nuestro caso ethernet). Esto puede ser útil, por ejemplo, si conectamos un mismo ordenador a dos redes distintas (con un mismo dispositivo).

$ ifconfig eth0:1 192.168.1.51 netmask 255.255.255.0 up

$ ip address add 192.168.1.52/24 dev eth0 label eth0:1

Si queremos eliminar estas nuevas IP asignadas a un mismo dispositivo

$ ifconfig eth0:1 down

$ ip link set dev eth0:1 down

25 comentarios to “Apuntes sobre terminal: Comandos útiles para redes IP en Linux: “ip””

  1. George Enriuque said

    Me parece que sus apuntes son bastante útiles para tener una idea de las potencialidades de este comando. Me gustaría su idea para poder resolver un problema que tengo y es el siguiente: necesito configurar en un servidor con SUSE 10.2 dos interfaces de red hacia el proveedor de internet, pero todavía no consigo como hacer para que me funcionen las dos. Le agradecería cualquier sugerencia, muchas gracias de antemano.

    George Enrique

  2. tanaceto said

    La verdad es que hace mil años que no uso un SUSE, pero bueno. Tengo una duda sobre tus intenciones. Cuando alguien dice interface de red, supongo que te refieres a que en un mismo ordenador quieres tener un mismo dispositivo configurado mediante dos accesos. ¿Es esto?.

    Si fuera así lo que yo haría sería configurar de manera convencional una de las rutas (mediante la terminal o shell), asignando una IP local correctamente configurada hacia la puerta de enlace predeterminada (el router vamos). Luego crearía una segunda conexión con ese mismo dispositivo, creando una especie de “alias” del mismo. Lo hacemos usando el siguiente comando (con este ejemplo entiendo que el router es 192.168.1.1):

    $ ifconfig eth0:1 192.168.1.x netmask 255.255.255.0 up

    $ ip address add 192.168.1.x/24 dev eth0 label eth0:1

    (“x” es el valor que quieras añadir entre 2 y 254 y que no se repita en toda tu Red de Área Local)

    Cualquiera de estos dos nos vale. Si miramos nuestra conexiónes (ifconfig) veremos que ahora tenemos dos dispositivos de red, el clásico eth0 y el nuevo eth0:1

    Bien, ahora ya tenemos el mismo dispositivo con dos accesos diferenciados al router. Esto es útil si por ejemplo queremos que un proceso concreto quede libre del firewall pero no queremos desactivarlo para otros. Solo habría que hacer un filtro de seguridad hacia una IP concreta, y dejar libre el camino hacia otra.

    No sé si esto era lo que realmente estabas preguntando. Tampoco es que sea muy entendido, solo di esos apuntes para explicar algunos conceptos básicos y comandos básicos que a mi me hubieran venido muy bien saberlos, y que de paso cuelgo en Internet incluso para mi.

    pablo

  3. tanaceto said

    se me olvidaba. Tanaceto es un blog que pretende compartir conocimientos entre usuarios poco avanzados. Si descubres cómo hacer cosas que crees que pueden ser utiles, por favor, no dudes escribir un bonito post sobre cómo resolviste tu problema.

    El concepto es explicar algo y de paso dar algun ejemplo para que la persona que lo lee pueda intentar algo. Si solo te apetece escribir uno mándalo a tanaceto@gmail.com, y si lo que quieres es apuntarte para escribir siempre que quieras coméntanoslo y te hacemos un acceso como usuario.

    Mi idea es que muchos escribamos en este blog. Como habrás podido observar no tiene publicidad insertada y no pretendemos que la tenga. Además yo siempre uso Debian para mis sistemas con Linux, por lo que tus aportaciones con SUSE Linux pueden resultar muy interesantes.

    En fin, ya nos comentarás. Un saludo.

  4. cindy said

    como cambio la ip de una maquina

  5. tanaceto said

    respuesta a cindy:

    * voy a dar por sentado que usas un router para conectarte a Internet, y me estás preguntando como cambiar la IP de tu ordenador dentro de la LAN (es decir, no la IP con la que navegas en Internet).

    ** Si a lo que te refieres es la Ip con la que navegas por internet (que te la asigna tu isp, es decir, telefónica, orange, etc) tendrás que llamarles para que te asignen una IP estática o usar programas como No-IP.

    cambiar la IP de la LAN (Red de Área Local) de un ordenador:

    – Depende del sistema operativo que estés empleando:

    para Windows debes ir a conexiones de red (en panel de control) y seleccionar el dispositivo (ya sabes, por cable ethernet, wifi, el que sea que uses para conectarte). Lo seleccionas con el ratón y le das al botón derecho. Marcas “propiedades”, y buscas “protocolo tcp/ip). Lo clickeas y se abre una ventana. Por defecto pone asignar automáticamente.

    Donde ves IP es donde debes poner la IP de la máquina, donde ves máscara de subred verás que se marca sola. En Puerta de Enlace Predeterminada deberás conocer la IP de tu router. Este proceso deberás hacerlo bien, me refiero, la IP tiene que estar relacionada con la IP del router (los tres primeros dígitos iguales; el router acabará en .1, el tuyo en el que quieras que no esté ocupado y no sobrepase el número 255). Además deberás añadir uns DNS válidos (hay muchos, busca en internet).

    Si usas un OS X de mac solo deberás ir a preferencias del sistema-redes. Ahí seleccionas el dispositivo y le pones la IP y la del router tb. También los DNS.

    En Linux depende de la distro que estés usando. Pero vamos, la lógica nos lleva a buscar redes dentro de sistema o configuración.

    TRUCO:

    Si abres la consola o shell, y presionas el comando “ifconfig” para Linux o OS X ó “ipconfig” en windows, te saldrá la información relativa a tu conexión de red.

    Suerte

  6. JHON BRAYAN said

    A

  7. Hola, quisiera saber, como puedo obtener o conocer todas las puertas de enlace que estan asignadas por la compañia de internet ISP, en toda la ciudad donde vivo…

    gracias

  8. Esteban said

    Si tú me pudieras colaborar para entrar a un servidor proxy y poder hacer filtrado de paginas web o contenidos web, bajo el sitema operativo Linux, es decir, entrar por la consola y filtrar las paginas, le agradeceria etermamente.

  9. pablo tanaceto said

    Esteban:

    ? Vas a tener que darme más datos, pero vamos, para entrar a otro ordenador vía consolo yo emplearía un ssh. Instalaría un servidor ssh en el ordenador al que quisiera acceder y redireccionaría el puerto 22 hacia esa máquina. Luego desde la propia terminal sólo tendrías que usar el propio cliente ssh. Teclea:

    ssh usuario@direcciónip -P

    El usuario debe ser uno de los usuarios registrados en el ordenador servidor al que se quiere acceder y -P es para que te pida la contraseña. Una vez dentro ya estás en la consola del ordenador deseado.

    suerte

  10. Esteban said

    Tienes todala razón Pablo, no fui claro contigo; yo puedo entrar al ordenador deseado, lo que no se son los comandos para filtrar las paginas o contenidos web, es decir una vez ya estoy en el ordenador, como para decirle filtre tal pagina o las paginas que tengan contenidos tales. Nose si me entienda pero lo que quiero saber es como filtar paginas, obviamente por medio de consola en linux.
    Si puedes ayudarme.
    gracias

  11. pablo tanaceto said

    pues a lo bruto es cosa de permisos. Usa el comando chmod para cambiar los permisos y sólo dalo a usuarios autorizados. De todas formas seguro que existen programas específicos para hacer eso. Sobre Apache no sé hacerlo, la verdad es que me entra la curiosidad, pero ese programa y yo tenemos una relación difícil, jeje.

    Como administrador escribes esto en la consola:

    chmod -R 777 nombredelarchivo

    Siendo 777 el tipo de permiso:

    * “-rwxr-xr-x” would be represented as 755 in three-digit octal.
    * “-rw-rw-r–” would be represented as 664 in three-digit octal.
    * “-r-x——” would be represented as 500 in three-digit octal.

    Here is a summary of the meanings for individual octal digit values:

    1 –x execute
    2 -w- write
    3 -wx write and execute
    4 r– read
    5 r-x read and execute
    6 rw- read and write
    7 rwx read, write and execute

    Octal digit values can be added together to make Symbolic Notations:
    (4=r)+(1=x) == (5=r-x)
    (4=r)+(2=w) == (6=rw-)
    (4=r)+(2=w)+(1=x) == (7=rwx)

    * UGO = User, Group, Other
    * 777 = “-rwxrwxrwx” = rwx for all
    * 754 = “-rwxr-xr–” = rwx for owner, r-x for group, r– for other
    * 124 = “—x-w-r–” = x for owner, w for group, r for other

    Otra idea que se me ocurre es usar los certificados ssl:

    es.wikipedia.org/wiki/Ssl

    suerte

  12. […] -Redes,Terminal- Comandos de terminal para redes […]

  13. Gonzalo said

    Como veo que sabes emplear el comando ip, y el ayuda del manual de linux no me resulta claro, como puedo configurar mi tarjeta de red eth0 en una sola vez, la ip, mascara, gateway y dns server
    Desde ya gracias

  14. monica said

    necesito saber un comando que me desaiblite o interuumpa la respuesta de otro computador por medio de la ip en consola de linux porfa es importante gracias

  15. master said

    algien sabe como areglar el problema k ai con los dreiver de video

  16. alexander luna said

    buen dia para todos..

    tengo un pc con linux suse, tiene 2 tarjetas de red pero tengo un problema solo tengo activa una de ellas y para poder conectarme con la otra red me toca seleccionar la otra tarjeta pero igual solo que queda funcionando 1, se existe una posibilidad de tener activas las 2 tarjetas al mismo tiempo y es modificando un archivo….. espero que alguien me pueda ayudar… gracias

  17. luis said

    Recuerdo intentar eso hace tiempo pero nunca lo conseguí… siempre o se conecta con una o con la otra, pero en simultaneo no… ¿estaría bien eh? jejeje

  18. Fran said

    alguien me puede decir como puedo buscar de alguna forma en ubuntu otro equipo de mi misma red local mediante su ip por favor? Mil gracias

  19. Roberto said

    Hola soy nuevo en linux, estoy utilizando CentOS y quiero cambiar mi IP pero el comando ifconfig no me funciona, osea me dice que el comando no ha sido encontrado, porq sera?

  20. seo audit said

    Hey there! I know this is kinda off topic but I
    was wondering which blog platform are you using for this site?
    I’m getting sick and tired of WordPress because I’ve
    had issues with hackers and I’m looking at options for another platform. I would be great if you could point me in the direction of a good platform.

  21. walter heranan martinez said

    Se conoce el nombre de un usuario de una red pero no su dirección IP. Con
    que comando se puede resolver este problema……en linux ubuntu

  22. Jose Tapia said

    Muchas gracias por información super util :)

  23. […] En esta dirección se pueden encontrar comandos muy útiles de linux  https://tanaceto.wordpress.com/2007/11/06/comandos-utiles-para-redes-ip-en-linux/ […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: