Warning: This information may be outdated. Please note the date of the post.

Modificación del escenario

Este post está directamente relacionado al escenario planteado sobre openstack puedes ver el orden de las entradas en el siguiente enlace: Escenario planteado sobre openstack

Objetivo:

Vamos a modificar el escenario que tenemos actualmente en OpenStack para que se adecúe a la realización de todas las prácticas en todos los módulos de 2º, en particular para que tenga una estructura más real a la de varios equipos detrás de un cortafuegos, separando los servidores en dos redes: red interna y DMZ. Para ello vamos a reutilizar todo lo hecho hasta ahora y añadiremos una máquina más: Freston

escenario_mod.png

Creación de la red DMZ:

  • Nombre: DMZ de
  • 10.0.2.0/24

Conceptos:

Vamos a crear una Zona desmilitarizada, o como hemos nombrado, DMZ, que se trata de una red local que se ubica entre la red interna de una organización y una red externa (Internet). Este tipo de red se suele utilizar para proteger la red interna de la organización, de forma que desde la red DMZ se da servicios a la red externa y los intrusos que entre por la red DMZ no tengan acceso a la interna.

  • Creamos la red local DMZ

create_network.png

Creación de las instancias:

Vamos a crear una nueva instancia con las siguientes características, llamada Frestón:

  • Debian Buster sobre volumen de 10GB con sabor m1.mini
  • Conectada a la red interna
  • Accesible indirectamente a través de dulcinea
  • IP estática

Configuración de Freston

  • Vamos a configurar la interfaz como estática, y además indicaremos la puerta de enlace que será nuestro router (Dulcinea)
nano /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The normal eth0
allow-hotplug eth0
iface eth0 inet static
        address 10.0.1.2
        netmask 255.255.255.0
        gateway 10.0.1.6


