Diferencia entre revisiones de «Comandos/red»

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar
(Manipulación de IPs)
(Compartir Internet)
 
(No se muestran 11 ediciones intermedias del mismo usuario)
Línea 121: Línea 121:
 
== Manipulación de IPs ==
 
== Manipulación de IPs ==
  
La Ccnfiguración de IP en un entorno Debian GNU/Linux se puede realizar de tres formas::
+
La Configuración de IP en un entorno Debian GNU/Linux se puede realizar de tres formas::
# '''Gráfica''': La cual es a travez de una aplicación gráfica que tiene el entorno de escritorio (kde, gnome, cinnamon, xfce, etc.)
+
# '''Gráfica''': La cual es a travez de una aplicación gráfica que tiene el entorno de escritorio (kde, gnome, cinnamon, xfce, etc.) y que habitualmente utiliza el servicio <code>network-manager</code> para configurar las IPs
 
# '''Archivo''': El archivo de configuración esta en <code>/etc/network/interfaces</code> , para luego activar la configuración con los comandos ifdown  <nombre de la interfaz> e ifup <nombre de la interfaz> .
 
# '''Archivo''': El archivo de configuración esta en <code>/etc/network/interfaces</code> , para luego activar la configuración con los comandos ifdown  <nombre de la interfaz> e ifup <nombre de la interfaz> .
 
# '''Comandos''': Los comandos para configurar las interfaces es el  comando <code>ip</code>  y el  <code>ifconfig</code> (comando que va uedando en desuso)  y para configurar las rutas es <code>ip route</code> y <code>route</code>.
 
# '''Comandos''': Los comandos para configurar las interfaces es el  comando <code>ip</code>  y el  <code>ifconfig</code> (comando que va uedando en desuso)  y para configurar las rutas es <code>ip route</code> y <code>route</code>.
  
 +
''Nota:'' Cuando se desea configurar una dirección IP manual a travez de comandos es necesario detener el servicio de <code>network-manager</code> para que éste no cambie la dirección IP  que le hemos configurado.
  
  
Línea 257: Línea 258:
  
  
 +
'''Alternativa 1'''
  
 +
Instalar ifenslave
 +
apt install ifenslave
 +
<pre>
 +
auto bond0
 +
iface bond0 inet static
 +
address 10.0.0.80
 +
gateway 10.0.0.1
 +
broadcast 10.0.0.255
 +
netmask 255.255.255.0
 +
up /sbin/ifenslave bond0 eth1 eth2
 +
down /sbin/ifenslave -d bond0 eth0 eth1
 +
</pre>
 +
'''Alternativa 2'''
 
<pre>
 
<pre>
 
nano /etc/network/interfaces
 
nano /etc/network/interfaces
Línea 275: Línea 290:
  
 
</pre>
 
</pre>
 +
 +
https://wiki.debian.org/Bonding
 +
https://backdrift.org/lacp-configure-network-bonding-linux
  
 
== Captura de Paquetes ==
 
== Captura de Paquetes ==
Línea 310: Línea 328:
  
 
== Compartir Internet ==
 
== Compartir Internet ==
Para poder compartir internet desde una interfaz de red a otra interfaz de red, se debe ejecutar:
+
Para poder compartir internet desde una interfaz de red a otra interfaz de red, se debe hacer:
 +
 
 +
# Obtener una dirección IP via DHCP en la interfaz de Internet (la cuál debería ser automática)
 +
# Configurar una IP estática en la interfaz LAN y opcionalmente configurar un servidor DHCP
 +
# Configurar el enrutamiento y NAT en la computadora que compartirá internet
 +
# Configurar las IPs de clientes en la red LAN en caso de que no se haya configurado un servidor DHCP
 +
 
 +
Para este ejemplo, solo se muestra la configuración de enrutamiento y NAT, con las siguientes interfaces:
 +
 
 +
* Interfaz con internet: enp0s3
 +
* Interfaz LAN: enp0s8
  
Activación del enrutamiento de trafico de red, ya sea con nano o con echo.
+
A continuación se debe ejecutar:
 +
Activación del enrutamiento de trafico de red, ya sea con nano, echo o sysctl.
 
  root@debian-internet:/home/uls# nano /proc/sys/net/ipv4/ip_forward
 
  root@debian-internet:/home/uls# nano /proc/sys/net/ipv4/ip_forward
 
  root@debian-internet:/home/uls# echo "1" > /proc/sys/net/ipv4/ip_forward
 
  root@debian-internet:/home/uls# echo "1" > /proc/sys/net/ipv4/ip_forward
 +
