Configuración de Clúster HA con dos PC-Routers con VyOS

Actualmente hay una gran furia con pfSense. Veo que cada día que pasa son más las personas que apuestan por esta solución de Appliance de Networking. OJO, no estoy en contra de pfSense, por el contrario, pienso que para una infraestructura de firewalling es el ideal, pero para mi, que vengo lidiando con Vyatta/VyOS desde hace un buen tiempo, considero que es el adecuando para una infraestructura de routing central.

En este post (y en otros que escribiré más adelante) expondré algunos ejemplos de configuración de PC-routers con VyOS. Comenzaré con la configuración de un clúster HA con dos PC-Routers.

PC-Router 1:

set interfaces ethernet eth0 address 10.0.2.20/26

set interfaces ethernet eth0 vrrp vrrp-group 100

set interfaces ethernet eth0 vrrp vrrp-group 100 description “Configuración VRRP de ejemplo del PC-Router 1”

set interfaces ethernet eth0 vrrp vrrp-group 100 virtual-address 10.0.2.18/26

set interfaces ethernet eth0 vrrp vrrp-group 100 priority 250

set interfaces ethernet eth0 vrrp vrrp-group 100 preempt true

set interfaces ethernet eth0 vrrp vrrp-group 100 authentication type ah

set interfaces ethernet eth0 vrrp vrrp-group 100 authentication password <Contraseña>

 

set firewall all-ping enable

set firewall broadcast-ping disable

set firewall receive-redirects disable

set firewall send-redirects enable

set firewall source-validation disable

set firewall syn-cookies enable

 

set service ssh port 40497

 

set system gateway-address 10.0.2.1

set system name-server 10.0.2.47

set system host-name pc-router-1.lab.codesa.co.cu

PC-Router 2:

set interfaces ethernet eth0 address 10.0.2.21/26

set interfaces ethernet eth0 vrrp vrrp-group 100

set interfaces ethernet eth0 vrrp vrrp-group 100 description “Configuracion VRRP de ejemplo del PC-Router 2”

set interfaces ethernet eth0 vrrp vrrp-group 100 virtual-address 10.0.2.18/26

set interfaces ethernet eth0 vrrp vrrp-group 100 priority 200

set interfaces ethernet eth0 vrrp vrrp-group 100 preempt true

set interfaces ethernet eth0 vrrp vrrp-group 100 authentication type ah

set interfaces ethernet eth0 vrrp vrrp-group 100 authentication type plaintext-password

set interfaces ethernet eth0 vrrp vrrp-group 100 authentication password <Contraseña>

 

set firewall all-ping enable

set firewall broadcast-ping disable

set firewall receive-redirects disable

set firewall send-redirects enable

set firewall source-validation disable

set firewall syn-cookies enable

 

set service ssh port 40497

 

set system gateway-address 10.0.2.1

set system name-server 10.0.2.47

set system host-name pc-router-2.lab.codesa.co.cu

 

Cuando se apaga el PC-router que funge como Master, solamente se pierden muy pocos paquetes en el proceso de elevación del PC-router de respaldo al rol de Master. Una vez que se restablece el PC-router caído (el Master establecido por configuración) el PC-Router sobreviviente le devuelve su rol y pasa a ser nuevamente de respaldo.

Si se desea tener un servicio DHCP en la red con los dos PC-Routers, solamente hay que configurarlo añadiendo la capacidad de tolerancia a fallos (failover) en cada uno de los PC-routers que confirman el grupo VRRP, usando siempre como dirección IP por defecto (default-router) la dirección IP virtual de la interfaz VRRP (en nuestro ejemplo, la 10.0.2.18/26), como dirección IP local (local-address) la de la interfaz ethernet física, y como dirección IP del PC-router de respaldo (peer-address) la del otro PC-Router. Ah, también hay que añadirle un nombre (name) al failover configurado, sino dará un error.

Por ejemplo:

PC-Router 1:

set service dhcp-server shared-network-name POOL_EJEMPLO

set service dhcp-server shared-network-name POOL_EJEMPLO authoritative enable

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 default-router 10.0.2.18

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 dns-server 10.0.2.47

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 failover local-address 10.0.2.20

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 failover peer-address 10.0.2.21

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 failover name FO_1

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 failover status primary

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 lease 86400

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 start 10.0.2.30

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 start 10.0.2.30 stop 10.0.2.50

 

dhcp-server {

shared-network-name POOL_EJEMPLO {

authoritative enable

subnet 10.0.2.0/26 {

default-router 10.0.2.18

dns-server 192.168.250.83

failover {

local-address 10.0.2.20

name FO_1

peer-address 10.0.2.21

status primary

}

lease 86400

start 10.0.2.30 {

stop 10.0.2.50

}

}

}

}

