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

