lunes, 10 de febrero de 2014

Linux. Haciendo ping a rangos de IP's o verificando cuales estan vivas

Esto es importante, cuando manejamos varias maquinas en una red, lo que nos ayuda a revisar cuales están activas o respondiendo,

También  nos ayuda a verificar si hay una maquina con una IP en el mismo rango que no debería estar.
Utilizaremos la red 10.10.1.0/24 como ejemplo

Usando el comando fping

cheperobert:~ # fping -s -g 10.10.1.1 10.10.1.15
10.10.1.1 is alive
10.10.1.2 is alive
10.10.1.3 is alive
10.10.1.4 is alive
10.10.1.6 is alive
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.5
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.5
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.5
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.7
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.7
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.7
10.10.1.5 is unreachable
10.10.1.7 is unreachable
10.10.1.8 is unreachable
10.10.1.9 is unreachable
10.10.1.10 is unreachable
10.10.1.11 is unreachable
10.10.1.12 is unreachable
10.10.1.13 is unreachable
10.10.1.14 is unreachable
10.10.1.15 is unreachable

      15 targets
       5 alive
      10 unreachable
       0 unknown addresses

      10 timeouts (waiting for response)
      45 ICMP Echos sent
       5 ICMP Echo Replies received
       6 other ICMP received

 0.53 ms (min round trip time)
 0.89 ms (avg round trip time)
 1.36 ms (max round trip time)
        4.439 sec (elapsed real time)



La opcion s podemos obtener algunas estadisticas
Con la opcion g podemos definir la mascara de la IP o un rango, que ha sido nuestro caso.
ej.

 fping -g 10.10.1.0/24

            o
 fping -g 10.10.1.1 10.10.1.15


cheperobert:~ # for IP in 10.10.1.{1..15}; do if ping $IP -c 1 > /dev/null; then echo $IP alive; else echo $IP dead; fi; done
10.10.1.1 alive
10.10.1.2 alive
10.10.1.3 alive
10.10.1.4 alive
10.10.1.5 dead
10.10.1.6 alive
10.10.1.7 dead
10.10.1.8 dead
10.10.1.9 dead
10.10.1.10 dead

Un pequeño for, que nos dice que si hay un ping a la IP del rango envié la salida a null e imprima el mensaje definido en echo.

Estos for son importantes, porque se pueden usar en muchas formas desde la linea de comando, por cierto los for programando en PHP nunca se me olvidan, la sintaxis de linux siempre tengo que ver la documentación :)

cheperobert:~ # nmap -sn 10.10.1.0-20

Starting Nmap 6.40 ( http://nmap.org ) at 2014-02-10 09:24 CST
Nmap scan report for 10.10.1.1
Host is up (0.00030s latency).
Nmap scan report for 10.10.1.2
Host is up (0.00056s latency).
Nmap scan report for 10.10.1.3
Host is up (0.00057s latency).
Nmap scan report for 10.10.1.4
Host is up (0.00056s latency).
Nmap scan report for 10.10.1.6
Host is up (0.00056s latency).
Nmap done: 21 IP addresses (5 hosts up) scanned in 11.22 seconds
cheperobert:~ #

No podria faltar nmap

Espero les sirva.

martes, 4 de febrero de 2014

Compartiendo internet desde mi openSUSE

A veces es bueno compartir Internet desde una sola PC y mucho mejor si podemos hacerlo a través de un punto inalambrico, que nos ofrezca IP's a computadoras portátiles y teléfonos.

Pero es mas interesante cuando al PC solo tiene una Interfaz de red, para esto le creamos un alias.

Espero les sirva les dejo las configuraciones echas en openSUSE 13.1

En: /etc/sysconfig/network/ifcfg-eth0

BOOTPROTO='static'
IPADDR='172.18.64.40/24'
NAME='82567LM-3 Gigabit Network
STARTMODE='auto'
USERCONTROL='no'
PREFIXLEN='24'

# eth0:0
IPADDR1='192.168.21.1'
NETMASK1='255.255.255.0'
LABEL1='0'

Configuramos el DNS en: /etc/resolv.conf
nameserver 8.8.8.8


Aplicamos el redireccionamiento:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -F -t nat
iptables -t nat -A POSTROUTING -s 192.168.21.0/24 -o eth0 -j MASQUERADE

Podemos crear un pequeño script

Al final configuran el AP, con los datos necesios, para que puedan na vegar a través de la IP.
Les dejo un pequeño diagrama echo en KolourPain



Suerte.