Vlans no Vyatta

Publicado: 23/08/2010 em Roteamento
Tags:, , , , ,

No vyatta configurar uma interface como trunk e por sub-interfaces é bem simples.
Vamos criar as vlans 10 e 20 na eth1 e por os endereços de rede nelas

configure
set interfaces ethernet eth1 vif 10 address 192.168.10.1/24
set interfaces ethernet eth1 vif 20 address 192.168.20.1/24
commit

Pronto! Ja estão as 2 vlans na interface eth1, simples não??

Precisando fazer um roteador/firewall pra rede?? Ta com preguiça de customizar tudo do zero de uma distro linux ou não tem conhecimento para isso?

Apresento-lhes o Vyatta!!

Vyatta

http://www.vyatta.com

O que é

Vyatta é uma distribuição linux(feita sobre o debian) para atuar como roteador. Bom tem toda uma empresa por traz que inclusive vende appliance dele, suporte e afins.

A ideia é basicamente concorrer com fabricantes como a Cisco no mercado de roteadores. Por ser tratar de um sistema linux não fica dificil de ter um otimo desempenho a um custo muito mais acessivel(exemplo uma maquina dualcore com 2gb de ram e 2 interfaces gigabit saem muito mais barato que um roteador com a mesma configuração).

Oque ele suporta

Quase tudo!

RIP,OSPF,BGP,IPv6, SNMP, PPPOE, VRRP, VLANS(802.1Q), VPN,QOS,FIREWALL,BALANCEAMENTO DE CARGA,e a lista vai embora …

Ta mas eu tenho experiencia com cisco e quase nada com linux

A ideia  dele é ser configurado como um ROTEADOR mesmo e não como um linux, inclusive mantendo o padrão de ter um arquivo onde fica toda a configuração. Sendo que a sintaxe dele fica bem proxima de um roteador juniper.

Quero testar o bixo, como eu faço

Baixe a Iso no site e rode numa maquina… ele roda como live cd mesmo, e inclusive da pra “brincar” com ele em maquina virtual e caso goste instale ele num hd.

Parte legal, vamo por a mão no bixo!

Após iniciar a maquina, ele cai na tela de login, onde podemos logar com o usuário vyatta e a senha vyatta.

Para entrar no modo de configuração, digitamos “configure” como em um roteador.

Para configurar algo usamos a palavra set, podemos então por exemplo

set interfaces ethernet eth0 address 192.168.1.1/24

Configura a interface eth0 com o ip 192.168.1.1

Note que apertando tab uma vez ele lista os possiveis comandos, e apertando 2 vezes ele lista e exibe uma pequena descrição

Podemos agora digitar commit, para ele aplicar as configurações ou discard para ele exclui as alterações.

Configurando um NAT SIMPLES
Bom vou exemplificar como configurar um nat para compartilhar a internet bem simples
Primeiro: configurar as interfaces de rede, uma para a internet e outra para a rede interna

set interfaces ethernet eth0 address dhcp
set interfaces ethernet eth0 description “entrada-internet”
set interfaces ethernet eth1 address 192.168.1.1/24
set interfaces ethernet eth1 description “rede-interna”

Segundo configurar o NAT propriamente dito
Para isso basta adicionar o serviço e criar uma regra. A regra que vou criar é para todo o trafego saindo pela interface eth0

set service nat rule 10
set service nat rule 10 outbound-interface eth0
set service nat rule 10 type masquerade

Agora basta dar um commit que ja ta roteando!, Fácil não?

DHCP PARA A REDE INTERNA
Assim como o nat, o dhcp é bem simples de ser configurado

Declara o nome do escopo,rede, inicio e fim

set service dhcp-server shared-network-name rede-interna subnet 192.168.1.1/24 start 192.168.1.30 stop 192.168.1.50

Declara o gateway

set service dhcp-server shared-network-name rede-interna subnet 192.168.1.1/24 start 192.168.1.30 stop 192.168.1.50

Declara o dns a ser usado

set service dhcp-server shared-network-name rede-interna subnet 192.168.1.1/24 dns-server 200.200.200.200

Caso queira pode apertar tab e ele lista todas as configurações possiveis do dhcp

DNS
Facil também, porém ele a principio so trabalha como forward(lembre-se ele é feito pra ser um roteador, mas depois escrevo um tutorial pra ele fazer a resolução por ele mesmo)
Caso seu provedor use ip dinamico e voce queira que ele pegue o endereço de forward pelo dhcp do provedor(supondo que eth0 é a placa onde está conectado o provedor)

set service dns forwarding dhcp eth0

Caso queira especificar manualmente

set service dns forwarding name-server 200.200.200.200

E finalmente especificar a interface onde ele vai “ouvir” as solicitações de consulta

set service dns forwarding listen-on eth1

SSH para acesso remoto
Facil!

set service ssh

COMMIT!

Apos ter feito as configurações basta rodar o comando o seguinte comando para ele aplicar as alterações

commit

Caso tenha instalado ele em um disco o comando “save” também é bem util, que salva as configurações para quando ele seja reiniciado ele ja carregue está configuração.

Debug de problemas
Fora do modo de configuração

Ver configurações

show configuration

Ver as interfaces e ips configurados

show interfaces

Tabela de roteamento

show ip route

E os comando mais basicos continuam valendo como ping, traceroute e afins.

Configuração final deste exemplo:

interfaces {
ethernet eth0 {
address dhcp
description entrada-internet
hw-id 08:00:27:de:35:56
}
ethernet eth1 {
address 192.168.1.1/24
description rede-interna
hw-id 08:00:27:b9:6e:7f
}
loopback lo {
}
}
service {
dhcp-server {
shared-network-name rede-interna {
subnet 192.168.1.1/24 {
default-router 192.168.1.1
dns-server 200.200.200.200
dns-server 192.168.1.1
start 192.168.1.30 {
stop 192.168.1.50
}
}
}
}
dns {
forwarding {
dhcp eth0
listen-on eth1
name-server 200.200.200.200
}
}
nat {
rule 10 {
outbound-interface eth0
type masquerade
}
}
ssh {
}
}
system {
login {
user vyatta {
authentication {
encrypted-password ****************
}
}
}
ntp-server 0.vyatta.pool.ntp.org
package {
repository community {
components main
distribution stable
url http://packages.vyatta.com/vyatta
}
}
syslog {
global {
facility all {
level notice
}
facility protocols {
level debug
}
}
}
}

Bom é isso, qualquer duvida tamo ae!