Diferencia entre revisiones de «Comandos/red»
(→Manipulación de IPs) |
(→Compartir Internet) |
||
(No se muestran 10 ediciones intermedias del mismo usuario) | |||
Línea 122: | Línea 122: | ||
La Configuració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 | + | 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 | + | 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
Contenido
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
- En los primeros tres, la dirección de red y el primer host se mantienen iguales.
- 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::
- 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 - 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> . - Comandos: Los comandos para configurar las interfaces es el comando
ip
y elifconfig
(comando que va uedando en desuso) y para configurar las rutas esip route
yroute
.
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:
- 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
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
- 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
- https://www.redeszone.net/gnu-linux/como-usar-del-comando-ip-iproute2-suite-en-lugar-de-ifconfig-en-linux/
- https://www.cyberciti.biz/faq/linux-route-add/
- http://www.thegeekstuff.com/2012/04/route-examples
- https://www.cyberciti.biz/tips/howto-configure-linux-virtual-local-area-network-vlan.html
- https://phenobarbital.wordpress.com/2011/06/22/linux-guia-rapida-de-network-bonding-en-debian/
- https://wiki.debian.org/BridgeNetworkConnections#Introduction
- https://servidordebian.org/es/jessie/config/network/bonding
- https://phenobarbital.wordpress.com/2011/06/22/linux-guia-rapida-de-network-bonding-en-debian/
- 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/
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