[FUG-BR] [patch] add support setfib(1) in rc.d/routing

Danton Dorati danton em freebsdbrasil.com.br
Quinta Setembro 3 08:42:50 BRT 2009


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 <danton em freebsdbrasil.com.br>:
>   
>>  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."



Mais detalhes sobre a lista de discussão freebsd