# Set this one last, so that cloud-init or user can
# override defaults.
source /etc/network/interfaces.d/*
  • Comprobamos que ha adoptado el direccionamiento correcto
debian@freston:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:54:0f:6f brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.2/24 brd 10.0.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe54:f6f/64 scope link 
       valid_lft forever preferred_lft forever
  • Comprobamos que la puerta de enlace es la correcta
debian@freston:~$ ip r
default via 10.0.1.6 dev eth0 onlink 
10.0.1.0/24 dev eth0 proto kernel scope link src 10.0.1.2 
  • Ahora vamos a comprobar que tenemos acceso al exterior a través de Dulcinea, ya que Dulcinea ya estaba configurada anteriormente como router para este direccionamiento.
debian@freston:~$ ping 172.22.0.1
PING 172.22.0.1 (172.22.0.1) 56(84) bytes of data.
64 bytes from 172.22.0.1: icmp_seq=1 ttl=62 time=1.50 ms
64 bytes from 172.22.0.1: icmp_seq=2 ttl=62 time=1.73 ms
64 bytes from 172.22.0.1: icmp_seq=3 ttl=62 time=1.75 ms
^C
--- 172.22.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 1.500/1.659/1.746/0.112 ms

debian@freston:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=111 time=42.9 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=111 time=42.8 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=111 time=45.10 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 42.821/43.898/45.999/1.504 ms
  • Nos aseguramos de tener resolución de nombres apuntando al dns
nano /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.202.2
debian@freston:~$ ping www.google.es
PING www.google.es (216.58.211.227) 56(84) bytes of data.
64 bytes from mad01s24-in-f3.1e100.net (216.58.211.227): icmp_seq=1 ttl=112 time=44.7 ms
64 bytes from mad01s24-in-f3.1e100.net (216.58.211.227): icmp_seq=2 ttl=112 time=45.0 ms
64 bytes from mad01s24-in-f3.1e100.net (216.58.211.227): icmp_seq=3 ttl=112 time=44.9 ms
^C
--- www.google.es ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 44.702/44.867/45.008/0.275 ms

Una vez tenemos internet actualizamos la máquina

sudo apt-get update
sudo apt-get upgrade

Adecuamos la hora

timedatectl set-timezone Europe/Madrid

Crear usuario profesor

adduser profesor
adduser profesor sudo

Ademas editamos el fichero /etc/sudoers para darle permisos al usuario profesor de superusuario, y creamos el fichero /home/profesor/.ssh/authorized_keys para que se pueda acceder por ssh al usuario profesor.

Modificación de la ubicación de quijote

Pasa de la red interna a la DMZ y su direccionamiento tiene que modificarse apropiadamente

Configuración nueva de Dulcinea

Primero hemos de modificar Dulcinea ya que ha adquirido una nueva interfaz conectada a la red DMZ que es donde está conectado Quijote actualmente

Modificamos el fichero interfaces de forma que le añadimos el direccionamiento estático a la nueva interfaz y agregamos una nueva regla de iptables adecuado al direccionamiento de la nueva red DMZ

Fichero interfaces


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The normal eth0 (red externa)
auto eth0
iface eth0 inet dhcp
#       post-up ip route del default dev $IFACE || true

# Reglas de iptable
up iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o eth0 -j MASQUERADE
up iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -o eth0 -j MASQUERADE

# Additional interfaces, just in case we're using
# multiple networks

#Red interna
auto eth1
iface eth1 inet static
        address 10.0.1.6
        netmask 255.255.255.0

#Red DMZ

auto eth2
iface eth2 inet static
        address 10.0.2.10
        netmask 255.255.255.0



# Set this one last, so that cloud-init or user can
# override defaults.
source /etc/network/interfaces.d/*
  • Borramos las reglas de iptable actuales para reinicar el sistema
iptables -t nat -F
  • Reiniciamos el servicio del network manager
/etc/init.d/networking restart

Configuración nueva de Quijote

Hemos pasado a quijote a la red DMZ por lo que se modifica su direccionamiento, indicando la dirección estática y la puerta de enlace a la nueva interfaz de dulcinea.


# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO="static"
IPADDR="10.0.2.4"
GATEWAY="10.0.2.10"
NETMASK="255.255.255.0"
DEVICE=eth0
HWADDR=fa:16:3e:f7:be:35
ONBOOT=yes
STARTMODE=auto
TYPE=Ethernet
USERCTL=no

Vemos que se ha configurado correctamente

[centos@quijote ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8950 qdisc fq_codel state UP group default qlen 1000
    link/ether fa:16:3e:62:cf:92 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.4/24 brd 10.0.2.255 scope global dynamic noprefixroute eth0
       valid_lft 67977sec preferred_lft 67977sec
    inet6 fe80::3823:d813:2b45:4776/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

[centos@quijote ~]$ ip r
default via 10.0.2.10 dev eth0 
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.4 metric 100 
169.254.169.254 via 10.0.2.2 dev eth0 proto dhcp metric 100 
  • Comprobamos el acceso a la red indirectamente por dulcinea
[centos@quijote ~]$ ping 172.22.0.1
PING 172.22.0.1 (172.22.0.1) 56(84) bytes of data.
64 bytes from 172.22.0.1: icmp_seq=1 ttl=62 time=1.44 ms
64 bytes from 172.22.0.1: icmp_seq=2 ttl=62 time=1.82 ms
64 bytes from 172.22.0.1: icmp_seq=3 ttl=62 time=1.96 ms
^C
--- 172.22.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 6ms
rtt min/avg/max/mdev = 1.436/1.738/1.960/0.226 ms
[centos@quijote ~]$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=111 time=42.9 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=111 time=64.0 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=111 time=42.9 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2ms
rtt min/avg/max/mdev = 42.942/49.962/64.001/9.929 ms

Resolucion de nombres

[centos@quijote ~]$ ping www.youtube.com
PING youtube-ui.l.google.com (216.58.211.46) 56(84) bytes of data.
64 bytes from muc03s14-in-f46.1e100.net (216.58.211.46): icmp_seq=1 ttl=112 time=43.10 ms
64 bytes from muc03s14-in-f46.1e100.net (216.58.211.46): icmp_seq=2 ttl=112 time=44.9 ms
64 bytes from muc03s14-in-f46.1e100.net (216.58.211.46): icmp_seq=3 ttl=112 time=44.7 ms