Quagga nao sabe nada de tabela so sistema operacional, o que ele vai fazer é, por exemplo, se o zebra estiver ativo e junto um daemon como ospf ou bgp, injetar a rota com metrica 0 ou outra dependendo da preferencia que ele resolver conforme o protocolo entregar.
Se voce pensa em fazer algo do tipo PBR, tera que apelar para o IPFW ou PF e manipular neles. O máximo que dá para fazer é algum route-map + match e manipular o next-hop. > -----Original Message----- > From: [email protected] [mailto:[email protected]] > On Behalf Of Danton Dorati > Sent: quinta-feira, 3 de setembro de 2009 08:43 > To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)" > Subject: Re: [FUG-BR] [patch] add support setfib(1) in rc.d/routing > > Acredito que não, fib é a nível kernel, tanto que precisa estar compilado com > a opção ROUTETABLES=N para que possa usar esse recurso. > > > Rafael Ganascim wrote: > > Aproveitando o assunto.... > > > > Sera que o quagga de alguma maneira pode trabalhar com as varias > > tabelas? Ou ele consegue apenas usar a main? > > > > > > 2009/9/2 Danton Dorati <[email protected]>: > > > >> Para aqueles que já estão familiarizados com o novo recurso de poder > >> manipular várias (no total 16) tabelas de roteamento (fib) > >> no FreeBSD aqui vai um patch, mesmo que ainda não oficial (já foi > >> submetido um PR para adicionar esse recurso), > >> para poder manipular através do rc.conf, rotas defaults de cada tabela > >> (defaultrouter_fibN) e rotas estáticas (static_routes_fibN), > >> onde "N" é número da tabela de roteamento que deseja manipular > >> (lembrando que a primeira fib é a 0). > >> > >> # fetch -o /usr/src/rc.d-routing_man-rc.conf.patch > >> "http://www.freebsd.org/cgi/query-pr.cgi?prp=132476-1- > txt&n=/patch.txt" > >> # patch -d /usr/src -p0 < /usr/src/rc.d-routing_man-rc.conf.patch > >> # cp -p /etc/rc.d/routing /etc/rc.d/routing.old > >> # cp /usr/src/etc/rc.d/routing /etc/rc.d > >> # chmod +x /etc/rc.d/routing > >> # cp -p /usr/share/man/man5/rc.conf.5.gz > >> /usr/share/man/man5/rc.conf.5.gz.old > >> # gzip -cn /usr/src/share/man/man5/rc.conf.5 > > >> /usr/share/man/man5/rc.conf.5.gz > >> > >> Para mais informações do novo recurso. > >> # man rc.conf > >> > >> Obs.: Eu mesmo fiz alguns testes, inclusive com servidores em produção, > >> ou seja rebootei as máquinas e usei os comandos: > >> > >> Muita atenção em executar esses comandos em máquinas remotas. > >> # /etc/netstart > >> # /etc/rc.d/routing (stop|start|restart) > >> > >> Acredito que esse Problem Report ainda não foi "committado", pois > >> quando se deixa de usar a forma padrão para atribuir > >> uma rota default na fib 0 e passa a usar especificando a tabela de > >> roteamento (defaultrouter_fib0="IP"), ou seja ignorando > >> defaultrouter="IP", a máquina fica sem rota de saída para internet. Ou > >> seja o uso dessa opção ainda é necessário (obrigatório) > >> caso queira que continue tendo conectividade com o mundo externo > >> (nuvem). No entanto é bem simples de corrigir esse pequeno > >> "bug" (patch do patch). Basta adicionar o seguinte no arquivo > >> /etc/rc.d/routing na função "static_start()": > >> > >> Logo abaixo de "_fibs_num=`sysctl -n net.fibs`" > >> > >> if [ -z "${defaultrouter}" ] || [ "${defaultrouter}" = "NO" ] && > >> [ -n "${defaultrouter_fib0}" ]; then > >> defaultrouter=${defaultrouter_fib0} > >> fi > >> if [ -z "${defaultrouter}" ] || [ "${defaultrouter}" = "NO" ] && > >> [ -z "${defaultrouter_fib0}" ]; then > >> defaultrouter="NO" > >> fi > >> > >> Ficando parecido com esse trecho: > >> > >> ... > >> static_start() > >> { > >> _fibs_num=`sysctl -n net.fibs` > >> if [ -z "${defaultrouter}" ] || [ "${defaultrouter}" = "NO" ] && > >> [ -n "${defaultrouter_fib0}" ]; then > >> defaultrouter=${defaultrouter_fib0} > >> fi > >> if [ -z "${defaultrouter}" ] || [ "${defaultrouter}" = "NO" ] && > >> [ -z "${defaultrouter_fib0}" ]; then > >> defaultrouter="NO" > >> fi > >> if [ -n "${static_routes}" ]; then > >> static_routes_fib0=${static_routes} > >> fi > >> if [ -n "${defaultrouter}" ]; then > >> defaultrouter_fib0=${defaultrouter} > >> fi > >> > >> # Setup static routes. This should be done before router discovery. > >> ... > >> > >> > >> > >> > >> -- > >> Atenciosamente, > >> Danton Dorati > >> > >> http://www.freebsdbrasil.com.br > >> Telefone/Fax: (31) 3516 0800 > >> FreeBSD Brasil - FreeBSD Brasil LTDA > >> Avenida Getulio Vargas, 54 - 3º andar > >> Funcionarios - Belo Horizonte. > >> > >> "Happiness is nothing more than good health and a bad memory." > >> > >> ------------------------- > >> Histórico: http://www.fug.com.br/historico/html/freebsd/ > >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > >> > >> > > ------------------------- > > Histórico: http://www.fug.com.br/historico/html/freebsd/ > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > > > > -- > Atenciosamente, > Danton Dorati > > http://www.freebsdbrasil.com.br > Telefone/Fax: (31) 3516 0800 > FreeBSD Brasil - FreeBSD Brasil LTDA > Avenida Getulio Vargas, 54 - 3º andar > Funcionarios - Belo Horizonte. > > "Happiness is nothing more than good health and a bad memory." > > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

