Sunteți pe pagina 1din 35

Parametros Basico vyatta

openredes@openredesR1# set system gateway-address 192.0.2.1


[edit]
openredes@openredesR1# set system name-server 8.8.8.8
[edit]
openredes@openredesR1# set system name-server 8.8.4.4
[edit]
openredes@openredesR1# delete system login user vyatta
[edit]
openredes@openredesR1# set system login user yo authentication plaintext-password
mipassword
[edit]
openredes@openredesR1# set system host-name openredesR1
[edit]
openredes@openredesR1# set system domain-name labopenredes.es
[edit]
openredes@openredesR1# set system time-zone Europe/Madrid
[edit]
openredes@openredesR1# set system ntp server hora.roa.es
[edit]
openredes@openredesR1# set system ntp server es.pool.ntp.org
[edit]
openredes@openredesR1# commit
[edit]
openredes@openredesR1# show system
config-management {
commit-revisions 20
}
console {
device ttyS0 {

speed 9600
}
}
domain-name labopenredes.es
gateway-address 192.0.2.1
host-name openredesR1
login {
user openredes {
authentication {
encrypted-password ***
}
level admin
}
user yo {
authentication {
encrypted-password ***
}
level admin
}
}
name-server 8.8.4.4
name-server 8.8.8.8
ntp {
server es.pool.ntp.org {
}
server hora.roa.es {
}
}
package {
auto-sync 1
repository community {
components main
distribution stable

url http://packages.vyatta.com/vyatta
}
}
syslog {
global {
facility all {
level notice
}
facility protocols {
level debug
}
}
}
time-zone Europe/Madrid
[edit]
openredes@openredesR1# save
Saving configuration to '/opt/vyatta/etc/config/config.boot'...
Done
[edit]
openredes@openredesR1#

Despus configuramos la mquina Vyatta openredesR2 de la misma forma (con la puerta de enlace
correspondiente):
openredes@openredesR2# set system gateway-address 192.0.2.2
[edit]
openredes@openredesR2# set system name-server 8.8.8.8
[edit]
openredes@openredesR2# set system name-server 8.8.4.4
[edit]
openredes@openredesR2# delete system login user vyatta
[edit]

openredes@openredesR2# set system login user yo authentication plaintext-password


mipassword
[edit]
openredes@openredesR2# set system host-name openredesR2
[edit]
openredes@openredesR2# set system domain-name labopenredes.es
[edit]
openredes@openredesR2# set system time-zone Europe/Madrid
[edit]
openredes@openredesR2# set system ntp server hora.roa.es
[edit]
openredes@openredesR2# set system ntp server es.pool.ntp.org
[edit]
openredes@openredesR2# commit
[edit]
openredes@openredesR2# show system
config-management {
commit-revisions 20
}
console {
device ttyS0 {
speed 9600
}
}
domain-name labopenredes.es
gateway-address 192.0.2.2
host-name openredesR2
login {
user openredes {
authentication {
encrypted-password ***
}
level admin
}

user yo {
authentication {
encrypted-password ***
}
level admin
}
}
name-server 8.8.4.4
name-server 8.8.8.8
ntp {
server es.pool.ntp.org {
}
server hora.roa.es {
}
}
package {
auto-sync 1
repository community {
components main
distribution stable
url http://packages.vyatta.com/vyatta
}
}
syslog {
global {
facility all {
level notice
}
facility protocols {
level debug
}
}
}

time-zone Europe/Madrid
[edit]
openredes@openredesR2# save
Saving configuration to '/opt/vyatta/etc/config/config.boot'...
Done
[edit]
openredes@openredesR2#

CONFIGURACION DE INTERFACES , VLANS, BRIDGES


Seguimos con los tutoriales de ejemplo para mostrar la forma de configurar los mdulos
de Vyatta. En este paso a paso de configuracin de Vyatta nos centramos
en la topologa o esquema base que hemos creado para explicar la forma
de configurar nuestra mquina Vyatta comorouter open source de la red,
configuraremos interfaces, VLANs (vif) y enlaces agregados de red (bonding) para
conseguir el primer paso y que acte como router open source de la red interna y la
mantenga segmentada segn la topologa propuesta.

Configuration de openredesR1
openredesR1 tiene 3 interfaces de red, dos de ellas (eth0 y eth1) estarn configuradas como
Link Aggregation (LACP, IEEE 802.3ad, NIC bonding, NIC teaming) 1 formando bond0 y
la otra, eth2 est conectada al router ADSL. A su vez para posteriormente poder aplicar
diferentes polticas de seguridad a los distintos departamentos de la empresa se ha decidido
crear diferentes VLANs 2 que dividen la red LAN en subredes ms pequeas y homogneas
en cuanto a forma de trabajo y tipo de trfico generado en la red se refiere. Para esto es
necesario dividir bond0 en 5 subredes exactamente y configurar en openredesR1 una IP
dentro del rango establecido para cada una de las subredes o VLAN que vamos a crear.

Entonces para configurar las 3 interfaces que tiene openredesR1 en la forma especificada y
tener conectividad a Internet desde openredesR1 y las subredes creadas seguimos los
siguientes pasos:

Creamos y editamos la interfaz bond0:

openredes@openredesR1# edit interfaces bonding bond0

[edit interfaces bonding bond0]

openredes@openredesR1# set description LANTRUNK1A

[edit interfaces bonding bond0]

openredes@openredesR1# set mode 802.3ad

[edit interfaces bonding bond0]

openredes@openredesR1# commit

[edit interfaces bonding bond0]

openredes@openredesR1# top

[edit]

Aadimos las interfaces esclavas que van a formar parte de bond0:

openredes@openredesR1# set interfaces ethernet eth0 bond-group bond0

[edit]

openredes@openredesR1# set interfaces ethernet eth1 bond-group bond0

[edit]

openredes@openredesR1# commit

[edit]

Creamos las interfaces virtuales (VLANs) en bond0 asignndoles por ahora a cada una
su IP (utilizaremos la ltima de cada rango) y una descripcin:

openredes@openredesR1# edit interfaces bonding bond0

[edit interfaces bonding bond0]

openredes@openredesR1# set vif 10 address 192.168.0.126/25

[edit interfaces bonding bond0]

openredes@openredesR1# set vif 10 description Ventas

[edit interfaces bonding bond0]

openredes@openredesR1# set vif 20 address 192.168.0.190/26

[edit interfaces bonding bond0]

openredes@openredesR1# set vif 20 description Marketing

[edit interfaces bonding bond0]

openredes@openredesR1# set vif 30 address 192.168.0.206/28

[edit interfaces bonding bond0]

openredes@openredesR1# set vif 30 description Admon

[edit interfaces bonding bond0]

openredes@openredesR1# set vif 40 address 192.168.0.222/28

[edit interfaces bonding bond0]

openredes@openredesR1# set vif 40 description Gerencia

[edit interfaces bonding bond0]

openredes@openredesR1# set vif 50 address 192.168.0.238/28

[edit interfaces bonding bond0]

openredes@openredesR1# set vif 50 description DMZ

[edit interfaces bonding bond0]

openredes@openredesR1# commit

[edit interfaces bonding bond0]

openredes@openredesR1# top

[edit]

Despus configuramos la interfaz conectada al router ADSL (en este caso suponemos
que el router esta configurado en monopuesto o bridge con lo que tenemos la IP pblica
en la interfaz eth2 de Vyatta y tenemos que gestionar los parmetros de conexin con el
ISP, que suponemos usa encapsulacin PPPoE 6, en el ejemplo, usaremos tambin
direcciones IP TEST-NET 7), todos estos datos necesitaremos obtenerlos de nuestro
ISP:

openredes@openredesR1# set interfaces ethernet eth2 pppoe 0 local-address


192.0.2.10

[edit]

openredes@openredesR1# set interfaces ethernet eth2 pppoe 0 user-id


usuario@adsl

[edit]

openredes@openredesR1# set interfaces ethernet eth2 pppoe 0 password password

[edit]

openredes@openredesR1# set interfaces ethernet eth2 remote-address 192.0.2.1

[edit]

openredes@openredesR1# commit

[edit]

Vemos a modo de resumen la configuracin que acabamos de dar a las interfaces para
comprobar posibles errores:

openredes@openredesR1# run show interfaces