root@debian-internet:/home/uls# sysctl -w net.ipv4.ip_forward=1
  
  
Línea 335: Línea 365:
  
  
 +
Luego debemos configurar una IP estática a cada una de las maquinas de nuestra red LAN configurando:
 +
* Gateway, debe ser la IP de la maquina que comparte internet
 +
* IP, debe de estar en el bloque de IPs de la red LAN.
 +
* DNS, debe tener una ip configurada, como pj. 8.8.8.8
 +
 +
'''Configuración DNSMASQ'''
 +
Archivo de configuración /etc/dnsmasq.conf y modificamos los siguientes campos:
 +
 +
interface=eth0
 +
dhcp-option=3,192.168.100.1
 +
dhcp-option=6,8.8.8.8,8.8.4.4
 +
dhcp-range=192.168.100.50,192.168.100.100,12h
 +
 +
Donde interface es el nombre de la interfaz donde estarán conectados los clientes.
 +
 +
== Resolución de Problemas de Red ==
 +
 +
 +
# '''Verificar la conexión física:''' Verificar que el cable de red esté conectado y que la interfaz este UP. En redes inalámbricas verificar que se autentica al punto de acceso.
 +
# '''Verificar la dirección IP:''' Deberán verificar la dirección IP y la máscara para confirmar que la IP corresponde al segmento de la red LAN.
 +
# '''Verificar la comunicación con:'''
 +
## ''Red LAN''  Hacer un ping hacia el ''gateway'' sino responde verificar los puntos anteriores. Si responde, continuar con el siguiente paso.
 +
## ''Red WAN''  Hacer un ping hacia una IP de la red WAN (o hacia una IP pública), sino responde verificar que se tiene configurado correctamente el 'gateway''. Si responde, continuar con el siguiente paso.
 +
## ''Red WAN con nombres'' Hacer ping hacia un nombre de Internet, sino responde verificar la IP del dns. Si respond, todo esta comunicado.
  
 
== Referencias ==
 
== Referencias ==
Línea 348: Línea 402:
 
#https://www.redeszone.net/redes/iperf-manual-para-medir-ancho-de-banda-entre-dos-ordenadores-en-lan/
 
#https://www.redeszone.net/redes/iperf-manual-para-medir-ancho-de-banda-entre-dos-ordenadores-en-lan/
 
#http://www.vicente-navarro.com/blog/2008/12/13/midiendo-el-ancho-de-banda-de-red-con-iperf-y-con-scp-netcat-wget/
 
#http://www.vicente-navarro.com/blog/2008/12/13/midiendo-el-ancho-de-banda-de-red-con-iperf-y-con-scp-netcat-wget/
 +
 +
 +
  453  apt-get install linux-headers-generic build-essential git
 +
  453  apt-get install linux-headers-amd64 build-essential git
 +
  454  apt-get install build-essential git
 +
  455  git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
 +
  456  cd ~/rtl8812AU_8821AU_linux
 +
  457  make
 +
  458  make install
 +
  460  modprobe rtl8812au

Revisión actual del 11:33 6 oct 2018

Indice


Terminos a Dominar

  • Direccion IP, IPv4, IPv6
  • Mascara de red, en formato prefijo y formato decimal punteado
  • Rutas estáticas
  • VLANs
  • ARP
  • EtherChannel, Bonding, link aggregation

Calculo de Redes

Generalidades

  • IP de Red: Es la primera dirección de una red e identifica una red de otras
  • IP de broadcast: Es la ultima direccion IP y se utiliza para enviar un mensaje a todos los nodos de la red en cuestión.
  • Ruta:Una ruta permite alcanzar otras redes.
  • Ruta predeterminada:Existe una ruta especial llamada ruta predeterminada, ruta por defecto, default gateway . La función de esta ruta es ser el último recurso para hacer llegar un paquete a su destino. En caso de que una red solo tenga un punto que le comunica con otras redes, este punto será el gateway por defecto.

ipcalc

La aplicacion ipcalc le puede dar informacion de una red. Pj.