PC-Router 2:

set service dhcp-server shared-network-name POOL_EJEMPLO

set service dhcp-server shared-network-name POOL_EJEMPLO authoritative enable

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 default-router 10.0.2.18

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 dns-server 10.0.2.47

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 failover local-address 10.0.2.21

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 failover peer-address 10.0.2.20

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 failover name FO_1

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 failover status primary

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 lease 86400

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 start 10.0.2.30

set service dhcp-server shared-network-name POOL_EJEMPLO subnet 10.0.2.0/26 start 10.0.2.30 stop 10.0.2.50

 

dhcp-server {

shared-network-name POOL_EJEMPLO {

authoritative enable

subnet 10.0.2.0/26 {

default-router 10.0.2.18

dns-server 192.168.250.83

failover {

local-address 10.0.2.21

name FO_1

peer-address 10.0.2.20

status primary

}

lease 86400

start 10.0.2.30 {

stop 10.0.2.50

}

}

}

}

🙂

 

Acerca de Hector Suarez Planas

Es Licenciado en Ciencia de la Computación (3 de julio de 2002). Ha sido Administrador de Red en varias organizaciones, Programador y Analista de Sistemas. Actualmente se desempeña como Administrador de Red del Telecentro Tele Turquino de Santiago de Cuba. Tiene experiencia con sistemas Windows y GNU/Linux, Infraestructura de Redes (Cisco, AlliedTelesis, Netgear y HP ProCurve, Vyatta/VyOS), Servidores tanto físicos como virtuales (plataformas VMWare, Proxmox VE y Xen), Sistemas de Seguridad Informática (Snort/Suricata IDS, appliances AlienVault OSSIM), programador (Delphi, C++ Builder, Perl [poco], Python [algo]), entre otras cosas. Actualmente estoy incursionando en todo lo que tiene relación con Cloud Computing (OpenStack) y Centros de Datos. :-)
Esta entrada fue publicada en Routing, Vyatta/VyOS/EdgeOS. Guarda el enlace permanente.

2 respuestas a Configuración de Clúster HA con dos PC-Routers con VyOS

  1. Jose dijo:

    Buen Material amigo. Alguna vez has configuraron un Cluster entre un Router Cisco y un PC Router VyOS?

    • Hector Suarez Planas dijo:

      Saludos, José.

      Gracias por su comentario.

      Bueno, nunca lo he hecho, no obstante, tengo una docu guardada desde marzo de 2011 donde dan un ejemplo:

      En esencia, la cosa es que la IP virtual es la 172.16.10.1, la del Cisco es la 172.16.10.2 y la del Vyatta es la 172.16.10.3.

      La parte que interesa del manualito es esta:

      3. CONFIGURATIONS

      CISCO ROUTER 2651 IOS: 12.4(16)
      See the entire configuration

      interface FastEthernet0/0
      ip address 172.16.10.2 255.255.255.0

      vrrp 100 ip 172.16.10.1
      vrrp 100 priority 80
      vrrp 100 preempt
      vrrp 100 authentification 123

      hostname Cisco-router
      line vty 0 4
      no login
      enable secret password

      VYATTA ROUTER VC2.2
      See the entire configuration

      edit interfaces ethernet eth1
      set address 172.16.10.3 prefix-length 24
      set vrrp vrrp-group 100
      set vrrp virtual-address 172.16.10.1
      set vrrp priority 100
      set vrrp preempt true
      set vrrp authentification 123

      set system host-name Vyatta-Router
      set service telnet

      edit system login user vyatta
      set authentification plaintext-password password

      4. SHOW COMMANDS

      Vyatta_Router>show vrrp
      Physical interface: eth0, Address: 172.16.10.1
      Interface state: up, Group: 100, State: master
      Priority: 100, Advertisement interval: 1s, Authentication type: simple
      Preempt: yes, VIP count: 1, VIP: 172.16.10.1
      Advertisement timer: 763s, Master router: 172.26.10.2
      Virtual MAC: 00:00:5E:00:01:64

      Cisco-Router#show vrrp brief
      vyatta output show vrrp brief

      Cisco-Router#show vrrp all
      FastEthernet0/0 – Group 100
      State is Backup
      Virtual IP address is 172.26.10.1
      Virtual MAC address is 0000.5e00.0164
      Advertisement interval is 1.000 sec
      Preemption enabled
      Priority is 80
      Authentication text “123″
      Master Router is 172.26.10.2, priority is 100
      Master Advertisement interval is 1.000 sec
      Master Down interval is 3.687 sec

      Claro está que en VyOS hay algunos cambios.

      Espero le sirva. 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *