martes, 10 de enero de 2017

Openvswitch + Vlans

En la entrada anterior  escribía como usar openvswitch con xen y debian jessie, este software me permite crear la infraestructura virtual de red de forma rápida y sencilla. Pero, no solo me permite la conexión interna entre las maquinas virtuales, sino también hacia la red física. Es esta oportunidad vamos a usar openvswitch y configuraremos vlans de trabajo las cuales asociaremos  vlans existentes en los switch de nuestra red.

Esta entrada surge debido la siguiente situación, tengo un servidor el cual utilizaré para virtualizar, el mismo posee dos tarjetas físicas, una de las tarjetas la uso como acceso administrativo, quedando sólo una interfaz para crear maquinas virtuales que puedan conectarse a mi red DMZ, LAN y una que WAN que posee ip publica.



Para repasar, instalamos openvswitch con el comando

 
# apt-get install openvswitch-switch
 
una vez instalado verificamos que este corriendo con el comando


# ovs-vsctl show 
   e2ffe3b2-4224-443e-a939-21a5b2ca02e1
    ovs_version: "2.3.0"
 
vemos que esta instalado y debemos configurar según nuestra necesidad. Y hacemos lo siguiente.


configuramos la interfaz del servidor, editando el archivo interfaces



# vi /etc/network/interfaces
 
auto lo ovsbr0 eth0 eth1 vlan10
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
allow-hotplug eth1

iface eth0 inet static
address 172.31.91.164
netmask 255.255.252.0
gateway 172.31.91.2



##################bridge y vlans para XEN ######################
allow-ovs ovsbr0 eth1
iface ovsbr0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
ovs_type OVSBridge
ovs_ports eth1 vlan10 vlan215

allow-ovsbr0 eth1
iface eth1 inet manual
ovs_bridge ovsbr0
ovs_type OVSPort
#ovs_options tag=1 vlan_mode=native-untagged
# Alternatively if you want to also restrict what vlans are allowed through
# you could use:
ovs_options tag=1 vlan_mode=native-untagged trunks=10,215

allow-ovsbr0 vlan10
iface vlan10 inet manual
  ovs_type OVSIntPort
  ovs_bridge ovsbr0
  ovs_options tag=10
  ovs_extra set interface ${IFACE} external-ids:iface-id=$(hostname -s)-${IFACE}-vif
  up ifconfig $IFACE 0.0.0.0 up
  down ifconfig $IFACE down
 
En mi red la vlan10 tiene un segmento 172.16.x.x, la vlan 215 es un segmento de ip publicas 
y la vlan1 esta en un segmento 172.31.x.x configuraremos la vlan10 y la vlan1. En el archivo 
interfaces configuramos como normalmente lo hariamos pero la diferencia esta en las líneas.
 
ovs_ports eth1 vlan10 vlan215 
 
ovs_options tag=1 vlan_mode=native-untagged trunks=10,215 
 
 
aqui definimos las interfaces vlans y el tipo de acceso del puerto ovsbr0 que creamos, 
en nuestro caso seria un puerto troncal en le switch virtual (ovsbr0). 
Reiniciamos las interfaces
 
# /etc/init.d/networking restart 
 
verificamos con el comando ifconfig que todo este arriba 

# ifconfig
 
eth0      Link encap:Ethernet  HWaddr 98:4b:e1:65:93:84  
          inet addr:172.31.91.164  Bcast:172.31.91.255  Mask:255.255.252.0
          inet6 addr: fe80::9a4b:e1ff:fe65:9384/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:171184 errors:0 dropped:306 overruns:0 frame:0
          TX packets:51715 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:81121169 (77.3 MiB)  TX bytes:5696893 (5.4 MiB)
          Memory:c0400000-c041ffff 

eth1      Link encap:Ethernet  HWaddr 98:4b:e1:65:93:85  
          inet6 addr: fe80::9a4b:e1ff:fe65:9385/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:167684 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26302 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:69563654 (66.3 MiB)  TX bytes:1879692 (1.7 MiB)
          Memory:c0460000-c047ffff 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:944 (944.0 B)  TX bytes:944 (944.0 B)