gestor@dtiinfra:~$ ipcalc  172.16.0.0/25
Address:   172.16.0.0           10101100.00010000.00000000.0 0000000
Netmask:   255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Wildcard:  0.0.0.127            00000000.00000000.00000000.0 1111111
=>
Network:   172.16.0.0/25        10101100.00010000.00000000.0 0000000
HostMin:   172.16.0.1           10101100.00010000.00000000.0 0000001
HostMax:   172.16.0.126         10101100.00010000.00000000.0 1111110
Broadcast: 172.16.0.127         10101100.00010000.00000000.0 1111111
Hosts/Net: 126                   Class B, Private Internet
gestor@dtiinfra:~$ ipcalc  192.168.0.10 255.255.0.0
Address:   192.168.0.10         11000000.10101000. 00000000.00001010
Netmask:   255.255.0.0 = 16     11111111.11111111. 00000000.00000000
Wildcard:  0.0.255.255          00000000.00000000. 11111111.11111111
=>
Network:   192.168.0.0/16       11000000.10101000. 00000000.00000000
HostMin:   192.168.0.1          11000000.10101000. 00000000.00000001
HostMax:   192.168.255.254      11000000.10101000. 11111111.11111110
Broadcast: 192.168.255.255      11000000.10101000. 11111111.11111111
Hosts/Net: 65534                 Class C, Private Internet

subnetcalc

Es otra aplicacion para poder conocer mas información sobre una red



gestor@dtiinfra:~$ subnetcalc 172.16.0.0/16
Address       = 172.16.0.0
                   10101100 . 00010000 . 00000000 . 00000000
Network       = 172.16.0.0 / 16
Netmask       = 255.255.0.0
Broadcast     = 172.16.255.255
Wildcard Mask = 0.0.255.255
Hosts Bits    = 16
Max. Hosts    = 65534   (2^16 - 2)
Host Range    = { 172.16.0.1 - 172.16.255.254 }
Properties    =
   - 172.16.0.0 is a NETWORK address
   - Class B
   - Private
GeoIP Country = Unknown (??)
DNS Hostname  = (Nombre o servicio desconocido)
gestor@dtiinfra:~$ subnetcalc fe80::5b3f:b8c8:4f6e:79ab/64
Address       = fe80::5b3f:b8c8:4f6e:79ab
                   fe80 = 11111110 10000000
                   0000 = 00000000 00000000
                   0000 = 00000000 00000000
                   0000 = 00000000 00000000
                   5b3f = 01011011 00111111
                   b8c8 = 10111000 11001000
                   4f6e = 01001111 01101110
                   79ab = 01111001 10101011
Network       = fe80:: / 64
Netmask       = ffff:ffff:ffff:ffff::
Wildcard Mask = ::ffff:ffff:ffff:ffff
Hosts Bits    = 64
Max. Hosts    = 18446744073709551616   (2^64 - 1)
Host Range    = { fe80::1 - fe80::ffff:ffff:ffff:ffff }
Properties    =
   - fe80::5b3f:b8c8:4f6e:79ab is a HOST address in fe80::/64
   - Link-Local Unicast Properties:
      + Interface ID = 5b3f:b8c8:4f6e:79ab
      + Sol. Node MC = ff02::1:ff6e:79ab
GeoIP Country = Unknown (??)
DNS Hostname  = dtiinfra

Ejercicios

Verificar las diferencias entre

  • ipcalc 172.16.0.0/25
  • ipcalc 172.16.0.0/26
  • ipcalc 172.16.0.0/28
  • ipcalc 172.16.0.130/28


  1. En los primeros tres, la dirección de red y el primer host se mantienen iguales.
  2. El los ultimos hosts, la direccion de red, broadcast, el primer y ultimo host cambian.

Manipulación de IPs

La Configuración de IP en un entorno Debian GNU/Linux se puede realizar de tres formas::

  1. Gráfica: La cual es a travez de una aplicación gráfica que tiene el entorno de escritorio (kde, gnome, cinnamon, xfce, etc.) y que habitualmente utiliza el servicio network-manager para configurar las IPs
  2. Archivo: El archivo de configuración esta en /etc/network/interfaces , para luego activar la configuración con los comandos ifdown <nombre de la interfaz> e ifup <nombre de la interfaz> .
  3. Comandos: Los comandos para configurar las interfaces es el comando ip y el ifconfig (comando que va uedando en desuso) y para configurar las rutas es ip route y route.

Nota: Cuando se desea configurar una dirección IP manual a travez de comandos es necesario detener el servicio de network-manager para que éste no cambie la dirección IP que le hemos configurado.


Mostrar Direcciones

ifconfig
ip address

Cambiar Dirección

ip address add X.X.X.X/M  dev eth0
ifconfig eth0 X.X.X.X netmask M.M.M.M

Borrar Dirección

ip address del X.X.X.X/M  dev eth0
ifconfig eth0 0.0.0


Activar/Desactivar Interfaz

ifconfig eth0  up
ifconfig eth0 down

ip link set eth0 up
ip link set eth0 down

Configuraciones Permanentes

