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!!

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!