ovsbr0    Link encap:Ethernet  HWaddr 98:4b:e1:65:93:85  
          inet6 addr: fe80::9a4b:e1ff:fe65:9385/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:39286 errors:0 dropped:131 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2721632 (2.5 MiB)  TX bytes:648 (648.0 B)


vlan10    Link encap:Ethernet  HWaddr 2e:18:70:28:d7:aa  
          inet6 addr: fe80::2c18:70ff:fe28:d7aa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:520 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:64046 (62.5 KiB)  TX bytes:648 (648.0 B) 

 
Luego en el switch virtual hacemos 
 
# ovs-vsctl set port ovsbr0 trunks=1,10,215 

procedemos a revisar la configuración del switch virtual
 
# ovs-vsctl show 

9909c85f-5cbc-4b18-bdbd-bf0cab6ae1cf
    Bridge "ovsbr0"
        Port "ovsbr0"
            trunks: [1, 15, 215]
            Interface "ovsbr0"
                type: internal
        Port "eth1"
            tag: 1
            trunks: [1, 10, 215]
            Interface "eth1"
        Port "vlan10"
            tag: 10
            Interface "vlan10"
                type: internal
        ovs_version: "2.3.0"

Luego en las maquinas virtuales procedemos a configurar de la siguiente forma.
Veran que esta difindo el bridge con el tag de la vlan de la forma
 
bridge=ovsbr0.10 


 
 
 
 Iniciamos las maquinas virtuales 
 
 # xl create /etc/xen/siglas.conf 
 # xl create /etc/xen/atencionciudadano.conf  
 
podemos ver con el comando ifconfig la configuración de red de cada maquina.

 
 
 
 
 
 y verificamos como queda la configuración del switch luego de iniciar las maquinas virtuales
 
 
 
 
 Verificamos la salida a internet en las maquinas virtuales 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 y el acceso desde la red interna. 





 
 
 
 
 NOTA: Se deben realizar las respectivas configuraciones en los switch físicos.
 
 
 
Bibliografia:

http://blog.scottlowe.org/2013/05/28/vlan-trunking-to-guest-domains-with-open-vswitch/
http://blog.scottlowe.org/2012/11/07/using-vlans-with-ovs-and-libvirt/
http://docs.openvswitch.org/en/latest/faq/vlan/
http://blog.scottlowe.org/2012/10/04/some-insight-into-open-vswitch-configuration/
https://pve.proxmox.com/wiki/Open_vSwitch#VLANs_Host_Interfaces
http://wiki.flav.com/wiki/Open_vSwitch_Tutorial
 
 
 

sábado, 7 de enero de 2017

Debian Jessie + LVM + Xen 4.8 + Openvswitch

Hace aproximadamente 8 años realice esta guía en lo que fue los primeros pasos realizados con xen, esta guía la escribí para usar un firewall llamado brazilfw desde entonces es mucho lo que ha cambiado. Hoy vamos a configurar xen con debian usando lvm y openvswitch para el manejo de la red. 

Antes de instalar Xen deberás instalar Debian en la maquina principal (host). Esta instalación será de forma básica para el Domain 0. La instalación de Debian puede ser hecha de una manera normal usando el DebianInstaller. Asumiré que ya tienes instalado debian con una partición LVM que configuraremos mas adelante.

Instalación y configuración de LVM

Al momento de realizar la instalación de debian, se debe deja una partición tipo LVM, que es la que usaremos para crear las maquinas virtuales. Para usar lvm debemos instalar el paquete

 
 
#  aptitude install  lvm2 
 
# fdisk -l
Disco /dev/sda: 931,5 GiB, 1000204886016 bytes, 1953525168 sectores

