Configuración de rutas estáticas en Vyatta
En este tutorial vamos a explicar como configurar las rutas estáticas en Vyatta. Como ya dijimos en el tutorial de configuración de las VPNs en Vyatta según la topología ejemplo, aun no tenemos conectividad total entre las dos redes internas de las dos sucursales de la empresa ejemplo y esto es debido a que ninguna de las dos máquinas Vyatta conoce las subredes que hay conectadas a la máquina del otro extremo.
Acabamos de hablar de rutas estáticas, pero también tenemos la versatilidad de los protocolos de routing dinámico, de cualquier forma podemos conseguir que cada una de las máquinas Vyatta conozca las subredes de la máquina del otro extremo y sepa como enrutar los paquetes destinados a ella correctamente, bien con routing estático o bien con routing dinámico (RIP, OSPF). En este caso son pocas rutas y la configuración es muy sencilla escogiendo cualquiera de las dos formas, pero para configuraciones en las que se interconectan numerosos routers entre si el usar una configuración basada en un protocolo de routing dinámico nos puede simplificar mucho las cosas.
Si vamos a la topología ejemplo veremos que según la configuración básica de sistema, teniendo también hecha la configuración de interfaces físicas, enlaces agregados y VLANs y las VPNs también configuradas en nuestras máquinas Vyatta de ejemplo openredesR1 y openredesR2 cualquier tráfico de red con destino a una red que no sea alguna de las subredes internas locales a la sede en concreto, será enviada a la puerta de enlace como ruta por defecto para redes no conocidas.
Podemos verlo en la tabla de rutas de openredesR1 con el comando del modo de operación (recordemos que cuando estamos en modo configuración o edición, con “run” podemos ejecutar comandos del modo operación):
openredes@openredesR1# run show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route
S>* 0.0.0.0/0 [1/0] via 10.0.0.20, eth2
C>* 127.0.0.0/8 is directly connected, lo
C>* 192.0.2.0/24 is directly connected, eth2
C>* 192.168.0.0/25 is directly connected, bond0.10
C>* 192.168.0.128/26 is directly connected, bond0.20
C>* 192.168.0.192/28 is directly connected, bond0.30
C>* 192.168.0.208/28 is directly connected, bond0.40
C>* 192.168.0.224/28 is directly connected, bond0.50
C>* 192.168.2.0/29 is directly connected, vtun0
C>* 192.168.2.8/29 is directly connected, vtun1
C>* 192.168.2.34/32 is directly connected, vtun10
[edit]
openredes@openredesR1#
Aquí podemos comprobar que cualquier paquete con destino a una red que no sea una de las conectadas a openredesR1 se enviará a la puerta de enlace configurada en el sistema (192.0.2.1). Por lo que si queremos hacer un ping a una máquina de la red privada de la otra sede conectada a openredesR2 será enviado erróneamente por la puerta de enlace del ISP (192.0.2.1) y nunca llegara a su destino.
Probamos a hacer ping a la IP 192.168.1.126, que es la IP de la interfaz bond0.60, desde openredesR1:
openredes@openredesR1# ping 192.168.1.126
PING 192.168.1.126 (192.168.1.126) 56(84) bytes of data.
^C
--- 192.168.1.126 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3028ms
Y no responde, y si intentamos trazar la ruta:
openredes@openredesR1# traceroute 192.168.1.126
traceroute to 192.168.1.126 (192.168.1.126), 30 hops max, 60 byte packets
1 192.0.2.1 (192.0.2.1) 7.067 ms 6.979 ms 6.968 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 *^C
[edit]
openredes@openredesR1#
Se nos va por los cerros de Úbeda… (por la puerta de enlace por defecto).
Claramente el problema es que openredesR1 no sabe que el tráfico destinado a la red 192.168.1.0/24 ha de enviarlo a openredesR2 y al contrario ocurre lo mismo.
Vamos entonces a solucionar este problema fácilmente:
Le diremos a openredesR1, mediante rutas estáticas, que todo el tráfico destinado a la red 192.168.1.0/24 lo envíe a openredesR2 por la VPN, la interfaz vtun10 de openredesR2 tiene IP 192.168.2.34:
openredes@openredesR1# set protocols static route 192.168.1.0/24 next-hop 192.168.2.34
[edit]
openredes@openredesR1# commit
[edit]
openredes@openredesR1# ping 192.168.1.126
PING 192.168.1.126 (192.168.1.126) 56(84) bytes of data.
64 bytes from 192.168.1.126: icmp_req=1 ttl=64 time=0.626 ms
64 bytes from 192.168.1.126: icmp_req=2 ttl=64 time=0.599 ms
^C
--- 192.168.1.126 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.599/0.612/0.626/0.028 ms
[edit]
openredes@openredesR1# ping 192.168.1.190
PING 192.168.1.190 (192.168.1.190) 56(84) bytes of data.
64 bytes from 192.168.1.190: icmp_req=1 ttl=64 time=0.807 ms
64 bytes from 192.168.1.190: icmp_req=2 ttl=64 time=0.725 ms
64 bytes from 192.168.1.190: icmp_req=3 ttl=64 time=0.684 ms
^C
--- 192.168.1.190 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.684/0.738/0.807/0.060 ms
[edit]
openredes@openredesR1# ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1.254: icmp_req=1 ttl=64 time=0.876 ms
64 bytes from 192.168.1.254: icmp_req=2 ttl=64 time=0.722 ms
64 bytes from 192.168.1.254: icmp_req=3 ttl=64 time=0.677 ms
^C
--- 192.168.1.254 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.677/0.758/0.876/0.088 ms
[edit]
openredes@openredesR1# save
Saving configuration to '/opt/vyatta/etc/config/config.boot'...
Done
[edit]
openredes@openredesR1#
Ahora podemos hacer ping a cualquiera de las interfaces internas de openredesR2 desde openredesR1 y a cualquier máquina que hubiese conectada en cualquiera de las VLANs de operedesR2.
Con lo que ya podemos acceder desde la red de la sede principal a la red de la sede secundaria por medio de una VPN segura creando nuestra propia Intranet.
Para terminar habría que decirle también a openredesR2 que todo el tráfico con destino a la red 192.168.0.0/24 ha de enrutarlo por la VPN hacia openredesR1. También tenemos que decirle a openredesR2 que existen más subredes en openredesR1, las creadas con la VPN de acceso remoto, así si alguien se conecta por la VPN de acceso remoto a openredesR1 y quiere llegar a alguna máquina que está en la otra sede, openredeR2 tiene que conocer también esas subredes para poder devolver los paquetes correctamente:
openredes@openredesR2# set protocols static route 192.168.0.0/24 next-hop 192.168.2.33
[edit]
openredes@openredesR2# set protocols static route 192.168.2.0/29 next-hop 192.168.2.33
[edit]
openredes@openredesR2# set protocols static route 192.168.2.8/29 next-hop 192.168.2.33
[edit]
openredes@openredesR2# commit
[edit]
openredes@openredesR2# ping 192.168.0.126
PING 192.168.0.126 (192.168.0.126) 56(84) bytes of data.
64 bytes from 192.168.0.126: icmp_req=1 ttl=64 time=1.17 ms
64 bytes from 192.168.0.126: icmp_req=2 ttl=64 time=0.635 ms
64 bytes from 192.168.0.126: icmp_req=3 ttl=64 time=0.784 ms
^C
--- 192.168.0.126 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.635/0.863/1.171/0.227 ms
[edit]
openredes@openredesR2# ping 192.168.0.190
PING 192.168.0.190 (192.168.0.190) 56(84) bytes of data.
64 bytes from 192.168.0.190: icmp_req=1 ttl=64 time=0.725 ms
64 bytes from 192.168.0.190: icmp_req=2 ttl=64 time=0.675 ms
64 bytes from 192.168.0.190: icmp_req=3 ttl=64 time=0.622 ms
^C
--- 192.168.0.190 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.622/0.674/0.725/0.042 ms
[edit]
openredes@openredesR2# ping 192.168.0.206
PING 192.168.0.206 (192.168.0.206) 56(84) bytes of data.
64 bytes from 192.168.0.206: icmp_req=1 ttl=64 time=0.733 ms
64 bytes from 192.168.0.206: icmp_req=2 ttl=64 time=0.658 ms
64 bytes from 192.168.0.206: icmp_req=3 ttl=64 time=0.636 ms
^C
--- 192.168.0.206 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.636/0.675/0.733/0.051 ms
[edit]
openredes@openredesR2# ping 192.168.0.222
PING 192.168.0.222 (192.168.0.222) 56(84) bytes of data.
64 bytes from 192.168.0.222: icmp_req=1 ttl=64 time=0.560 ms
64 bytes from 192.168.0.222: icmp_req=2 ttl=64 time=0.769 ms
64 bytes from 192.168.0.222: icmp_req=3 ttl=64 time=0.650 ms
^C
--- 192.168.0.222 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.560/0.659/0.769/0.090 ms
[edit]
openredes@openredesR2# ping 192.168.0.238
PING 192.168.0.238 (192.168.0.238) 56(84) bytes of data.
64 bytes from 192.168.0.238: icmp_req=1 ttl=64 time=0.776 ms
64 bytes from 192.168.0.238: icmp_req=2 ttl=64 time=0.555 ms
64 bytes from 192.168.0.238: icmp_req=3 ttl=64 time=0.699 ms
^C
--- 192.168.0.238 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.555/0.676/0.776/0.096 ms
[edit]
openredes@openredesR2# ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_req=1 ttl=64 time=0.651 ms
64 bytes from 192.168.2.1: icmp_req=2 ttl=64 time=0.636 ms
64 bytes from 192.168.2.1: icmp_req=3 ttl=64 time=0.642 ms
^C
--- 192.168.2.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.636/0.643/0.651/0.006 ms
[edit]
openredes@openredesR2# ping 192.168.2.9
PING 192.168.2.9 (192.168.2.9) 56(84) bytes of data.
64 bytes from 192.168.2.9: icmp_req=1 ttl=64 time=0.556 ms
64 bytes from 192.168.2.9: icmp_req=2 ttl=64 time=0.664 ms
64 bytes from 192.168.2.9: icmp_req=3 ttl=64 time=0.534 ms
^C
--- 192.168.2.9 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.534/0.584/0.664/0.063 ms
[edit]
openredes@openredesR2# save
Saving configuration to '/opt/vyatta/etc/config/config.boot'...
Done
[edit]
openredes@openredesR2#
Con esto, a nivel de rutas, lo tenemos todo resuelto. Aunque si nos apetece, nos gusta más, queremos aprender más o sabemos perfectamente lo que buscamos podemos resolver este mismo problema de rutas con ruting dinámico, bien OSPF o bien RIP.









Holas!
Soy yo molestando de nuevo. Mira, estoy tratando de salir a internet con una red estatica pero vyatta se me resiste y estoy seguro que es un problema basico que no encuentro.
Me encuentro en esto:
Net
|
|
|
Vyatta
/\
/ \
/ \
Vlan 1 Vlan 2
Mi vlan1 es de direccion 192.168.1.0/24
Mi vlan2 es de direccion 192.168.2.0/24
Ambas estan configuradas con DHCP
La direccion de host de Vyatta es 192.168.109.35 y la default gateway es 192.166.109.3
El problema es que no sé que direcciones hay más alla de mi default gateway, pero quiero salir a internet con mis PC que estan en cada VLAn
el problema es que al hacer este comando:
#set protocols static route 0.0.0.0/24 next-hop ?????
no sé que colocar de nexthop ya que no tengo más información.
Trate de colocar mi default gateway como next-hop pero mis pc’s de la vlan no pudieron cargar internet pero si podian hacer ping entre ellos.
Que puede ser? Gracias por el tiempo.