Las configuraciones permanentes se guardan en el archivo /etc/network/interfaces ó en el directorio /etc/network/interfaces.d/


Ejemplo de configuracion de este archivo

auto enp0s3  # Para que levante automaticamente cuando encienda la computadora
iface  enp0s3 inet static  # Configuración para una IP sestatica
        address 192.168.1.20 #Direccion IP
        netmask 255.255.255.0 #Mascara de red
        gateway 192.168.1.1 # Puerta de enlace
        dns-servers 8.8.8.8 #DNS

Activar o Desactivar Configuraciones Permanentes

ifup enp0s3    

Activa la configuracion de la interfaz enp0s3 que esta en el archivo /etc/network/interfaces o carpeta /etc/network/interfaces.d/

ifdown enp0s3  

Desactiva la configuracion de la interfaz que esta en el archivo /etc/network/interfaces o carpeta /etc/network/interfaces.d/


Obtenert una dirección IP

dhclient -v

Administrador Gráfico de Red

/etc/init.d/network-manager stop
/etc/init.d/network-manager start

Configurar la IP del DNS

Las ips del DNS, cuando se obtiene una dirección vía DHCP se guardan en el archivo /etc/resolv.conf

Si deseamos usar el DNS de google en nuestra computadora, ponemos

echo “nameserver 8.8.8.8” > /etc/resolv.conf

Manipular Rutas

Mostrar Rutas

route
route -n
ip route
ip route show
ip route list


Agregar Rutas

route add default gw 192.168.1.254 eth0
ip route add default via 192.168.1.254
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.10
ip route add 192.168.1.0/24 dev eth0

Borrar Rutas

route del -net 192.168.1.0 netmask 255.255.255.0
ip route del 192.168.1.0/24


Manipular Tablas ARP

Mostrar Tablas

arp -a

Agregar nueva entrada ARP

arp -i eth0 -s X.X.X.X 00:11:22:33:44:55
ip neigh add X.X.X.X lladdr 00:11:22:33:44:55 nud permanent dev eth0

Borrar Entrada

arp -d X.X.X.X


Administracion VLAN

Instalación VLAN

apt-get install vlan

Agregar una VLAN

vconfig add eth0 5
ip link add link eth0 name eth0.5 type vlan id 5


Borrar VLAN

vconfig rem eth0.5
ip link delete eth0.5

Bonding

Alternativa 1

Instalar ifenslave

apt install ifenslave
auto bond0
iface bond0 inet static
	address 10.0.0.80
	gateway 10.0.0.1
	broadcast 10.0.0.255
	netmask 255.255.255.0
	up /sbin/ifenslave bond0 eth1 eth2
	down /sbin/ifenslave -d bond0 eth0 eth1

Alternativa 2

nano /etc/network/interfaces

auto bond0
iface bond0 inet static
    address xxx.xxx.xxx.xxx
    netmask 255.255.255.0
    network xxx.xxx.xxx.0
    broadcast xxx.xxx.xxx.255
    gateway xxx.xxx.xxx.1

    slaves eth0 eth1
    bond_mode active-backup
    bond_miimon 100
    bond_downdelay 150

https://wiki.debian.org/Bonding https://backdrift.org/lacp-configure-network-bonding-linux

Captura de Paquetes

apt-get install tcpdump wireshark
 534  tcpdump -i enp1s0
 535  tcpdump -i enp1s0 -w captura.dump

Escaneo de Redes

apt-get install nmap

Escanear todos los puertos de una IP