Disposit.  Inicio   Comienzo      Final   Sectores Tamaño Id Tipo
/dev/sda1  *            2048     206847     204800   100M  7 HPFS/NTFS/exFAT
/dev/sda2             206848 1024002047 1023795200 488,2G  7 HPFS/NTFS/exFAT
/dev/sda3         1024004094 1953523711  929519618 443,2G  5 Extendida
/dev/sda5         1024004096 1123416063   99411968  47,4G 83 Linux
/dev/sda6         1951543296 1953523711    1980416   967M 82 Linux swap / Solaris
/dev/sda7         1123418112 1318727679  195309568  93,1G 83 Linux
/dev/sda8         1318729728 1951528959  632799232 301,8G 8e Linux LVM

en nuestro caso esta partición es /dev/sda8, ya con este dato ponemos a tono  el equipo.

1) Se crea un volumen físico
# pvcreate /dev/sda8
Physical volume "/dev/sda8" successfully created

si revisamos este punto podemos ver que se ha creado el volumen físico



 

2) creamos un grupo de volumenes

vgcreate nube /dev/sda8
Volume group "nube" successfully created

de igual forma podemos verificar que se creo el grupo de volumen.










Si deseas conocer mas a fondo el uso de LVM esta guia es muy completa en español y esta otra de la wiki debian.


Instalación inicial de XEN


 La instalación de xen es realmente sencilla, procedemos a realizar la misma de la siguiente forma

# aptitude install xen-linux-system-amd64 xen-tools
 

Configuración de xen

editamos el archivo xl.conf, como la idea es usar openvswitch cambiamos o agregamos  las lineas.

vif.default.script="vif-openvswitch"

y la otra 
vif.default.bridge="ovsbr0" 
puedes llamar al bridge como quieras. 
Pero debes tener en cuenta el nombre cuando configures openvswitch


Luego editamos el archivo xend-config.sxp

vi xend-config.sxp 

igual cambiamos vif-script vif-bridge por

vif-script vif-openvswitch

existen otros parámetros que podríamos configurar aquí como:

cantidad de CPUs asignados al Dom0
Dom0-cpus
total de memoria disponible
total_avaible_memory
memoria mínima asignada al Dom0
Dom0_min_mem
activar la conexion vnc (esta opción es muy recomendada si se va a virtualizar 
algún sistema operativo con núcleo no modificado, como windows)
vnc-listen 
Ahora editamos el archivo xen-tools.conf y configuramos lvm para usarlo por defecto 
para crear las MV.

descomentamos la opción lvm y le colocamos el nombre del volumen lvm creado.. en este caso nube
quedaría así..
Aquí podríamos cambiar muchas cosas y definir los parámetros a usar cuando creamos las MV
pero generalmente solo toco este punto y al momento de crear las MV por consola defino las características de la misma.
 

Buenas prácticas

Limitar y proteger el uso de memoria y CPUs de la dom0
Como usuario root editar el archivo /etc/default/grub, tal como se muestra a continuación. En el ejemplo, se limita el uso de memoria a 512 MB y a un solo núcleo
vi /etc/default/grub
Agregar la siguiente línea
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=512M,max:512M dom0_max_vcpus=1"
Según la wiki de Xen, se recomienda que se dedique explícitamente el núcleo del CPU a usar, sobre todo cuando los guest vayan a tener operaciones IO intensivas. En general, especificar el núcleo del CPU reduce los cambios de contextos, lo que supone alguna mejora en el rendimiento. En ese caso, la línea queda de la siguiente manera:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=512M,max:512M dom0_max_vcpus=1 dom0_vcpus_pin"
Actualizar la configuración de GRUB ejecutando como root la siguiente orden.
update-grub2
En Debian  Jessie Como usuario root editar el archivo /etc/xen/xend-config.sxp, tal como se muestra a continuación.
vi /etc/xen/xend-config.sxp
Agregar o modificar las siguientes líneas
(dom0-min-mem 512)
(dom0-cpus 1)
 

Instalación y configuración de Openvswitch.

instalamos openvswitch con el siguiente comando

# aptitude install openvswitch-switch

vemos que openvswitch se ha instalado con el comando
# ovs-vsctl show
a319db3c-5ad9-4ac9-bdb9-d434b594b6bd
    Bridge "ovsbr0"
