Crear redes dentro de una VPC en Digital Ocean

By rogerarjona Sept. 24, 2022, 5:09 p.m. DigitalOcean Redes VPC Segmento

En este manual crearemos redes dentro de una VPC, utilizando el siguiente diagrama.

image

Basandonos de nuestra VPC 10.124.0.0/20, crearemos dentro de esta 2 redes LAN.

La primera es 192.168.0.0/24

En ella esta: ubuntu-vpc1, ubuntu-vpc2 y ubuntu-vpc3. En esta red, configuraremos a ubuntu-vpc1 para reenvio de IP, es decir funcionará como puerta de enlace. Será el encargado de enrutar las peticiones

La segunda red será 192.168.1.0/24 En ella estará ubuntu-vpc2, ubuntu-vpc3 y una vpn-server (mikrotik) En esta red, vpn-server(mk) será el gateway, será el encargado de enrutar las peticiones

Configuracion de Servidor 1 (Ubuntu-VPC1)

1.- Agregar IPs y rutas

Agregaremos la ip de nuestra LAN a usar, para este ejemplo, Ubuntu-VPC1 tendrá la IP: 192.168.0.2 y además agregaremos rutas que apunten a los demas servers.

Datos a agregar:

IP: 192.168.0.2

Rutas: 192.168.0.3 via 10.124.0.3 192.168.0.4 via 10.124.0.4

Para hacerlo editamos el archivo /etc/netplan/50-cloud-init.yaml

sudo nano /etc/netplan/50-cloud-init.yaml

Buscaremos la interfaz donde esta la ip de VPC, en este caso esta en el eth1 y ahi agregaremos la ip y las rutas, con la siguiente sixtaxis, debemos tener algo como esto:

eth1:
        addresses:
        - 10.124.0.2/20
        - 192.168.0.2/24
        match:
                macaddress: 3e:f0:c5:9e:a7:19
        mtu: 1500
        nameservers:
                addresses:
                - 67.207.67.3
                - 67.207.67.2
                search: []
        routes:
        -   to: 192.168.0.3
                via: 10.124.0.3
        -   to: 192.168.0.4
                via: 10.124.0.4
        set-name: eth1

Revisamos si no tenemos ningun error con el siguiente comando:

sudo netplan apply --debug

Si no imprime nada en consola, no tenemos ningun error y procedemos a aplicar los cambios con:

sudo netplan apply

2. Activar IP Forwarding

Para que podeamos usar este server como puerta de enlace, es necesario activar el reenvio de IPS. Podemos hacerlo con el siguiente comando:

sysctl -w net.ipv4.ip_forward=1

La reiniciar el server, esta configuración se perderá, para hacerlo persistente editamos /etc/sysctl.conf

sudo nano /etc/sysctl.conf

Y agregamos la siguiente linea al final del archivo

net.ipv4.ip_forward=1

Configuracion de Servidor 2 y 3 (Ubuntu-VPC2 y Ubuntu-VPC3)

1.- Agregar IPs y rutas

Agregaremos la ip de nuestra LAN a usar, para este ejemplo, Ubuntu-VPC2 tendrá las IP: (192.168.0.3, 192.168.1.3) y Ubuntu-VPC3 las IP: (192.168.0.4, 192.168.1.4) y además agregaremos rutas que apunten al gateway(Ubuntu-VPC1)

Datos a agregar:

Ubuntu-VPC2 IP: 192.168.0.3 192.168.1.3

Rutas: 192.168.0.0/24 via 10.124.0.2 192.168.1.0/24 via 10.124.0.5

Ubuntu-VPC3 IP: 192.168.0.4 192.168.1.4

Rutas: 192.168.0.0/24 via 10.124.0.2 192.168.1.0/24 via 10.124.0.5

Para hacerlo editamos el archivo /etc/netplan/50-cloud-init.yaml

sudo nano /etc/netplan/50-cloud-init.yaml

Buscaremos la interfaz donde esta la ip de VPC, en este caso esta en el eth1 y ahi agregaremos la ip y las rutas, con la siguiente sixtaxis, debemos tener algo como esto:

eth1:
        addresses:
        - 10.124.0.3/20
        - 192.168.0.3/24
        - 192.168.1.3/24
        match:
                macaddress: 3e:f0:c5:9e:a7:19
        mtu: 1500
        nameservers:
                addresses:
                - 67.207.67.3
                - 67.207.67.2
                search: []
        routes:
        -   to: 192.168.0.0/24
                via: 10.124.0.2
        -   to: 192.168.1.0/24
                via: 10.124.0.5
        set-name: eth1

Revisamos si no tenemos ningun error con el siguiente comando:

sudo netplan apply --debug

Si no imprime nada en consola, no tenemos ningun error y procedemos a aplicar los cambios con:

sudo netplan apply

2.- Quitar rutas default de las ips que agregamos

Al agregar las IP: 192.168.0.3, 192.168.1.3, 192.168.0.4 ó 192.168.1.4 se agregan las rutas::

192.168.0.0     0.0.0.0     eth1
192.168.1.0     0.0.0.0     eth1

Es necesario quitar estas ruta para que no interfiera con las rutas que creamos, Lo quitamos con este comando:

route del -net 192.168.0.0 netmask 255.255.255.0 gw 0.0.0.0
route del -net 192.168.1.0 netmask 255.255.255.0 gw 0.0.0.0

Sin embargo al reiniciar el server, estas rutas se volerán a agregar, para solucionarlo, haremos uso de rc.local. Editaremos el siguiente archivo /etc/rc.local

sudo nano /etc/rc.local

Agrega lo siguiente:

1
2
3
#!/bin/sh
/sbin/ip route del 192.168.0.0/24 via 0.0.0.0
/sbin/ip route del 192.168.1.0/24 via 0.0.0.0

Convertimos /etc/rc.local en un archivo ejecutable

sudo chmod +x /etc/rc.local

Habilitamos el servicio:

sudo systemctl enable rc-local.service

Revisamos si no hay ningun error:

sudo systemctl status rc-local.service

A partir de ahora podemos hacer ping a cualquier equipo desde la red 192.168.0.0 en los primeros 3 servers.

Configuracion de Servidor 4 (VPN-Server Mikrotik)

1.- Agregar IPS

Este es un droplet de Digital Ocean tambien, con ubuntu 18.04, se instala una imagen de RouterOS.

Una vez instalado iniciamos sesion con winbox o por navegador web. Nos vamos a

IP > Addresses

Ahi agregamos la ip de la VPC(10.124.0.5) y la IP de la LAN(192.168.1.5), a la ether2, de tal manera que nos quede esto:

  • Address 10.124.0.5/20, Network: 10.124.0.0, Interface: ether2
  • Address 192.168.1.5/24, Network: 192.168.1.0, Interface: ether2

image

2.- Agregar Rutas

A continuacion agregaremos rutas en:

IP > Addresses

Agregamos las rutas hacia nuestros servers:

Rutas: - Dst Address: 192.168.1.3 Gateway: 10.124.0.3 - Dst Address: 192.168.1.4 Gateway: 10.124.0.4

image

Listo, podemos hacer ping entre miendras de la red 192.168.1.0/24!!