Mostrando entradas con la etiqueta ip. Mostrar todas las entradas
Mostrando entradas con la etiqueta ip. Mostrar todas las entradas

martes, 12 de enero de 2016

Rangos y clases de IP: Calcular con ipcalc








Como IT  tenemos que tener los conocimientos de redes suficientes para poder desenvolvernos fácilmente a la hora de trabajar con redes e IP's. Por ello tenemos que tener conocimientos sobre los rangos y clases de IP que hay. Son muchas la veces que tenemos que trabajar y jugar con rangos de direcciones IP y de máscaras en nuestras redes, es por ello que tenemos que tener los conocimientos bien asimilados. 

Hoy os enseñaré una herramienta como es ipcalc para facilitarnos el trabajo pero antes veremos un poco de teoría que nunca viene mal.

Dentro las los tipos de redes los tenemos de varias clases, A, B o C. 




Para comenzar a explicar hay que decir que cada dirección IP tiene 4 octetos de 8 bits cada uno. Por ejemplo de la ip 8.8.4.4 el primer 8 sería el primer octeto y este primero octeto puede contener 8 bits o 2^8 es decir de 0 a 255 es decir un total de 256 valores diferentes.


· Clase A: Es la clase para redes más grandes, el primer octeto puede contener de 1 a 126. Jugando con todo esto podemos obtener 128 redes diferentes, a su vez por cada red podemos asignar 16,777,214 y a su vez un total de 2,147,483,648 direcciones únicas.

· Clase B: Es la segunda más grande por detrás de la clase A. El primero octeto en este caso es de 128 a 191. En este caso por cada red podemos asignar 65,534 anfitriones posibles cada uno con un total de 1,073,741,824 direcciones únicas.

· Clase C: Es la última de todas y es utilizada para viviendas, pequeños negocios, etc. En el primer octeto nos movemos en un rango de entre 192 y 223. Es decir 2,097,142 redes con 254 anfitriones y un total de 536,870,912 direcciones únicas. 


Después de un poco de teoría podemos vamos a ver de que trata ipcalc. Ipcalc maneja la dirección ip, la máscara y calcula el resultado mostrándonos la red, la máscara y el rango de nodos o host. Dándole una segunda máscara, se pueden diseñar subredes y superedes y como dicen en su propia web es una herramienta de aprendizaje que presenta los resultado en binario para que sean fácil de asimilar.

Estos son algunos de los ejemplos para utilizar ipcalc:

ipcalc 192.168.0.1/24
ipcalc 192.168.0.1/255.255.128.0
ipcalc 192.168.0.1 255.255.128.0 255.255.192.0
ipcalc 192.168.0.1 0.0.63.255

Es decir para realizar la búsqueda tenemos todas esas opciones y en la siguiente imagen vemos como se pone en práctica. 





Como vemos nos muestra las direcciones en binario, el tipo de clase de red, el primer host, el último host y la cantidad de hosts/net. En definitiva es una herramienta que nos ayuda a recordar aquello que si que hemos estudiado pero que por la necesidad de ahorrarnos tiempo en nuestro trabajo nos es muy útil.





jueves, 30 de abril de 2015

Solución de problemas - Internet / Acceso a la Red en Linux: Comprobando/configurando DNS & fichero HOST



En esta entrada vamos a ver como ver las DNS asignadas a nuestro cliente o servidor y como cambiarlas y asignarles otras.

Las DNS o Sistema de Nombre de Dominio, básicamente es un sistema el cual nos permite tener una relación entre el nombre del recurso al que queramos acceder con su dirección IP todo esto almacenado en una base de datos. Por ejemplo cuando en nuestro navegador solicitamos www.google.es el DNS recibe esa petición y te dirige a la dirección 216.58.210.131. Las DNS podemos tenerlas configuradas de dos maneras manualmente o dinámicamente, en este último caso nos la reparte el servidor DHCP.