ovs_version: "2.6.2"

 ya tenemos lo que necesitamos listo. Procedemos a configurar openvswtich.

1) creamos el bridge ovsbr0 

# ovs-vsctl add-br ovsb0 

2) configuramos la interfaz de red física a usar. editando el archivo /etc/network/interfaces


# vi /etc/network/interfaces


 auto lo ovsbr0 enp5s0
 iface lo inet loopback 

allow-ovs ovsbr0 
iface ovsbr0 inet static (nota: también se puede configurar como dhcp) 
address 192.168.20.103
 netmask 255.255.255.0
 gateway 192.168.20.1
 ovs_type OVSBridge 
ovs_ports enp5s0 

allow-ovsbr0 enp5s0 
 iface enp5s0 inet manual 
ovs_bridge ovsbr0
 ovs_type OVSPort


Configuramos el bridge que habíamos definido en el archivo xl.conf de xen. Guardamos y salimos.
El próximo paso es agregar la interfaz al bridge en openvswitch 
# ovs-vsctl add-port ovsbr0 enp5s0 
hay que tener en cuenta que si se lanza este comando y estamos conectados al servidor con la interfaz asociada se perderá la conexión.
 
luego revisamos como ha quedado configurada la red.


 una vez terminado todo esto configuramos grub y reiniciamos

vi /etc/default/grub
# Disable OS prober
GRUB_DISABLE_OS_PROBER=true
#allocate memory to dom0
Guardamos y salimos, luego hacemos

mv -i /etc/grub.d/20_linux_xen /etc/grub.d/09_linux_xen
update-grub
shutdown -r now

Esto nos permite que se inicie el sistema con la imagen de xen por defecto. Al reiniciar el equipo
verificamos que este corriendo xen

# xl lis
Name                                        ID   Mem VCPUs State Time(s)
Domain-0                                     0  1018     1     r-----      41.5
 
 

 Creamos las Maquinas Virtuales.

 vamos a crea un maquina con el siguiente conmando

# xen-create-image  --hostname=siglas --ip=172.31.91.200  --memory=6GB  --size=50GB

xen-create-image: Comando que me permite crear la maquina virtual, esta maquina esta basada en linux, paravirtualizada y se "instala" con debootstrap.
--hostname: nombre de la maquina virtual, es mandatorio.
--ip: dirección que usara  la maquina virtual, es mandatorio, se puede usar esta opcion o la opcion --dhcp
--memory: Cantidad de memoria que se le asignara a la maquina virtual, si no se define aqui, se tomara por defecto la configurada en el archivo /etc/xen-tools/xen-toosl.conf
--size: Tamaño de la particion lvm que usará la maquina virtual, si no se define aqui, se tomara por defecto la configurada en el archivo /etc/xen-tools/xen-toosl.conf
 Tambien podriamos definir desde aqui la distribucion a usar, el tamaño de la memoria swap, etc. De no hacerlo en la linea de comando igual tomará por defecto lo configurado en el archivo xen-tools.conf 


veremos algo así (según la conexión, esto toma tiempo)


# xen-create-image  --hostname=siglas2 --ip=172.31.91.200 --memory=6GB  --size=50GB
WARNING:  No gateway address specified!
WARNING:  No netmask address specified!

General Information
--------------------
Hostname       :  siglas
Distribution   :  jessie
Mirror         :  http://ftp.de.debian.org/debian/
Partitions     :  swap            512M  (swap)
                  /               50GB  (ext4)
Image type     :  full
Memory size    :  6GB
Kernel path    :  /boot/vmlinuz-3.16.0-4-amd64
Initrd path    :  /boot/initrd.img-3.16.0-4-amd64

Networking Information
----------------------
IP Address 1   : 172.31.91.200 [MAC: 00:16:3E:22:07:40]


Creating swap on /dev/nube/siglas-swap
Done

Creating ext4 filesystem on /dev/nube/siglas-disk
Done
Installation method: debootstrap
Done

Running hooks
Done

