ifconfig, você ainda usa?


tapeUltimamente venho percebendo que algumas coisas que deveriam ser extintas, não são. Não tenho nada contra se manter coisas depreciadas por compatibilidade, mas definitivamente, as distribuições modernas deveriam abolir ferramentas como o ifconfig. Ok, pode me bater se quizer, mas o por que utilizar uma ferramenta depreciada e limitada, se você pode utilizar algo extremamente mais moderno?

Normalmente as pessoas insistem em se manter na tal da “zona de conforto”. Eu confesso que certamente sou um dos que por comodidade muitas vezes prefiro manter as coisas como estão, só que definitivamente, já há algum tempo aboli duas ferramentas do meu repertório… ifconfig e route. Obviamente, me refiro ao ifconfig do Linux, pois em sistemas BSD, o ifconfig não te obriga a criar uma interface alias, ao invés de somente adicionar um IP alias em sua placa de rede…

Desde 1999 (ainda no kernel 2.2) foi liberado publicamente o iproute2, que nada mais é que uma série de utilitários escritos a fim de modernizar e compatibilizar os sistemas GNU/Linux com os outros sistemas operacionais de rede, como o IOS e outros que habitam diversos ativos de rede por aí. Além disso, o iproute2 traz uma ferramenta específica para controle de tráfego, coisa que (pasmem) muita gente ainda acredita que não exista no Linux.

Talvez você ache inútil trocar de ferramenta, mas fica extremamente claro que você precisa usar algo mais moderno quando vc tiver mais de 2 ips alias na mesma interface de rede. Eu realmente acho idiota, e totalmente ridículo existir os aliases eth0:1, eth0:2, eth0:3 e assim sucessivamente se na realidade, você só está colocando um ip alias na eth0. Não concorda que o comportamento dos BSDs são mais inteligentes, que simplesmente listam os aliases na mesma interface com o nome de alias? Então, já está aí uma boa justificativa para começar a usar o iproute2 pois agrega os endereços em uma mesma interface.

Se você achou que esta justificativa é insuficiente para largar o seu velho e conhecido ifconfig, tudo bem, mas e se eu te disse que a mesma ferramenta que você configura seu IP também configura o roteamento do seu sistema? Ohhhh! incrível! Poisé, o mesmo comando configura sua interface e ainda configura a tabela de roteamento do seu sistema!

Ainda não acha que é uma boa justificativa? Tudo bem, eu compreendo. Mas essa ferramenta apesar de tão simples e intuitiva ainda é capaz de gerenciar o tráfego de sua rede! Complicado de entender? Não acho. Imagine, seu sistema é responsável por gerenciar diversos links diferentes e você precisa priorizar o tráfego de determinado serviço. Sim, você pode criar uma rota e mandar tudo que vem da origem X sair pelo link Y, mas normalmente, depois de alguns dias, ao verificar a tabela de roteamento você não vai entender o que significa aquele amontoado de rotas que parecem não dizer nada. O iproute2 te auxilia bastante nesse sentido. Se você tem conjuntos de servidores por determinados serviços, você pode agrupá-los em rules e definir o tráfego através dessas rules. Depois, quando precisar listá-las, o que você poderá ver é uma lista nomeada de “o quê é o quê” e “pra onde vai o quê”.

Apesar de tudo isso, o maior mérito do iproute2 ainda é a ferramenta tc, que gerencia o controle de banda do Linux. Incrível é o fato de muitos SysAdmins não sabem sobre esta ferramenta. Ouvem muito falar sobre HTB e CBQ, e acreditam que HTB e CBQ sejam comandos ou programas, quando na verdade são qdiscs (Queue Disciplines) gerenciadas através do tc.

Tudo isso é realmente trivial, reconheço, só que acredito que seja importante nos renovarmos e nos compatibilizarmos com as outras ferramentas, que afinal, seguem o mesmo padrão. Talvez muitos SysAdmins não acreditem tanto na necessidade de mudança, pois normalmente a preocupação de um SysAdmin é acima da camada de rede, mas para um profissional de rede, essa mudança é de extrema importância. Apesar de eu ser um SysAdmin, tenho formação específica na área de rede, e talvez por isso seja tendêncioso e acredito na necessidade desta mudança, não só de ferramenta, mas de pensamento.

Se você se concorda com isso, o primeiro passo é ler bastante sobre o que o iproute2 pode fazer. Como esse artigo não tem a finalidade de ensinar nada, eu aconselho a leitura de dois documentos; Linux Advanced Routing & Traffic Control HOWTO e o HTB Manual - Ambos são ótimas fontes de informação sobre em que o iproute2 pode te ajudar.

  1. No comments yet.
(will not be published)
  1. No trackbacks yet.