Para ver las DNS configuradas en nuestro servidor no tenemos más que escribir la siguiente línea de comandos "cat /etc/resolv.conf".





Una vez mostrada podemos modificarlas, pero antes de ello vamos a seguir los pasos correspondientes y esto antes de modificar algo realizar una copia del mismo para posteriormente poder restaurarla. Esto lo haremos con la siguiente lineas de comandos "cp -f /etc/resolv.conf{,.bak}".

Una vez realizada nuestra copia de seguridad procedemos a modificar las DNS, las cuales podemos poner varias como pueden ser las de OpenDNS( 208.67.222.222 – 208.67.220.220) o google (8.8.8.8 – 8.8.4.4) también puedes disponer de direcciones mas anónimas en este enlace. Una vez nos hemos decidido procedemos a modificar las DNS, mediante el siguiente comando "vim /etc/resolv.conf" y añadimos la direcciones de DNS que hemos elegido.





Después de esto tendremos que revisar el fichero host (/etc/host) en busca de modificaciones porque si aquí hay alguna búsqueda local aunque tengamos las DNS correctas la búsqueda se va a realizar según este puesta aquí la relación nombre real – dirección IP. Si recordamos esto ya lo hemos tocado anteriormente en el tema ( "Migrando nuestra web de hosting" Ver web mientras la actualización de DNS se completa ( Linux, OSX, Windows).


Para comprobarlo escribimos el siguiente comando "cat /etc/host" y se nos mostrará el contenido del mismo.


Ahora en caso de querer modificarlo lo primero que haremos será un backup del fichero "cp -f /etc/hosts{,.bak}". Una vez realizado el backup en caso de que queramos añadir alguna relación especifica para nosotros el formato que debemos introducir será <dirección ip> <nombre del host>. Y para editar el fichero deberemos escribir "vim /etc/hosts". Ya en el modificamos o editamos lo que queramos.








miércoles, 8 de abril de 2015

Solución de problemas - Internet / Acceso a la Red en Linux: Comprobando/configurando dirección IP & puerta de enlace (GW)




En esta entrada vamos a ver como comprobar/cambiar/establecer la dirección IP y su máscara de red ( estática, DHCP) y por último la puerta de enlace (GW).


Para mostrar la dirección IP usaremos 'ifconfig' ( 'ipconfig -a' para mostrar todos los dispositivos sin importar si están levantados o no). 





Ahora tendremos que decidirnos por una dirección estática o dinámica (DHCP).


· Dirección dinámica (DHCP): En este tipo de asignación sera al servidor DHCP al que le solicitaremos la dirección, después de solicitarlo este nos asignará una dirección IP, también nos asignará una puerta de enlace y una DNS.





A la hora de solicitar la dirección ip para el dispositivo de red nos bastará con escribir 'dhclient -r eth1' y 'dhclient eth1'.




· Dirección estática: En este tipo de asignación seremos nosotros el que lo asignaremos.

Ahora para asignar una dirección manual o estática, asignaremos la dirección IP y la máscara de red.

En este ejemplo trabajar con una ip con máscara clase C, en la imagen veremos como asignarla simplemente escribiendo 'ifconfig eth1 192.168.1.90/24' y comprobaremos la dirección nueva 'ifconfig eth1'







Para hacer que estos cambios sean persistentes, es decir que se mantengan tras el reinicio tendremos que alterar un fichero. Y si vamos a alterar el fichero lo mejor que podemos hacer es realizar una copia del mismo 'cp -f /etc/network/interfaces{,.bak}





Una vez realizada la copia de seguridad podremos editar el fichero 'vim /etc/network/interfaces' para disponer de una dirección asignada mediante DHCP o manualmente.


DHCP persistente: Añadiremos al fichero que estamos editando lo siguiente.

auto eth0
iface eth0 inet dhcp

IP estática persistente: Añadiremos al fichero que estamos editando lo siguiente que variará en función de la configuración que queramos.

iface eth0 inet static
address 192.168.1.90
netmask 255.255.255.0
gateway 

Por último veremos como mostrar/configurar la puerta de enlace (GW). Para mostrar la puerta de enlace que tenemos actualmente lo veremos mediante 'route -n'.





Una vez mostrada, para cambiar la puerta de enlace asignada en este adaptador de red tan solo tendremos que asignarla manualmente mediante 'route add default gw 192.168.1.2 eth1'





Para eliminar una puerta de enlace tan solo con escribir 'route delete default gw 192.168.1.2 eth1'









jueves, 26 de marzo de 2015

Solución de problemas - Internet / Acceso a la Red en Linux: Comprobar&Buscar problemas de red en una sola línea de comandos.




En estas entradas que veremos de aquí en adelante nos permitirán poner en marcha o arreglar y detectar los problemas de red de nuestro servidor basado en Linux.

En esta primera entrada vamos a ver como ejecutando una sola línea de comandos comprobaremos y encontraremos el estado de la red. Esto nos facilitará encontrar el problema ya que estos comandos nos permiten encontrar dónde y cuando falla nuestra conexión o configuración de red/internet. Veremos la configuración de red, puerta de enlace, DNS, estado de la conexión (ping), comprobar los saltos (traceroute), ip pública, comprobar proxy.

ifconfig -a; route -n; cat /etc/resolv.conf; cat /etc/network/interfaces; ping google.com -c 4; traceroute google.com; curl ifconfig.me; echo $http_proxy










miércoles, 5 de noviembre de 2014

Script automatizado con envío de ip pública vía email ( Linux + sSMTP + email + cron&crontab )










Anteriormente vimos en "Enviando email desde consola (Linux): SSMTP + GMAIL" como configurar nuestro sistema para enviar emails desde el terminal y también vimos en "Buscando nuestra dirección ip pública" como saber cual es nuestra ip pública. 

En este caso tiraremos de lo anterior y generaremos un script el cual nos va a permitir tener en nuestro correo la dirección ip pública de nuestro host de forma automatizada y que se ejecutará cuando nosotros queramos. Para esto último tiraremos de cron&contrab que nos permitirá ponerle un tiempo de ejecución a nuestro script para mantener actualizado y saber si hemos tenido algún cambio en nuestra ip pública.


" Como aspecto de seguridad esta "herramienta" la podríamos tener en nuestro propio portátil, así en caso de ser sustraído y conecten nuestro ordenador este ya enviaría la ip pública a nuestro email. Con esta información ya tendríamos un gran paso y nos pondríamos manos a la obra en la recuperación de nuestro portátil. "

Una vez repasado todo la anterior, nos ponemos manos a la obra con nuestro script. Como editor utilizaré vim, pero siempre se puede usar el sencillo nano para ello. Nos vamos al terminal y creamos el script mediante "vim nombrescript.sh". Una vez dentro introducimos el código.


#!/bin/sh
# Script envío ip pública via email.
echo "# Ip publica mserv --> $(curl icanhazip.com) || fecha: $(date)" | mail -s "# mserv ip: $(curl icanhazip.com) | fecha: $(date)" usuario@gmail.com                       

        
                                                 
                                                                    

Este script hace un envío de la ip pública con la fecha y hora al correo electrónico en mi caso gmail.

Una vez tenemos, automatizaremos el proceso para que este script se ejecute cada 5 minutos en nuestro caso (en vuestro caso según el tiempo que deseéis), pero antes de nada vamos hacer un pequeño repaso a crontab.

Con crontab podemos controlar el momento en ele que se ejecutan determinadas tareas según una fecha, una hora, una serie de veces, etc. 

Para usar crontab podemos hacerlo de la siguiente manera:

crontab -e  (Nos permite editar y configurar el script o tarea que se vaya a realizar)
crontab -l   (Nos lista tareas que ya están programadas)
crontab -d  (Borra las tareas que ya están programadas)

Una vez dentro del fichero tendremos que escribir con un orden tal que así ''m h dom mon dow user /command/ruta/del/script.sh'
  • m = el minuto en el que se va a ejecutar.
  • h  = la hora en que se va a ejecutar.
  • dom = el día del mes en el que se va a ejecutar.
  • dow = el día de la semana.
  • user = el usuario que lo va a ejecutar.
  • command = la ruta del script que vamos a ejecutar. 

Tenemos también caracteres especiales predefinidos como son:

  • @reboot (al iniciarse el sistema)
  • @yearly (una vez al año)
  • @annually (una vez al año)
  • @monthly (una vez al mes)
  • @weekly (una vez a la semana)
  • @daily (una vez al día)
  • @midnight (una vez al día)
  • @hourly  (una vez cada hora)

Una vez visto por encima pondré un par de ejemplos

*/30 * * * * /ruta/del/script.sh (se ejecutará cada 30 minutos)

30 21 * 7 root apt-get -y update (el domingo a las 21:30 root ejecutará la actualización)

Si necesitáis más ejemplos, aquí los tenéis

Una vez habiendo visto crontab por encima procedemos a hacer nuestro ejemplo. Abrimos la consola y escribimos '
crontab -e'. Una vez ahí escribiré mi ejemplo (si vosotros usáis otro pues el vuestro).


*/5 * * * * /ruta/del/script/enviodecorreoip.sh 


 (esto lo que hará será dirigirse a la ruta del script y ejecutarlo cada 5 minutos) 


Una vez echo esto nos dirigimos a nuestro correo (gmail en mi caso) y comprobamos que ha comenzado a funcionar.












martes, 14 de octubre de 2014

Buscando nuestra dirección IP pública









Muchas veces nos encontramos con la necesidad de saber cual es nuestra ip pública o nuestra ip de la pata WAN del router para configurar múltiples cosas de nuestra red o simplemente para hacer un breve análisis de nuestra infraestructura de red. Está dirección es la que nos provee nuestro proveedor de servicios de internet ( ISP) y a continuación vamos a ver las formas con las que tenemos la posibilidad de conocerlas.

· Navegador web: Entrando en cualquiera de las siguientes paginas webs o simplemente buscando en google " cual es mi ip pública", tendremos acceso a múltiples páginas web las cuales nos mostrarán nuestra ip publica.

http://www.cualesmiip.com/

http://www.cual-es-mi-ip.net/






También accediendo nuestro router mediante el navegador. Este nos mostrara la ip pública que tiene asignada.






· Mediante comandos: Muchas veces estamos en un servidor el cual carece de interfaz gráfica o simplemente estamos accediendo mediante comandos y estamos trabajando contra un terminal.

Si disponemos de terminal linux o windows (también esta este paquete para windows), podemos instalar el paquete curl por ejemplo en derivado debian " sudo apt-get install curl" una vez con esto podemos lanzar el siguiente comando "curl ifconfig.me" o " curl icanhazip.com"y se nos mostrara nuestra ip pública.







Sin tener que instalar nada usando el comando nslookup, el cual nos permite saber si el dns esta resolviendo bien la ip o los nombres de dominio, aprovechamos esto para lanzarlo contra opendns.com mediante el siguiente comando "nslookup myip.opendns.com resolver1.opendns.com






A través de telnet (si esta habilitado) podemos acceder a nuestro router "
telnet ipdelrouter" para consultar la ip pública, en nuestro caso hacemos un "ifconfig interfazdered" a la interfaz que sabemos que tiene asignada la ip pública.






Finalmente con powershell mediante los siguientes comandos nos proporcionamos un método para recibir en este caso datos de un identificador URL conseguiremos extraer nuestra ip pública de una web y en segundo lugar descargamos el recurso solicitado como string, se especifica finalmemente como una cadena que contiene el URL.

$wc = new-object System.Net.Webclient
$wc.DownloadString("htpp://icanhazip.com/")