No role scripts were specified.  Skipping

Creating Xen configuration file
Done

No role scripts were specified.  Skipping
Setting up root password
Generating a password for the new guest.
All done


Logfile produced at:
     /var/log/xen-tools/siglas.log

Installation Summary
---------------------
Hostname        :  siglas
Distribution    :  jessie
MAC Address     :  00:16:3E:22:07:40
IP Address(es)  :  172.31.91.200
RSA Fingerprint :  27:d1:95:2d:5c:aa:f8:b5:0b:0e:13:d6:08:ef:f0:b3
Root Password   :  9nVvYzLfYBQwGWRgAsqk5dr

Ya tenemos creada la maquina virtual si verificamos el volumen lógico de lvm, debemos tener creados los discos de dicha maquina virtual

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/nube/siglas-swap
  LV Name                siglas-swap
  VG Name                vg0
  LV UUID                wW7HwM-SVs9-0ZBM-WDpo-AQkV-FORR-mKB9eF
  LV Write Access        read/write
  LV Creation host, time kannon, 2017-01-06 21:32:03 -0400
  LV Status              available
  # open                 1
  LV Size                512,00 MiB
  Current LE             16
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0
  
  --- Logical volume ---
  LV Path                /dev/nube/siglas-disk
  LV Name                siglas-disk
  VG Name                vg0
  LV UUID                eW4mOM-HATa-eMQx-8RiK-6RvH-DGW8-xpTU0k
  LV Write Access        read/write
  LV Creation host, time kannon, 2017-01-06 21:32:04 -0400
  LV Status              available
  # open                 1
  LV Size                50,00 GiB
  Current LE             1600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:1
Ahora solo nos queda configurar la interfaz  bridge con la que iniciaremos la MV e iniciar la Maquina virtual con el comando xl
 vi /etc/xec/siglas.conf

vamos a la linea y agregamos el bridge

vif         = [ 'ip=172.31.91.200 ,mac=00:16:3E:72:B9:23, bridge=ovsbr0' ]
Guardamos y ahora si iniciamos la maquina virtual 
# xl create /etc/xen/siglas.conf  
si todo ha ido bien, podemos ver como la maquina virtual esta corriendo.
# xl list
Name                                        ID   Mem VCPUs    State    Time(s)
Domain-0                                  0    1018      1       r-----     251.4
siglas                                        2    6144     1       -b----     193.1

hacemos ping a la ip configurada

$ ping 172.31.91.200
PING 172.31.91.200 (172.31.91.200) 56(84) bytes of data.
64 bytes from 172.31.91.200: icmp_seq=1 ttl=63 time=0.768 ms
64 bytes from 172.31.91.200: icmp_seq=2 ttl=63 time=0.681 ms
64 bytes from 172.31.91.200: icmp_seq=3 ttl=63 time=0.497 ms
64 bytes from 172.31.91.200: icmp_seq=4 ttl=63 time=0.547 ms
64 bytes from 172.31.91.200: icmp_seq=5 ttl=63 time=0.642 ms
64 bytes from 172.31.91.200: icmp_seq=6 ttl=63 time=0.502 ms
64 bytes from 172.31.91.200: icmp_seq=7 ttl=63 time=0.481 ms
64 bytes from 172.31.91.200: icmp_seq=8 ttl=63 time=0.512 ms

--- 172.31.91.200 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 6997ms
rtt min/avg/max/mdev = 0.481/0.578/0.768/0.102 ms
Realizando pruebas con el navegador podemos chequear que la maquina virtual ya es parte de la red existente.

miércoles, 17 de agosto de 2016

Instalar Docker en Debian Jessie

Hace tiempo que trabajo, estudio o invierto mi tiempo con esto de las tecnologías de virtualización que existen, recuerdo que pasé unos 4 meses estudiando, investigando y tratando de usar xen bajo debian, hace ya unos años, ni recuerdo cuantos ya.

