Mostrando entradas con la etiqueta routing. Mostrar todas las entradas
Mostrando entradas con la etiqueta routing. Mostrar todas las entradas

20110531

DHCPD: Ruteo estático sin clase II. DHCPD: Classless Static Routing II

Hace ya unos días, en una de las entradas comentaba cómo añadir ruteo estático sin clase desde un servidor DHCP GNU/Linux.
Ahora le toca el turno de hacer lo mismo (o parecido) con un Microsoft Windows Server 2003.
Aquí la cosa es bastante sencilla también y basta con seguir los siguientes pasos:
  1. Pulsar en Inicio, Ejecutar, escribe dhcpmgmt.msc y pulsa Intro.
  2. En consola de administración del servidor DHCP pulsamos en Opciones de servidor.
  3. En el panel de la derecha pulsamos con el botón derecho y seleccionamos Configurar opciones.
  4. Marcamos la opción 249 Rutas estáticas sin clase.
  5. Pulsamos en Agregar ruta.
  6. Agregamos el Destino, la Máscara de red y el Enrutador y aceptamos la configuración.
Con esto ya tendríamos nuestra ruta agregada. Ahora sólo faltaría comprobar que tanto los equipos Microsoft Windows como los GNU/Linux obtienen correctamente estas rutas.
Si alguno de vosotros comprueba el correcto funcionamiento con clientes GNU/Linux agradecería que lo comentase aquí ya que mi servidor DHCP es GNU/Linux.
    Now its time to do the same (or not) with Microsoft Windows Server 2003, just following the same steps:
    1. Click Start, click Run, type dhcpmgmt.msc and press Enter.
    2. On the DHCP server admin console click on Server options.
    3. Right click on the right panel and click on Configure options.
    4. Click on the 249 Classless static routes option.
    5. Click Add route.
    6. Fill in the Destination, Network address and Router fields and accept the configuration.
    Thats all you need to configure classless static routes on a Microsoft Windows server.
    I didn't check if the GNU/Linux clients get this static routes from a Microsoft Windows server because I have a GNU/Linux DHCP server.

    PS. I know, I know. My English is not good enought but, the more you help me, the more I learn.

    20110507

    DHCPD: Ruteo estático sin clase. DHCPD: Classless Static Routing

    Como todo sysadmin que se precie persigo la máxima de trabajar lo menos posible. Esto no es que me pase todo el día con la mano en el suspensorio, sino que intento simplificar/automatizar el funcionamiento de los sistemas y la red tanto como puedo. El DHCP es uno de esos servicios que te facilitan esta tarea y no se me ocurre ningún motivo para no utilizarlo.

    La cosa es que como en cualquier red con un tamaño relativamente grande, los clientes DHCP necesitan acceder a múltiples destinos de red que no pueden ser alcanzados desde la puerta de enlace o gateway por defecto, por lo que aquí es donde empieza el post de hoy.
    Añadir la puerta de enlace y alguna regla de ruteo a la configuración DHCP es algo sencillo y muy documentado. El problema se presenta cuando necesitas utilizar enrutamiento estático sin clase. 
    Supongamos que la default gateway es la dirección 192.168.1.1 y que tenemos otra gateway para llegar a otros servicios, la 192.168.1.2. Ahora supongamos que queremos que llegar a la dirección 192.168.50.25 desde esta segunda gateway y configurar eso en nuestro servidor DHCP. Eso sería tan fácil como añadir las líneas:
    option static-routes 192.168.50.25 192.168.1.2;
    option routers 192.168.1.1;

    dentro de la sección que nos interese.
    El problema se presenta si lo que buscamos es llegar por ejemplo a la red 192.168.20.0/24 a través de una gateway que no sea la default. No podemos añadir una línea option static-routes como la anterior por cada una de las direcciones de la red de dicha red ya que el mantenimiento sería un coñazo y entraría en conflicto con la máxima ya mencionada.
    La solución a esto es añadir la siguiente configuración en nuestro archivo /etc/dhcpd.conf:
    ## Classless Static Routing definitions
       # Para los SO que cumplen la RFC3442
        option rfc_routes code 121 = array of integer 8;
        # Para los SO que NO cumplen la RFC3442 (M$)
        option no_rfc_routes code 249 = array of integer 8;

    ## Classless Static Routing
     # Para los SO que cumplen la RFC3442
     option rfc_routes 32,     0,  0,  0,  0,     192,168,  1,  1,
                       32,   192,168, 50, 25,     192,168,  1,  2,
                       24,   192,168, 20,         192,168,  1,  2;
     # Para los SO que NO cumplen la RFC3442 (M$)
     option no_rfc_routes 32,     0,  0,  0,  0,     192,168,  1,  1,
                          32,   192,168, 50, 25,     192,168,  1,  2,
                          24,   192,168, 20,         192,168,  1,  2;

    Bastaría con reiniciar el servicio DHCPd y recargar la configuración de red de nuestra máquina obteniendo el resultado esperado.

    IMHO every sysadmin should try to work as less as possible. It doesn't mean wasting your time doing nothing but trying to save time everytime you can. To achieve this objetive is usually a good practice to use automated tasks and proccess, and this is the main reason I use DHCP.
    To configure this service is quite simple, but sometimes you'll bump into more complex networks as in my case.
    With DHCP you'll be able to configure your clients' default gateway and some basic routing rules like in the following case. Suppose you have two gateways, one as the default and other as a gateway to other host.
    local network: 192.168.1.0/24
    default gateway: 192.168.1.1
    secondary gateway: 192.168.1.2
    remove host: 192.168.50.25

    So your DHCP configuration in your /etc/dhcpd.conf file will include the following lines:
    option static-routes 192.168.50.25 192.168.1.2;
    option routers 192.168.1.1;

    into the section you need.
    But if your needs are more complex the DHCP config is too. Suppose now you have the same network but also you have to configure your DHCP clients to route the packets to the 192.168.20.0/24 network via the 192.168.1.2 gateway.
    local network: 192.168.1.0/24
    default gateway: 192.168.1.1
    secondary gateway: 192.168.1.2
    remove host: 192.168.50.25
    remote network: 192.168.20.0/24

    So your DHCP configuration in your /etc/dhcpd.conf file will include the following lines:
    ## Classless Static Routing definitions
       # Para los SO que cumplen la RFC3442
        option rfc_routes code 121 = array of integer 8;
        # Para los SO que NO cumplen la RFC3442 (M$)
        option no_rfc_routes code 249 = array of integer 8;

    ## Classless Static Routing
     # Para los SO que cumplen la RFC3442
     option rfc_routes 32,     0,  0,  0,  0,     192,168,  1,  1,
                       32,   192,168, 50, 25,     192,168,  1,  2,
                       24,   192,168, 20,         192,168,  1,  2;
     # Para los SO que NO cumplen la RFC3442 (M$)
     option no_rfc_routes 32,     0,  0,  0,  0,     192,168,  1,  1,
                          32,   192,168, 50, 25,     192,168,  1,  2,
                          24,   192,168, 20,         192,168,  1,  2;

    Now you only have to restart your DHCP server and reload your DHCP clients network configuration to get the expected result.
    Enjoy it!
    PS. I know, I know. My English is not good enought but, the more you help me, the more I learn.