Aquí va un dato: tienes un router en casa. Ahora… ¿no te pica la curiosidad de cómo funciona? ¿No te has cuestionado qué hace ese aparato? Hoy no solo ENTENDERÁS todo lo preguntado, sino que además, CONSTRUIRÁS UN ROUTER TÚ MISMO.
Mini nota: deberías checar este otro post donde explico el concepto de router. Aquí nos centraremos en aplicar lo aprendido.
PREPARATIVOS 📝
Antes de nada, te pregunto: ¿tienes 8 computadoras y cables ethernet en tu casa? Algo me dice que no, ¿entonces qué hacemos?
Simple: máquinas virtuales. Si no conoces que son… google.com.
Yo usaré Virtualbox, confío en que no tengo que explicarte cómo instalar un programa 😉.
Por otra parte, esto no será una travesía corta, así que hazte algo para tomar ☕.
¡¡READY SET GO!! 🏃
Voy a emular la red vista en el curso, pero te invito a ir más allá y emular tu propia red. Mueve el coco.
Esta es la red que vemos en el curso. Dos redes internas (192.168.10.0/24 y 192.168.20.0/24) y una red de routers que las enlaza (192.168.100.0/24). Esto es lo que yo replicaré (tú hazlo como gustes).
En primer lugar queremos crear las máquinas virtuales representando a A, B, C, X e Y. Si instalamos justamente esos sistemas operativos, debería quedar algo así:
Antes de saltar a configurar cosas, veo importante explicar qué es una INTERFAZ DE RED.
Una interfaz de red es una pieza física- no es software - que te permite conectarte a una red.
Bla bla bla no entiendo nada, dame un ejemplo 😡. - Lector enfadado, probablemente
Te doy un ejemplo: ¿ves tu ordenador/smartphone? Veo dos posibles opciones: que estés conectado por WiFi o que uses un cable Ethernet.
En ambos casos, tu dispositivo necesitará una pieza para interpretar esa señal, y esa es la interfazde red. Aquí tienes una que va por WiFi:
Como ves, por defecto solo hay una activada y pone que está en NAT. ¿Qué significa esto?
Pues bien, las máquinas virtuales pueden comportarse de varias maneras:
(Mucha gente durante el curso tuvo problemas con esto, ya que por ejemplo, si querías descargar algo en Kali tendrías que cambiar de Internal a NAT, pero si querías hacer algo a Metasploitable tenías que volver a cambiar de NAT a Internal. Esto se puede evitar sencillamente añadiendo 2 interfaces de red, una en NAT y otra en Internal 😉)
Si usamos Internal Network, nuestro adaptador nos pide darle un nombre a la red. Si miramos la primera imagen, nos damos cuenta de que es necesario para poder distinguir entre la red morada, la verde y la naranja.
Yo - basándome en los nombres usados en el curso - llamaré internal-10
a la red morada, internal-100
a la red verde e internal-20
a la red naranja.
¡¡AHORA LA CONFIGURACIÓN REALIZADA EN EL CURSO DEBERÍA TENER SENTIDO!!
¿Te das cuenta? La máquina Kali está en la red morada (internal-10
), mientras que la de Windows 10 está en la red naranja (internal-20
) junto con Metasploitable.
Y ojo, que los routers son lo más importante. El router X está en la morada (internal-10
) y el router Y está en la naranja (internal-20
), PERO ADEMÁS ESTÁN CONECTADOS ENTRE ELLOS. Esto es otra red más, la verde (internal-100
) a la que solo ellos dos pertenecen.
(Nótese que para que los routers se puedan conectar a dos redes a la vez es necesario configurarles dos interfaces de red. Esto no es una locura, por ejemplo, un portátil suele tener una interfaz de red para el WiFi y otra para el Ethernet)
Me interesa que experimentes con esto y que te equivoques. ¿Porque soy malo? No, sino porque quiero que aprendas y entiendas.
¿Descansado? Bien.
LAS IPs ESTÁTICAS
Cuando una computadora se enciende, recibe una IP automáticamente a través del protocolo DHCP. Esto puede ser un caos, ¡imagina tener que conectarte a mano a tu router porque su IP cambia 😩!
Para que esto no sea así, podemos configurar IPs estáticas (que no cambian). ¿Cómo? Sígueme…
Métete en una máquina cualquiera de las que hayas creado. Ahora haz ip address
.
Esto te muestra una lista de tus interfaces de red (te las señalo con flechitas) y sus IPs correspondientes (sip, por cada interfaz tienes una IP).
¿Cómo configuramos esto? Fácil: editando el archivo /etc/network/interfaces
.
Por defecto se ve como esto. Si te fijas, enp0s3 es la interfaz de red que antes señalé con la flechita rosa.
La línea iface enp0s3 inet dhcp
nos permite configurar esta interfaz. Concretamente le estamose specificando que se conecte a la red con DHCP(el protocolo que te dije antes!!).
Pero lo que queremos son IPs estáticas, así que…
lo podemos configurar tan ricamente. Al ser IP estática, tenemos que especificarla en donde pone address
.
Por cierto, ¿notas algo raro en las IPs que estoy dando? Yo sí: Coinciden con las redes que veíamos al principio.
Si te fijas, enp0s3 es lo que nos conecta con 192.168.10.x, es como el “cable morado” de la imagen. Mientras que el otro, enp0s8 nos conecta con los otros routers, es decir, la red verde (alias 192.168.100.x
, alias internal-100
).
Podría ir máquina por máquina mostrándote este archivo, pero ¿sabes qué? Quiero que lo hagas tú. No confíes en que lo entiendes, demuéstramelo.****Frustrate, equivocate, y exprime tus sesos hasta conseguir esta preciada red.
REDIRECCIONAMIENTO DE PAQUETES
Hasta ahora solo tenemos una red interconectada, sin embargo, los routers no funcionan como routers. De momento X
e Y
son solo unos computadores más, pero no podemos usarlos como puentes para ir de red en red. ¿Cómo haremos esto?
Configurando las Tablas de Enrutamiento.
Si haces ip route show
te da las tablas de enrutamiento que tiene por defecto. Como verás, únicamente puede ver los dispositivos a los que está conectado directamente, que son el switch y el otro router.
(Como puedes ver, el router X no tiene una ruta a cada uno de los dispositivos que están bajo la red 192.168.10.x, sino que tiene solo la dirección al switch, y éste ya se encarga de comunicarlos a todos. Queremos precisamente usar al router Y como “switch”)
Ahora, podemos agregar información a estas tablas. Observa: ip route add 192.168.20.0/24 via 192.168.100.2 dev enp0s8
.
Esto es como decirle al router
“Eu, cada vez que te llegue un paquete que quiera llegar a cualquier dirección de la red
192.168.20.0/24
, tú reenvía el paquete al routerY
con dirección192.168.100.2
a través del dispositivoenp0s8
. Tú no te preocupes, que el routerY
ya se encargará de él. Chau”
La traducción más literal sería
"Añadir (
add
) que se llegue a la ruta (route
)192.168.20.0/24
a través (via
) de la máquina localizada en192.168.100.2
.
¡¡DESCANSEN!! 🛌
Como notarás, te he dejado un montón de huecos sin explicar. Llegados a este punto, es porque conoces mi filosofía: quiero que APRENDAS.
Por ello, te invito a aplicar todo lo aprendido y cambiar los parámetros hasta conseguir una red funcional. Incluso si no lo consigues, si he logrado que entiendas mejor qué es un router, estaré satisfecho y orgulloso de ti.
Si has llegado hasta aquí, déjame saber qué tal lo he hecho como mini-tutor.
¡FIN!
Es super interesante y sin duda lo intentare (espero lograrlo xD)
Me surgió una duda…en qué casos podría usar esto, aparte de que podría aprender mucho sobre routers?
En mi caso esto me ha servido en el uso con equipos IOT que tienen módem incorporado y la posibilidad de usar OpenVPN. También hay veces que debes realizar estas tablas de enrutamiento para configurar redes complejas y los DHCP no reconocen bien tu configuración para conectar redes aisladas internamente.
No he trabajado en la industria, así que no te hablo por experiencia, pero se me ocurre que, si tienes una gran empresa, podrías aprovechar esto para configurar redes aisladas unas de otras.
Así, si un hacker malicioso logra entrar en una de tus máquinas, al menos no podrá infectar toda la red. Por supuesto esto tendría que mezclarse con permisos y configuraciones más complejas.
Solo es una suposición, sin embargo 😛.
Estaba algo mas entusiasmado de la información obtenida de este mini tutorial, se agradece el aporte de todas formas, pero te recomendaría reformarlo y hacer mini tutos igual de cortos pero que aborden mejor los temas y le cambiaría el nombre a la entrada manejo de routelist. Para el que este más interesado en como crear redes virtuales y simular equipos de red recomiendo adentrarse un poco en GNS3 y si quieren instalar un sistema completo gestor de redes al nivel de Cisco o Comptia, están las imágenes de RouterOS de Mikrotik mi marca de hardware de redes favorita.
Hola, Erik te invito a conocer más acerca de los tipos de dispositivos de red