Hubo un momento que leí sobre contenedores en Linux pero la verdad no presté mayor atención a ese tema, recuerdo que fue LXC, algo que ni vi en su momento. Nuevamente retomo las lecturas sobre contenedores, gracias a un amigo que me recomendó ver Docker, pensé otra cosa que aprender, pero bienvenido sea.

Dando los primeros pasos para la instalación de Docker me encontré con varias formas de realizarlo, varias guias, como esta pero por la versión de debian que usaba en ese momento, no contaba con la ultima versión de docker y no me reconocía comandos como docker  network, por nombrar uno. Quizás se preguntarán que es Docker, pues pueden leerlo aqui y en muchos otros sitios que seguro encontraran en internet, o mejor en la propia pagina del proyecto
La guía de instalación la pueden encontrar aqui y los manuales de usuario lo pueden encontrar en el siguiente enlace. Pero tambien hay  podemos instalar de la siguiente forma.





0. Borrar paquetes viejos o de lxc, en caso de estar instalados:
#apt-get purge lxc-docker*
#apt-get purge docker.io*

1. Vamos a la siguiente dirección página :
https://get.docker.com/
Es un script de instalación, en el que podemos ver lo siguiente.


This script is meant for quick & easy install via:
#   'curl -sSL https://get.docker.com/ | sh'
# or:
#   'wget -qO- https://get.docker.com/ | sh'
#
# For test builds (ie. release candidates):
#   'curl -fsSL https://test.docker.com/ | sh'
# or:
#   'wget -qO- https://test.docker.com/ | sh'
#
# For experimental builds:
#   'curl -fsSL https://experimental.docker.com/ | sh'
# or:
#   'wget -qO- https://experimental.docker.com/ | sh'



2. Seleccionamos  wget -qO- https://get.docker.com/ | sh:
Esto nos hará la instalación de Docker de forma sencilla




 Podemos ver el progreso de la instalación

 


y el resultado final de la instalación, podemos ver que es la versión actual de Docker, si buscamos en la pagina oficial, podremos ver la versión del sistema.    

 


Si deseas usar Docker con un usario sin privilegios root (Recomendado)

3. Dar acceso de docker a usuarios no root:

 usermod -aG docker tu-usuario

3.1 Agregar el grupo docker si no existe:
$sudo groupadd docker

9.2 Agregar al usuario al grupo docker:
$ sudo gpasswd -a ${USER} docker

9.3 Reiniciar el demonio docker:
$sudo service docker restart


jueves, 21 de abril de 2016

Configurar Mikrotik con MetroEthernet Cantv

Continuando con Cantv, esta vez usaremos un RB750 de mikrotik para conectarnos a la red metroEthernet, en esta oportunidad usaremos ip reales y válidas ( es un enlace que ya tengo configurado).


vlan_id 312
WAN: 201.XXX.XX.76/30
LAN: 201.XXX.XXX.160/29

Ya conocemos las mascaras de red según lo que vimos en la entrada anterior.  Nos conectamos a mikrotik con la herramienta winbox


Borramos toda la configuración que tiene por defecto el equipo, en la opción remove configuration.


Ya teniendo nuestro MKT limpio procedemos a realizar la configuración para conectarnos a la red CANTV.


Vamos a la pestaña intefaces - Vlan y damos en el signo "+" para agregar una vlan con el id de la vlan dada por cantv. Quedando de esta forma

 


Una vez creada(s) la(s) Vlan(s), vamos al panel, en ip seleccionamos address para configurar las mismas.  Siempre con la opción "+" vamos a agregar lo que se requiera.


Configuramos los DNS, barra de herramientas ip, seleccionamos DNS, y con hacer click en server podemo agregar los dns que quieras, en este punto al hacer click en la flecha de abajo, puedes agregar cuantos dns quieras.


Procedemos a configurar las rutas, barra de herramientas ip, seleccionamos rute list, nuevamente "+" y agregamos la ruta 0.0.0.0 el gateway es el que corresponde a nuestra wan con mascara /30





Procedemos a realizar pruebas de conexión 