nmap 172.16.7.1
Scan
SYN Stealth Scan Timing: About 99.99% done; ETC: 10:57 (0:00:00 remaining)
Nmap scan report for 172.16.7.1
Host is up (0.0019s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
23/tcp   open  telnet
80/tcp   open  http
5431/tcp open  park-agent 
MAC Address: 90:EF:68:71:ED:05 (ZyXEL Communications)

Escanear todas las IPs de una red

nmap -sP -n 172.16.7.0/24

netcat-openbsd - TCP/IP swiss army knife

Compartir Internet

Para poder compartir internet desde una interfaz de red a otra interfaz de red, se debe hacer:

  1. Obtener una dirección IP via DHCP en la interfaz de Internet (la cuál debería ser automática)
  2. Configurar una IP estática en la interfaz LAN y opcionalmente configurar un servidor DHCP
  3. Configurar el enrutamiento y NAT en la computadora que compartirá internet
  4. Configurar las IPs de clientes en la red LAN en caso de que no se haya configurado un servidor DHCP

Para este ejemplo, solo se muestra la configuración de enrutamiento y NAT, con las siguientes interfaces:

  • Interfaz con internet: enp0s3
  • Interfaz LAN: enp0s8

A continuación se debe ejecutar: Activación del enrutamiento de trafico de red, ya sea con nano, echo o sysctl.

root@debian-internet:/home/uls# nano /proc/sys/net/ipv4/ip_forward
root@debian-internet:/home/uls# echo "1" > /proc/sys/net/ipv4/ip_forward
root@debian-internet:/home/uls# sysctl -w net.ipv4.ip_forward=1


Habilitamos que nuestra interfaz de de salida a internet enp0s3 realize el proceso de NAT cuando el trafico salga a nuestra red WAN

root@debian-internet:/home/uls# iptables -t nat -A POSTROUTING -o enp0s3    -j MASQUERADE

Habilitamos el rastreo de trafico enrutado

root@debian-internet:/home/uls# iptables -A FORWARD -m conntrack            --ctstate RELATED,ESTABLISH -j ACCEPT

Permitimos que el trafico se pueda enrutar desde nuestra red LAN (enp0s8) hacia nuestra red WAN (red conectada a internet enp0s3)

root@debian-internet:/home/uls# iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT

Si queremos verificar las reglas que se ha n agregadoo, debemos listar la tabla de iptables regular y la nat con:

root@debian-internet:/home/uls# iptables -L
root@debian-internet:/home/uls# iptables -t nat -L


En caso de querer limpiar las dos tablas de iptables, podemos dar FLUSH con:

root@debian-internet:/home/uls# iptables -t nat -F
root@debian-internet:/home/uls# iptables -F


Luego debemos configurar una IP estática a cada una de las maquinas de nuestra red LAN configurando:

  • Gateway, debe ser la IP de la maquina que comparte internet
  • IP, debe de estar en el bloque de IPs de la red LAN.
  • DNS, debe tener una ip configurada, como pj. 8.8.8.8

Configuración DNSMASQ Archivo de configuración /etc/dnsmasq.conf y modificamos los siguientes campos:

interface=eth0
dhcp-option=3,192.168.100.1
dhcp-option=6,8.8.8.8,8.8.4.4
dhcp-range=192.168.100.50,192.168.100.100,12h

Donde interface es el nombre de la interfaz donde estarán conectados los clientes.

Resolución de Problemas de Red

  1. Verificar la conexión física: Verificar que el cable de red esté conectado y que la interfaz este UP. En redes inalámbricas verificar que se autentica al punto de acceso.
  2. Verificar la dirección IP: Deberán verificar la dirección IP y la máscara para confirmar que la IP corresponde al segmento de la red LAN.
  3. Verificar la comunicación con:
    1. Red LAN Hacer un ping hacia el gateway sino responde verificar los puntos anteriores. Si responde, continuar con el siguiente paso.
    2. Red WAN Hacer un ping hacia una IP de la red WAN (o hacia una IP pública), sino responde verificar que se tiene configurado correctamente el 'gateway. Si responde, continuar con el siguiente paso.
    3. Red WAN con nombres Hacer ping hacia un nombre de Internet, sino responde verificar la IP del dns. Si respond, todo esta comunicado.

Referencias

  1. https://www.redeszone.net/gnu-linux/como-usar-del-comando-ip-iproute2-suite-en-lugar-de-ifconfig-en-linux/
  2. https://www.cyberciti.biz/faq/linux-route-add/
  3. http://www.thegeekstuff.com/2012/04/route-examples
  4. https://www.cyberciti.biz/tips/howto-configure-linux-virtual-local-area-network-vlan.html
  5. https://phenobarbital.wordpress.com/2011/06/22/linux-guia-rapida-de-network-bonding-en-debian/
  6. https://wiki.debian.org/BridgeNetworkConnections#Introduction
  7. https://servidordebian.org/es/jessie/config/network/bonding
  8. https://phenobarbital.wordpress.com/2011/06/22/linux-guia-rapida-de-network-bonding-en-debian/
  9. https://www.redeszone.net/redes/iperf-manual-para-medir-ancho-de-banda-entre-dos-ordenadores-en-lan/
  10. http://www.vicente-navarro.com/blog/2008/12/13/midiendo-el-ancho-de-banda-de-red-con-iperf-y-con-scp-netcat-wget/


 453  apt-get install linux-headers-generic build-essential git
 453  apt-get install linux-headers-amd64 build-essential git
 454  apt-get install build-essential git
 455  git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
 456  cd ~/rtl8812AU_8821AU_linux
 457  make
 458  make install
 460  modprobe rtl8812au