bonding bond0 {

description LANTRUNK1A

mode 802.3ad

vif 10 {

address 192.168.0.126/25

description Ventas

vif 20 {

address 192.168.0.190/26

description Marketing

vif 30 {

address 192.168.0.206/28

description Admon

vif 40 {

address 192.168.0.222/28

description Gerencia

vif 50 {

address 192.168.0.238/28

description DMZ

ethernet eth0 {

bond-group bond0

duplex auto

hw-id aa:bb:cc:dd:ee:ff

smp_affinity auto

speed auto

ethernet eth1 {

bond-group bond0

duplex auto

hw-id ff:ee:dd:cc:bb:aa

smp_affinity auto

speed auto

ethernet eth2 {

description Publica

duplex auto

hw-id a1:b2:c3:d4:e5:f6

pppoe 0 {

local-address 192.0.2.10

password password

remote-address 192.0.2.1

user-id usuario@adsl

smp_affinity auto

speed auto

loopback lo {

Tambin desde el modo de operacin podemos ver la configuracin que acabamos de


hacer y el estado de las interfaces:

openredes@openredesR1# run show interfaces

Interface

bond0

bond0.10

192.168.0.126/25

up

up

Ventas

bond0.20

192.168.0.190/26

up

up

Marketing

bond0.30

192.168.0.206/28

up

up

Administracion

bond0.40

192.168.0.222/28

up

up

Gerencia

bond0.50

192.168.0.238/28

up

up

DMZ

eth0

up

up

eth1

up

up

eth2

lo

127.0.0.1/8

lo

::1/128

[edit]

IP Address

State

Link

Description

up

192.0.2.10/24

openredes@openredesR1#

up

up

up
up

up
up

up

LANTRUNK1A

Con esto ya tenemos en openredesR1 todas las subredes creadas (habiendo configurado
previamente el switch para gestionar dichas VLANs y para soportar LACP en los puertos
especificados), las interfaces operativas para actuar como router en todas las subredes y con
acceso internet sin limitaciones.

El ltimo paso una vez terminado de configurar openredesR1 como router para la
primera sede ejemplo es guardar la configuracin para que sea persistente ante cualquier
reinicio:

openredes@openredesR1# save

Saving configuration to '/opt/vyatta/etc/config/config.boot'...

Done

[edit]

Configuracin de openredesR2
De la misma forma pasamos a la configuracin bsica de openredesR2, al igual que
openredesR1 tambin tiene 3 interfaces de red, dos de ellas (eth0 y eth1) estarn
configuradas como Link Aggregation (LACP, IEEE 802.3ad, NIC bonding, NIC
teaming) 1 formando bond0 y la otra, eth2 est conectada al router ADSL. A su vez para
posteriormente poder aplicar diferentes polticas de seguridad a los distintos departamentos
de la empresa se ha decidido crear diferentes VLANs 2 que dividen la red LAN en subredes
ms pequeas y homogneas en cuanto a forma de trabajo y tipo de trfico generado en la
red se refiere. Para esto, en este caso, es necesario dividir bond0 en 3 subredes exactamente
y configurar en openredesR2 una IP dentro del rango establecido para cada una de las
subredes o VLAN que vamos a crear.

Entonces para configurar las 3 interfaces que tiene openredesR2 en la forma especificada y
tener conectividad a Internet desde openredesR2 y las subredes creadas seguimos los
siguientes pasos:

Creamos y editamos la interfaz bond0:

openredes@openredesR2# edit interfaces bonding bond0

[edit interfaces bonding bond0]

openredes@openredesR2# set description LANTRUNK1B

[edit interfaces bonding bond0]

openredes@openredesR2# set mode 802.3ad

[edit interfaces bonding bond0]

openredes@openredesR2# commit

[edit interfaces bonding bond0]

openredes@openredesR2# top

[edit]

Aadimos las interfaces esclavas que van a formar parte de bond0:

openredes@openredesR2# set interfaces ethernet eth0 bond-group bond0

[edit]

openredes@openredesR2# set interfaces ethernet eth1 bond-group bond0

[edit]

openredes@openredesR2# commit

[edit]

Creamos las interfaces virtuales (VLANs) en bond0 asignndoles por ahora a cada una
su IP (utilizaremos la ltima de cada rango) y una descripcin:

openredes@openredesR2# edit interfaces bonding bond0

[edit interfaces bonding bond0]

openredes@openredesR2# set vif 60 address 192.168.1.126/25

[edit interfaces bonding bond0]

openredes@openredesR2# set vif 60 description I+D

[edit interfaces bonding bond0]

openredes@openredesR2# set vif 70 address 192.168.1.190/26

[edit interfaces bonding bond0]

openredes@openredesR2# set vif 70 description Desarrollo

[edit interfaces bonding bond0]

openredes@openredesR2# set vif 80 address 192.168.1.254/26

[edit interfaces bonding bond0]

openredes@openredesR2# set vif 80 description Servers

[edit interfaces bonding bond0]

openredes@openredesR2# commit

[edit interfaces bonding bond0]

openredes@openredesR2# top

[edit]

Despus configuramos la interfaz conectada al router ADSL (en este caso suponemos
que el router est configurado en monopuesto o bridge con lo que tenemos la IP pblica
en la interfaz eth2 de Vyatta y tenemos que gestionar los parmetros de conexin con el
ISP, que suponemos usa encapsulacin PPPoE 6, en el ejemplo, usaremos tambin
direcciones IP del bloque TEST-NET 7), todos estos datos necesitaremos obtenerlos
de nuestro ISP:

openredes@openredesR2# set interfaces ethernet eth2 pppoe 0 local-address


192.0.2.20

[edit]

openredes@openredesR2# set interfaces ethernet eth2 pppoe 0 user-id


usuario@adsl

[edit]

openredes@openredesR2# set interfaces ethernet eth2 pppoe 0 password password

[edit]

openredes@openredesR2# set interfaces ethernet eth2 remote-address 192.0.2.1

[edit]

openredes@openredesR2# commit

[edit]

Comprobamos la configuracin de interfaces que acabamos de hacer:

openredes@openredesR2# run show interfaces

bonding bond0 {

description LANTRUNK1B

mode 802.3ad

vif 60 {

address 192.168.1.126/25

description I+D

vif 70 {

address 192.168.1.190/26

description Desarrollo

vif 80 {

address 192.168.1.254/26

description Servers

ethernet eth0 {

bond-group bond0

duplex auto

hw-id 00:11:22:33:44:55

smp_affinity auto

speed auto

ethernet eth1 {

bond-group bond0

duplex auto

hw-id 01:23:45:67:89:ab

smp_affinity auto

speed auto

ethernet eth2 {

description Publica

duplex auto

hw-id 55:44:33:22:11:00

pppoe 0 {

local-address 192.0.2.20

password password

remote-address 192.0.2.1

user-id usuario@adsl

smp_affinity auto

speed auto

loopback lo {

Con esto ya tenemos en openredesR2 todas las subredes creadas (habiendo configurado
previamente el switch para gestionar dichas VLANs y para soportar LACP en los puertos
especificados), las interfaces operativas para actuar como router en todas las subredes y con
acceso internet sin limitaciones.

El ltimo paso una vez terminado de configurar openredesR2 como router para la
segunda sede ejemplo es guardar la configuracin para que sea persistente ante cualquier
reinicio:

openredes@openredesR2# save

Saving configuration to '/opt/vyatta/etc/config/config.boot'...

Done

[edit]

1. ^ Para por llevar a cabo la configuracin citada de agregacin de enlaces es necesario


que el switch al que conectemos los enlaces soporte y tenga los puertos a los que
conectamos dichos enlaces configurados segn el protocolo LACP.

2. ^ Para el funcionamiento de las subredes hemos de configurar el switch para que refleje
las VLANs etiquetadas de la misma forma que lo hemos hecho en nuestro router Vyatta.
3. ^ Recordemos que con el comando edit nos posicionamos directamente en la rama del
nodo que especifiquemos a continuacin.
Recordemos tambin que el tabulador es nuestro amigo :)

4. ^ Usamos el ejemplo el modo 802.3ad o Dynamic link aggregation, que permite crear
grupos de enlaces en agregacin que compartan las mismas configuraciones de
velocidad y duplex. Permite sumar las capacidades de todos los enlaces del grupo y
ofrecer tolerancia a fallos ante la cada de puertos o de enlaces.
5. ^ Recordemos que con el comando top salimos de la rama en la que estamos y
volvemos a la raz del sistema de configuracin.
^ La encapsulacin PPPoE (Point-to-Point Protocol over Ethernet) se usa crear un PVC en lneas
ADSL tal y como define el RFC 2516. Podemos configurar para este fin tanto una interfaz ADSL
como una interfaz Ethernet (no ser as para el resto de encapsulaciones ADSL).

ACCESOS REMOTOS A NUESTRAS MAQUINAS


Para poder acceder remotamente de forma segura a una mquina Vyatta lo primero es configurar
el servicio SSH, el servicio Web GUI access (https) o tambien el acceso remoto por Telnet, de
esta forma podremos administrar y configurar de forma remota los sistemas Vyatta. Como
recomendacin lo mejor, ms seguro y potente es la configuracin y administracin remota

por SSH, recordemos que las conexiones Telnet no estn encriptadas:

vyatta@vyatta:~$ configure
[edit]
vyatta@vyatta# set service ssh port 2022
vyatta@vyatta# set service ssh allow-root
vyatta@vyatta# set service telnet port 2023
vyatta@vyatta# set service https
vyatta@vyatta# commit
vyatta@vyatta# save

CONFIGURACION DE LA VPN

Seguimos con la seccin de tutoriales/manuales de configuracin de Vyatta, en esta publicacin


tenemos un paso a paso para llevar a cabo laconfiguracin de tneles o VPNs punto a punto o
site-to-site (STS) en Vyatta mediante la integracin que Vyatta ofrece con OpenVPN, con lo que
generaremos nuevas interfaces virtuales (llamadas vtun) en nuestras mquinas Vyatta sobre las
que se levantar nuestro tnel y por el que seencriptar todo el trfico que circule por l.
Nos basaremos una vez ms en la topologa de ejemplo de configuracin de Vyatta y antes de
crear la VPN site-to-site o punto a punto tenemos que generar los certificados y gestionarlos
correctamente.

Y tras la ardua tarea de creacin y colocacin de certificados podemos llevar a cabo la configuracin
de las VPNs que necesita nuestra empresa ficticia.
Empezamos con openredesR1 y vamos a configurar la VPN STS para la que actuara como servidor,
como su nombre indica (extremo a extremo), en este tipo de VPN solo van a intervenir dos equipos
y ser una conexin punto a punto, uno de ellos ser el servidor o extremo pasivo (recibe las
peticiones) y el otro extremo ser el cliente o extremo activo (enviara peticiones de conexin). En
este caso vamos a usar interfaz conectada a la red pblica para configurar la VPN que se levantar
sobre la nueva interfaz virtual vtun10 y estar en la subred 192.168.2.32/30:
openredes@openredesR1:# edit interfaces openvpn vtun10
[edit]
openredes@openredesR1:# set description VPN-Inter-Sede
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set local-address 192.168.2.33
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set local-host 192.0.2.10

[edit interfaces openvpn vtun10]


openredes@openredesR1:# set local-port 1194
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set mode site-to-site
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set openvpn-option "--comp-lzo --push keepalive 10 120 -persist-tun --persist-key --persist-local-ip --persist-remote-ip --reneg-sec
86400 --remote-cert-tls client --script-security 2"
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set remote-address 192.168.2.34
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set remote-host 192.0.2.20
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set remote-port 1194
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set tls ca-cert-file /openvpn/keys/sts/ca.crt
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set tls cert-file /openvpn/keys/sts/empresaR1.crt
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set tls dh-file /openvpn/keys/sts/dh1024.pem
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set tls key-file /openvpn/keys/sts/empresaR1.key
[edit interfaces openvpn vtun10]
openredes@openredesR1:# set tls role pasive
[edit interfaces openvpn vtun10]
openredes@openredesR1:# commit
[edit interfaces openvpn vtun10]
openredes@openredesR1:# show
description VPN-Inter-Sede
encryption bf128
hash sha1
local-address 192.168.2.33
local-host 192.0.2.10
local-port 1194

mode site-to-site
openvpn-option "--comp-lzo --push keepalive 10 120 --persist-tun --persist-key
--persist-local-ip --persist-remote-ip --reneg-sec 86400 --remote-cert-tls client
--script-security 2"
remote-address 192.168.2.34
remote-host 192.0.2.20
remote-port 1194
tls {
ca-cert-file /openvpn/keys/sts/ca.crt
cert-file /openvpn/keys/sts/empresaR1.crt
dh-file /openvpn/keys/sts/dh1024.pem
key-file /openvpn/keys/sts/empresaR1.key
role pasive
}
[edit interfaces openvpn vtun10]
openredes@openredesR1:# top
[edit]
openredes@openredesR1:# save
Saving configuration to '/opt/vyatta/etc/config/config.boot'...
Done
[edit]
openredes@openredesR1:#

Con esto terminamos la configuracin de openredesR1 y ya est preparado para dar de alta en la
red una mquina configurada como extremo activo que ser openredesR2, pasamos ahora a
configurar el otro extremo de la conexin STS que nos habilitar la interconexin entre ambas sedes
remotas como si trabajasen fsicamente juntas, lo haremos creando en openredesR2 una interfaz
virtual llamada vtun10 (no tiene que llamarse igual que el extremo opuesto) que haga peticiones al
puerto 1194 de la mquina servidor:
openredes@openredesR2:# edit interfaces openvpn vtun10
[edit]
openredes@openredesR2:# set description VPN-Inter-Sede
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set local-address 192.168.2.34

[edit interfaces openvpn vtun10]


openredes@openredesR2:# set local-host 192.0.2.20
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set local-port 1194
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set mode site-to-site
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set openvpn-option "--comp-lzo --push keepalive 10 120 -persist-tun --persist-key --persist-local-ip --persist-remote-ip --reneg-sec 0 -explicit-exit-notify 2 --remote-cert-tls client --script-security 2"
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set remote-address 192.168.2.33
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set remote-host 192.0.2.10
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set remote-port 1194
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set tls ca-cert-file /openvpn/keys/sts/ca.crt
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set tls cert-file /openvpn/keys/sts/stsempresaR2.crt
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set tls key-file /openvpn/keys/sts/stsempresaR2.key
[edit interfaces openvpn vtun10]
openredes@openredesR2:# set tls role active
[edit interfaces openvpn vtun10]
openredes@openredesR2:# commit
[edit interfaces openvpn vtun10]
openredes@openredesR2:# show
description VPN-Inter-Sede
encryption bf128
hash sha1
local-address 192.168.2.34
local-host 192.0.2.20
local-port 1194

mode site-to-site
openvpn-option "--comp-lzo --push keepalive 10 120 --persist-tun --persist-key
--persist-local-ip --persist-remote-ip --reneg-sec 0 --explicit-exit-notify 2 -remote-cert-tls client --script-security 2"
remote-address 192.168.2.33
remote-host 192.0.2.10
remote-port 1194
tls {
ca-cert-file /openvpn/keys/sts/ca.crt
cert-file /openvpn/keys/sts/stsempresaR2.crt
key-file /openvpn/keys/sts/stsempresaR2.key
role active
}
[edit interfaces openvpn vtun10]
openredes@openredesR2:# top
[edit]
openredes@openredesR2:# save
Saving configuration to '/opt/vyatta/etc/config/config.boot'...
Done
[edit]
openredes@openredesR2:# ping 192.168.2.33
PING 192.168.2.33 (192.168.2.33) 56(84) bytes of data.
64 bytes from 192.168.2.33: icmp_req=1 ttl=64 time=0.817 ms
64 bytes from 192.168.2.33: icmp_req=2 ttl=64 time=0.579 ms
64 bytes from 192.168.2.33: icmp_req=3 ttl=64 time=0.455 ms
64 bytes from 192.168.2.33: icmp_req=4 ttl=64 time=0.342 ms
^C
--- 192.168.2.33 ping statistics --4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 0.342/0.548/0.817/0.177 ms
[edit]
openredes@openredesR2:#

Y ya tenemos nuestras dos sedes remotas conectadas de forma totalmente segura, pero si tratas
de hacer ping desde una mquina de la subred DMZ hacia una mquina que est en la VLAN de
desarrollo (en la otra sede) o incluso desde openredesR1 a cualquiera de las otras interfaces de
openredesR2 no funciona, que pasa? no est bien configurada la VPN? si si, tranquilo, no es eso, el
problema es que nuestras mquinas Vyatta an no conocen de la existencia de otras redes o
subredes distintas a las que tienen conectadas directamente y el trfico se escapa por la ruta por
defecto (192.0.2.1 en este caso).
Como lo solucionamos? bueno, tenemos varias posibilidades, aadir rutas persistentes a todos los
equipos de la empresa (bufff, quita quita), aadir rutas estticas a nuestras dos mquinas Vyatta
para que sepan las subredes que hay en el extremo opuesto o incluso configurar algn protocolo
de routing (rip, ospf)

Rutas estticas
En este tutorial vamos a explicar como configurar las rutas estticas en Vyatta. Como ya dijimos
en el tutorial de configuracin de las VPNs en Vyatta segn la topologa 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 mquinas Vyatta conoce las subredes que hay
conectadas a la mquina del otro extremo.
Acabamos de hablar de rutas estticas, pero tambin tenemos la versatilidad de los protocolos de
routing dinmico, de cualquier forma podemos conseguir que cada una de las mquinas Vyatta
conozca las subredes de la mquina del otro extremo y sepa como enrutar los paquetes destinados
a ella correctamente, bien con routing esttico o bien con routing dinmico (RIP, OSPF). En este
caso son pocas rutas y la configuracin es muy sencilla escogiendo cualquiera de las dos formas,
pero para configuraciones en las que se interconectan numerosos routers entre si el usar una
configuracin basada en un protocolo de routing dinmico nos puede simplificar mucho las cosas.

Si vamos a la topologa ejemplo veremos que segn la configuracin bsica de sistema, teniendo
tambin hecha la configuracin de interfaces fsicas, enlaces agregados y VLANs y las VPNs tambin
configuradas en nuestras mquinas Vyatta de ejemplo openredesR1 y openredesR2 cualquier trfico
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 operacin
(recordemos que cuando estamos en modo configuracin o edicin, con run podemos ejecutar
comandos del modo operacin):
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 mquina de la red privada de la otra sede conectada a
openredesR2 ser enviado errneamente 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

* * *

* * *

* * *

* * *

*^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 trfico 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 fcilmente:

Le diremos a openredesR1, mediante rutas estticas, que todo el trfico destinado a la red
192.168.1.0/24 lo enve 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 mquina 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 habra que decirle tambin a openredesR2 que todo el trfico con destino a la red
192.168.0.0/24 ha de enrutarlo por la VPN hacia openredesR1. Tambin tenemos que decirle a

openredesR2 que existen ms 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
mquina que est en la otra sede, openredeR2 tiene que conocer tambin 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 ms,
queremos aprender ms o sabemos perfectamente lo que buscamos podemos resolver este mismo
problema de rutas con ruting dinmico, bien OSPF o bien RIP.

Cconfigurando NAT

Configuracin de NAT en openredesR1:

La primera regla que vamos a crear es para la salida a Internet de los equipos de la LAN con lo
que a todo el trfico que salga por la interfaz eth2 se le har una traduccin de la direccin IP de
origen para que refleje nuestra IP pblica que en este caso ser 192.0.2.10 (direccin TEST-NET)
Creamos la regla 10 con los siguientes comandos:
vyatta@openredesR1:~$ configure
vyatta@openredesR1# set service nat rule 10 outbound-interface eth2
vyatta@openredesR1# set service nat rule 10 type masquerade

La siguiente regla a crear ser para que las peticiones que se hagan desde internet al puerto 80
de nuestra IP pblica se traduzcan y se enven a la IP del servidor web.
Creamos la regla 20 con los siguientes comandos:

vyatta@openredesR1# set service nat rule 20 destination port 80

vyatta@openredesR1# set service nat rule 20 inbound-interface eth2

vyatta@openredesR1# set service nat rule 20 inside-address address


192.168.0.225

vyatta@openredesR1# set service nat rule 20 protocol tcp

vyatta@openredesR1# set service nat rule 20 type destination

De la misma forma que en la regla anterior creamos la regla 30 que traducir las peticiones al
puerto 443 (https) de la IP pblica a la IP del servidor web.
Creamos la regla 30 con los siguiente comandos:

vyatta@openredesR1# set service nat rule 30 destination port 443

vyatta@openredesR1# set service nat rule 30 inbound-interface eth2

vyatta@openredesR1# set service nat rule 30 inside-address address


192.168.0.225

vyatta@openredesR1# set service nat rule 30 protocol tcp

vyatta@openredesR1# set service nat rule 30 type destination

Al igual que pasamos a nuestro servidor web mediante DNAT las peticiones http y https (80 y
443) que recibamos vamos a pasar tambien al servidor de email las peticiones que recibamos a
los puertos 25, 110, 465 y 995 (smtp, pop3, ssmtp y pop3s) en la IP pblica.
Para lo que creamos las reglas 40, 50, 60 y 70 con los siguientes comandos:

vyatta@openredesR1# set service nat rule 40 destination port 25

vyatta@openredesR1# set service nat rule 40 inbound-interface eth2

vyatta@openredesR1# set service nat rule 40 inside-address address


192.168.0.226

vyatta@openredesR1# set service nat rule 40 protocol tcp

vyatta@openredesR1# set service nat rule 40 type destination

vyatta@openredesR1# set service nat rule 50 destination port 110

vyatta@openredesR1# set service nat rule 50 inbound-interface eth2

vyatta@openredesR1# set service nat rule 50 inside-address address


192.168.0.226

vyatta@openredesR1# set service nat rule 50 protocol tcp

vyatta@openredesR1# set service nat rule 50 type destination

vyatta@openredesR1# set service nat rule 60 destination port 465

vyatta@openredesR1# set service nat rule 60 inbound-interface eth2

vyatta@openredesR1# set service nat rule 60 inside-address address


192.168.0.226

vyatta@openredesR1# set service nat rule 60 protocol tcp

vyatta@openredesR1# set service nat rule 60 type destination

vyatta@openredesR1# set service nat rule 70 destination port 995

vyatta@openredesR1# set service nat rule 70 inbound-interface eth2

vyatta@openredesR1# set service nat rule 70 inside-address address


192.168.0.226

vyatta@openredesR1# set service nat rule 70 protocol tcp

vyatta@openredesR1# set service nat rule 70 type destination

vyatta@openredesR1# commit

vyatta@openredesR1# save

Con esto ya tenemos el servicio NAT configurado y funcionando para openredesR1 segn las
necesidades que reflejadas en la topologa ejemplo.

Para ver como ha quedado la configuracin:


vyatta@openredesR1# show service nat
rule 10 {
outbound-interface eth2
type masquerade
}
rule 20 {
destination {
port 80
}
inbound-interface eth2
inside-address {
address 192.168.0.225
}
protocol tcp
type destination
}
rule 30 {
destination {
port 443
}
inbound-interface eth2
inside-address {
address 192.168.0.225
}
protocol tcp
type destination

}
rule 40 {
destination {
port 25
}
inbound-interface eth2
inside-address {
address 192.168.0.226
}
protocol tcp
type destination
}
rule 50 {
destination {
port 110
}
inbound-interface eth2
inside-address {
address 192.168.0.226
}
protocol tcp
type destination
}
rule 60 {
destination {
port 465
}
inbound-interface eth2
inside-address {
address 192.168.0.226
}
protocol tcp
type destination

}
rule 70 {
destination {
port 995
}
inbound-interface eth2
inside-address {
address 192.168.0.226
}
protocol tcp
type destination
}
[edit]

Configuramos ahora el servicio de NAT en openredesR2:


En este caso no tenemos ningn servicio al que se pueda acceder pblicamente y todas las
direcciones privadas son conocidas en la red por lo que nicamente necesitamos una regla que
traduzca la IP origen de las peticiones que salgan a internet por la IP pblica de nuestra lnea ADSL.
Creamos la regla 10 con los siguientes comandos:
vyatta@openredesR2# set service nat rule 10 outbound-interface eth2
vyatta@openredesR2# set service nat rule 10 type masquerade

Para ver como ha quedado la configuracin:


vyatta@openredesR2# show service nat
rule 10 {
outbound-interface eth2
type masquerade
}
[edit]

S-ar putea să vă placă și