Ahora para usar el equipo y que sirva de router a algun servidor que requiera ver hacia internet. Deben configurar en alguna otra interfaz la IP LAN que les da cantv y conectar alli el servidor, siendo el Mikrotik el gateway de dicho servidor.







Configurar pfsense con MetroEthernet Cantv

Saludos, en vista que he recibido muchos correos solicitando ayuda para la configuracion de Pfsense y/o Mikrotik con el servicio MetroEthernet de Cantv, me decidí a escribir algo que pueda ayudar a esas personas que buscan resolver con lo poco que puedan tener a mano y de paso, me sirve para cuando necesite revisar apuntes.

Varias veces nos comunicamos con  cantv, para indagar de como hacíamos para poner a funcionar el aparato un telindus 1424,  nos decían que necesitábamos un ingeniero especialista en redes y un   router "cisco" o parecido, que si no era eso, ellos no garantizaban la conexión, cierto que con tecnologías mas viejas como frame relay, necesitamo de interfaces específicas para lograr la conexión, ahora, con conexiones basadas en ethernet, es mucho lo que podemos ahorranos con solo "exportar" las configuracione de cisco a otros routers.

Y cuando me refiero a exportar no es exportar literalmente , es simplemente ver las configuraciones que existen en estos y tratar de realizar el trabajo en los equipos que tenemos.

Lo primero que debemos tener a mano, una vez que cantv ha realizado la instalacion del servicio, son las VLANS con las que trabajaremos, estas vlans nos la provee CANTV para realizar las conexiones con su red.


1. Llamar a cantv
2. Al hablar con el operador, pedirle el vlan id (489 por ejemplo), la wan
  y la lan.
  quedando así:

  (direcciones ip inventadas)
  vlan_id 489
WAN: 201.250.55.17/30
LAN: 201.250.54.16/29

  OJO:  el netmask está en CIDR (/30 y /29).

3. vamos a una calculadora ip (
  http://www.aprendaredes.com/cgi-bin/ipcalc/ipcalc_cgi),  y la cosa nos
  queda así para la wan y la lan,

 WAN
 Address:     201.250.55.17         11001001.11111010.00110111.
000100 01
Netmask: 255.255.255.252 = 30 11111111.11111111.11111111.111111 00
Wildcard: 0.0.0.3 00000000.00000000.00000000.000000 11
Network:     201.250.55.16/30     11001001.11111010.00110111.000100 00
HostMin: 201.250.55.17 11001001.11111010.00110111.000100 01
HostMax: 201.250.55.18 11001001.11111010.00110111.000100 10
Broadcast: 201.250.55.19 11001001.11111010.00110111.000100 11
Hosts/Net: 2 Class C

LAN
Address:  201.250.54.21         11001001.11111010.00110110.00010 101
Netmask: 255.255.255.248 = 29 11111111.11111111.11111111.11111 000
Wildcard: 0.0.0.7 00000000.00000000.00000000.00000 111
Network:   201.250.54.16/29     11001001.11111010.00110110.00010 000
HostMin: 201.250.54.17 11001001.11111010.00110110.00010 001
HostMax: 201.250.54.22 11001001.11111010.00110110.00010 110
Broadcast: 201.250.54.23 11001001.11111010.00110110.00010 111
Hosts/Net: 6 Class C

Así deducimos que nuestra ip pública es la 201.250.55.18, de la wan, y
nuestro gateway es 201.250.55.17.
Asumiendo que la interfaz de red soporta vlans, Con esta información y los datos de las direcciones ip, procedemos a configurar la vlan en pfsense. 
   En esta vista podemos observar que hay una NIC disponible que usaremos para hacer la vlan que se conectará a Cantv

 Hacemos Click en el signo  "+" para crear la vlan

 Procedemos a crear la vlan con la informacion suministrada por el proveedor cantv


Creada la Vlan, asignamos y configuramos el puerto para su uso.



 Por ultimo habilitamos y configuramos la interfaz 



                                         

Con esto ya deberia tener su router Pfsense conectado y listo para ser el gateway/firewall de su red. Deben configurar dns y rutas para la salida a internet