Conheça o Vyatta, o roteador livre e aberto que está revolucionando o mercado de equipamentos de gerenciamento de rede, apontado como concorrente direto dos produtos de mesma linha da Cisco. Aprenda a configurar um pequeno e básico gateway para sua rede com DHCP, firewall, proxy transparente e compartilhamento de conexão.
Até o momento, configuramos o acesso à rede 192.168.0.0/24 e à internet sem nenhuma restrição, ou seja, todo e qualquer computador da rede 10.0.0.0/24 pode acessar qualquer recurso externo, além de o próprio Vyatta estar acessível a partir de qualquer computador de qualquer uma das redes às quais ele está ligado, o que não é nada bom do ponto de vista da segurança. Temos que restringir o acesso e, para isso, vamos usar os recursos de firewall do Vyatta.
Antes de iniciar a configuração, é preciso entender como o Vyatta organiza as regras de firewall. O processo consiste de duas etapas: primeiro, cria-se um grupo de regras, que recebe um nome para fácil identificação e, depois, esse conjunto de regras é associado a uma interface de rede.
Cada interface de rede pode ter associadas no máximo três conjuntos de regras de firewall, sendo uma para cada direção do tráfego de rede. As direções aqui são:
in: tráfego que entra pela interface com destino a um computador de outra rede;
out: tráfego saindo pela interface vindo de um computador de outra rede;
local: tráfego entrando pela interface com destino ao Vyatta ou com origem no Vyatta saído pela interface.
Sabendo isso, vamos começar criando um conjunto de regras que permita à estação do administrador (10.0.0.199) acessar a internet. Para que isso seja possível, os seguintes acessos deverão ser liberados:
Acesso à porta 80/TCP de qualquer IP;
Acesso à porta 53/UDP dos servidores DNS (192.168.0.72 e 192.168.0.74).
Como o tráfego tem origem na LAN com destino à internet, vamos chamar esse conjunto de regras de "lan-net".
Com esses dados em mãos, vamos criar a primeira regra do nosso firewall:
# edit firewall name lan-net rule 1
# set description "Administrador acessar a internet"
# set source address 10.0.0.199
# set destination port 80
# set protocol tcp
# set state new enable
# set state established enable
# set action accept
# exit
Agora, vamos liberar o acesso aos servidores DNS, regras 2 e 3:
# edit firewall name lan-net rule 2
# set description "Administrador acessar DNS"
# set source address 10.0.0.199
# set destination address 192.168.0.72
# set destination port 53
# set protocol udp
# set state new enable
# set state established enable
# set action accept
# exit
# edit firewall name lan-net rule 3
# set description "Administrador acessar DNS"
# set source address 10.0.0.199
# set destination address 192.168.0.74
# set destination port 53
# set protocol udp
# set state new enable
# set state established enable
# set action accept
# exit
Agora, precisamos associar essas regras a uma interface de rede. No nosso caso, as regras se aplicam ao tráfego de rede que entra pela interface eth1 com direção à rede externa. Portanto, vamos aplicar essas regras na direção "in" da interface eth1 e usar o comando commit para que as regras de firewall entrem em vigor:
# set interfaces ethernet eth1 firewall in name lan-net
# commit
Tenha bastante atenção ao criar suas regras de firewall, pois a partir do momento que você as aplica em uma determinada direção de uma interface de rede, todo o tráfego relacionado que não for explicitamente liberado será bloqueado.
As três regras de firewall mostradas aqui são equivalentes aos seguintes comandos do iptables:
# iptables -A FORWARD -i eth1 -s 10.0.0.199 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i eth1 -s 10.0.0.199 -d 192.168.0.72 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i eth1 -s 10.0.0.199 -d 192.168.0.74 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i eth1 -j DROP
NOTA: Observe a última regra: nós não a criamos, ela foi aplicada automaticamente pelo Vyatta.
Com base nesse exemplo você poderá facilmente configurar outras regras de firewall para gerenciar o tráfego das redes conectadas ao seu roteador.
[1] Comentário enviado por maran em 25/03/2009 - 11:55h
Excelente, a tempos o coordenador de TI de onde trabalho, estava buscando uma ferramenta open, vou imprimir este teu artigo e mostrar para ele.
Grandes chances de estarmos usando este software logo logo.
Favoritos.
[2] Comentário enviado por elgio em 25/03/2009 - 12:19h
Fala Davidson (parafraseando o amigo!)
Legal, gostei. Baixei ele e dei uma brincada.
Claro, todos nós sabemos que uma máquina Linux pode bater qualquer roteador comercial em termos de poderes. Mas o legal desta ferramenta (seria uma distribuição?) é que ela "fala CISCO", ou seja, os comandos de configuração são idênticos ao encontrado em roteadores CISCO (s/idênticos/muito semelhantes/ )
Ate a configuração de regras por ACL pode ser feita.
Não encontrei comandos para criar uma vlan e uma interface nesta vlan, mas não sou muito familiarizado com sintaxe cisco.
Mas esperava algo como interface create, vlan create, interface add vlan ou algo parecido.
[4] Comentário enviado por pogo em 27/03/2009 - 11:27h
Davidson,
Parabéns pelo artigo cara! O Vyatta realmente é uma opção viável a roteadores Cisco, inclusive pode-se aproveitar o conhecimento adquirido com o trabalho em roteadores da marca, já que os comandos seguem uma sintaxe muito parecida. Não deveria causar espanto visto que o projeto é de um ex-funcionário da empresa hehehe
[5] Comentário enviado por silent-man em 27/03/2009 - 15:48h
Davidson Paulo,
Meus parabéns. Instalei o Vyatta e fiz alguns testes apenas como FW(NAT, DNAT, SNAT, FORWARD etc...) ele deu conta do recado. Sua interface web bem amigável e muito simples de administrar. Estava fazendo alguns teste com o Endian, que também é muito bom só que sua interface é um pouco complexa.
[6] Comentário enviado por poiaweb em 27/03/2009 - 17:08h
Davidson,
Primeiramente, meus parabéns, excelente artigo, tive a oportunidade de conhecer o projeto em 2007, desde então achei ele fantástico, já tive a oportunidade de comparar ele com os Cisco 1700, 2500 e com roteadores Cyclades.
Hoje posso dizer que o projeto Vyatta já está anos luz, conseguindo atender qualquer cenário hoje que necessite de um projeto de roteamento estático ou dinâmico, interligação de matrizes e filiais.
Infelizmente o que mata e as placas da Sangoma, que hoje no Brasil são muito caras, principalmente as de ADSL e Serial, mais no mercado já existem algumas paralelas para esse tipo de função, com isso conseguimos democratizar mais o projeto Vyatta.
Parabéns.
[8] Comentário enviado por davidsonpaulo em 07/04/2009 - 23:50h
netdovale, o Squid embutido no Vyatta não foi projetado para ser configurado através da edição direta do arquivo squid.conf, ao invés disso você deve usar a interface de gerenciamento do sistema em modo texto ou Web. Do segundo modo, basta você fazer as alterações e executar o comando "save".
[9] Comentário enviado por netdovale em 08/04/2009 - 13:00h
obrigado pela resposta speedtime, sim, em modo grafico nao achei opcao de acrescentar ACL ou mesmo o tamanho do cache_mem ou maximum_object_size, para config em modo texto nao achei documentcao com instruçoes, nos teste aqui que fiz ontem achei show de bola, o failover do loadbalance funcionou direitinho, ja o balanceamento nao sei se funcionou com balanceamneto de carga, eu tava acostumado a monitorar as eths com o iptraf, mas o vyatta nao tem, tentei ver pelo snmp mas apanhei demais hehehehe mas vou dar conta uma hora hehehehe, Davidsonpaulo vc faz consultoria tecnica, se sim, me passa um email me falando o preço da sua hora tecnica para suporte online.
[10] Comentário enviado por netdovale em 08/04/2009 - 19:06h
bom, to procurando tambem um bandwidth tipo o iptraf, usei este comando ai em baixo, mas eu queria algo pra monitorar em tempo real, aaaaaa com este ai deu pra ver que o balanceamento de carga ficou ezatos 50+50% testei com dois links o dia todo
[12] Comentário enviado por rogerio_gentil em 30/07/2009 - 09:54h
Excelente artigo. É muito importante a disseminação de informações como essa. Eu jamais iria imaginar um software livre concorrente direto da CISCO! Fiquei interessado e irei pesquisar mais sobre o Vyatta.
[14] Comentário enviado por luizvieira em 06/08/2009 - 08:52h
Muito interessante o projeto Vyatta. Confesso que não o conhecia, mas vou pesquisar e realizar alguns testes. Mas pelo que vejo é muito bem recomendado pelo pessoal :-)
Vale mesmo e está de parabéns seu artigo!
[ ]'s
Luiz
[15] Comentário enviado por rfranzen em 07/08/2009 - 11:08h
Legal o artigo... não conhecia o Vyatta... Ainda não olhei no site, mas fiquei na dúvida em como funcionam as atualizações e patches de segurança do sistema em si e dos softwares que ele utiliza (ex. squid)
[19] Comentário enviado por orvaquim em 10/09/2009 - 11:14h
Obrigado pelo artigo permite-nos em tao poucas paginas fazer algo funcional sem ter que ler a documentacao. Nao desrecomendo a documentacao oficial deles, claro.
Ha dias estava desesperado para ter uma solucao hotspot. E recordei-me do Vyatta e infelizmente nao encontrei em algum lado uma maneira de obrigar qualquer cliente hotspot a cadastrar-se logo que tentasse aceder os recursos de rede [isso com o vyatta]. Vencido pela urgencia e desconhecimento fui obrigado a usar outra alternativa baseiada em opensource mas comercial que o Mikrotik. Cada lincesa basica sao 45USD e ainda tenho clientes para responder.
Ha como fazer essa autenticacao com o Vyatta? E se posso usar FreeRadius para essa autenticacao?
[27] Comentário enviado por donabuba em 16/11/2010 - 09:11h
Nao estou conseguindo fazer a máquina virtual vyatta startar.
Fiz uma VM e configurei as interfaces de rede para a Rede Interna do Virtualbox, mas elas nao sobem. Quando eu mudo para NAT, tudo funciona. Só que eu preciso que fiquem na rede interna para poder faze-la comunicar-se com as outras máquinmas virtuais do cenário.
Alguém pode me ajudar?