Configurando Interface de Rede na MÃO Ubuntu/Debian-Like

Standard

Olá galera hoje vamos falar do principal comando de configuração de interfaces de rede em sistemas Unix-Like, estamos falando do ifconfig….:P

O ifconfig (o cara no que tange a configurações de rede) é o principal comando para configurarmos interfaces em sistemas Unix-Like. A sua forma geral é “ifconfig opções | endereço”. Nós do appunix recomendamos a leitura da página do manual para ver todas as opções do ifconfig (no terminal digite “man ifconfig). Veremos a seguir alguns exemplos.

Todos os comandos foram executados como root (super Usuário)

Listar todas as interfaces e seus endereços IP

root@appunix:~#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1c:25:46:5e:6e
inet addr:201.73.142.78  Bcast:201.73.142.79  Mask:255.255.255.248
inet6 addr: fe80::21c:25ff:fe46:5e6e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:57256357 errors:0 dropped:0 overruns:0 frame:0
TX packets:40682591 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:326283899 (326.2 MB)  TX bytes:3038590514 (3.0 GB)
Interrupt:19 Base address:0xe800

eth2      Link encap:Ethernet  HWaddr 00:e4:d0:00:0b:0a
inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
inet6 addr: fe80::2e4:d0ff:fe00:b0a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:39869471 errors:0 dropped:0 overruns:0 frame:0
TX packets:56328102 errors:0 dropped:0 overruns:0 carrier:6
collisions:0 txqueuelen:1000
RX bytes:2975342908 (2.9 GB)  TX bytes:510873535 (510.8 MB)
Interrupt:18 Base address:0xec00

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:2461 errors:0 dropped:0 overruns:0 frame:0
TX packets:2461 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:712018 (712.0 KB)  TX bytes:712018 (712.0 KB)

Podemos ver na saida do comando ifconfig que no nosso PC temos 2 interfaces de rede, uma com IP público e outra com IP Privado (trata-se de um Servidor de Proxy)

root@appunix:~#ifconfig eth0 192.168.2.1 netmask 255.255.255.0 up

Configura a interface eth0 com o IP 192.168.2.1 e com a Máscara de Rede 255.255.255.0 (Máscara padrão para Ip de classe C)

Para derrubar uma interface:

root@appunix:~#ifconfig eth0 down

Levantar interface de rede

root@appunix:˜#ifconfig eth0 up

Se você configurou IP fixo em uma interface e quer que ela volte a receber IP pelo DHCP dê o comando

root@appunix:~#ifconfig eth0 0

Derrubar todas as interfaces e seus endereços de ip.

root@appunix:˜#ifdown -a

Levantando todas as redes de acordo com os dados do arquivo /etc/network/interfaces

root@appunix:˜#ifup -a

O arquivo interfaces contém toda configuração das interfaces de rede do seu PC (server), colocado por vc manualmente.

Exemplo de conteudo do arquivo interfaces

root@appunix:˜#cat /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf
provider dsl-provider

#eth0
auto eth0
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.0.255
gateway 192.168.2.1

#eth1
auto eth1
iface eth1 inet manual

#eth2
auto eth2
iface eth2 inet static
address 10.0.0.100
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.100

Caso não se sinta seguro pra configurar o arquivo interfaces você pode colocar todas as regras usando o ifconfig no arquivo /etc/rc.local (todas as regras nesse arquivo iniciaram juntamente com o sistema)

Para configurar um “alias” em uma interface

root@appunix:~#ifconfig eth0:1 192.168.2.2 netmask 255.255.255.0 up

Para mudar a MTU de uma interface(tamanho do maior datagrama que uma camada de um protocolo de comunicação pode transmitir)
root@appunix:~#ifconfig eth0 mtu 1440

Para configurar placa com uma conexão ponto-a-ponto:

root@appunix:~#ifconfig eth0 192.168.2.1 netmask 255.255.255.255 pointopoint 192.168.2.2

Para colocar e retirar uma interface do modo “Promíscuo” (a interface aceita
pacotes destinados a qualquer IP):

root@appunix:~#intertace eth0 promisc (Coloca)
root@appunix:~#interface eth0 -promisc (Tira)

O ifconfig também pode ser utilizado para se alterar o endereço MAC da placa!
Para alterar esse endereço é necessário que a placa esteja inativa. Exemplo:

root@appunix:~#ifconfig eth0 down (desativa a interface)
root@appunix:~#ifconfig eth0 hw ether 66:55:44:33:22:11 (altera o MAC)
root@appunix:~#ifconfig eth0 up (ativa a interface)

Galera esse how to foi feito e testado em várias versões do Ubuntu, possa ser que funcione também em outra distribuições como Fedora, Cento`s, Red Hat, Gentoo dentre outros….

Obrigado a todos pela visita, espero ter lhes ajudado. Qualquer dúvida entrem em contato.:D

Gnu/Linux e suas dificuldades na usabilidade (diversidade que pode matar)

Standard

Gnu/Linux sem dúvidas é a prática mais comum no mundo do Software Livre, em outras palavras, é o meio mais fácil e mais comum do mundo Open Source estar declarado em nosso dia-a-dia. Temos ferramentas de uso diário, que são open source e não percebemos, mas quando nos deparamos com o Gnu/Linux nós podemos afirmar – este realmente é free software (ainda que não tenhamos um conceito muito forte do que realmente é software livre, que muitos infelizmente interpretam como software gratuito). Isto, sem sombra de variação é muito fabuloso, pois este excelente sistema que já mostrou do que é capaz, e o melhor, deixou claro que tem seu código aberto para customizações e forks, estando disponível para qualquer pessoa, aonde quer que esteja.
Ao longo de 12 anos de convívio com o Gnu/Linux (tendo somente 5 anos como profissional neste ramo, prestando serviços, e outros 7 “ouvindo falar bem”) pude perceber algumas “metamorfoses” que não vieram e fixaram um conceito amigável de usabilidade.
Vou detalhar isto de maneira abrangente para que fique claro o que realmente desejo expor, a dificuldade na curva de aprendizado, devido a variações muito pesadas nas distribuições Gnu/Linux.
Em 1997 possuía um computador Pentium 133 mhz mmx 100% off-board e tenho um irmão que na época estava fazendo cursos da Conectiva (uma distribuição Gnu/Linux que tinha um corpo técnico que prestava consultoria e cursos), tendo assim um impulso forte para instalação desta distribuição, o que me fez “saber que existia um sistema operacional diferente do Windows 95”, sem contar que no ano seguinte o Macintosh havia se tornado “mais uma daquelas descobertas milenares”. Naquela “descoberta” ouvi falar que ele era Free Software, mas confesso que não fez diferença para mim.
Os anos se passaram, para ser mais preciso 7 anos, e depois de tantas tentativas de me familiarizar com “aquela tela preta, parecia de mais com o MS-DOS”, consegui instalar uma distribuição chamada Slackware. Levei a sério, e fui tomando gosto.
Na época o melhor guia, ou documentação brasileira disponível (ainda está disponível) é o perfeito e completo GuiaFoca, um manual do Gnu/Linux, baseado no Debian, mas operando de maneira simples e direta em outras distribuições.
Passei um ano estudando sem cessar este sistema operacional maravilhoso, o que me fez implementar algumas soluções baseadas em Software Livre no SENAC-PB, empresa que trabalhei durante 3 anos. Adquiri um conhecimento sólido nesta plataforma, mas com o passar do tempo necessitei partir para outras como Red Hat Enterprise, por exemplo, sem contar as distribuições desktop que estavam bombando nesta fase. Com a saída da antiga empresa para outra que prestava consultoria não obtive dificuldades em implementações para clientes, principalmente pelo fato do Slackware ser muito flexível e “bastante Unix”, não senti nada difícil nos primeiros meses.
Nesta etapa eu entendi quais os problemas que as distribuições Gnu/Linux sentiam, isto aos olhos do usuário final, por que o nível de curva de aprendizado torna-se alto quando entramos em uma distribuição comercial. Para que se tenha uma idéia, o CentOS (remasterização do Red Hat Enterprise, respeitando direitos autorais e imagens da instituição), caso seja instalado como servidor, com poucos pacotes default você não terá a ferramenta ifconfig disponível, mas espere, ifconfig é um utilitário disponível em todas as distribuições, isto é padrão, e nem todas usam o system-config. Quantas usam dpkg, apt ou aptitude? Quantas tem o RPM como gestor de pacotes? O Yum? O Yast, Yast2?
Sabemos que são particularidades em cada distribuição, e que tais particularidades visam a automatização de determinadas tarefas que comumente estão vinculadas com o sistema operacional que as implementam.
Neste momento entram as divergências em geral, pois entendemos que comandos básicos sempre serão respeitados, e que seus manuais são preservados de uma distribuição para outra, mas que nem sempre estão no mesmo lugar.
Localidades na árvore de estrutura de dados, nomes de arquivos de configuração, modalidade de configuração de rede a nível de arquivo e forma com que containers web trabalham é muito diversificada em cada distribuição. Isto dificulta no momento de colocar na cabeça de algum xiita de códigos fonte proprietários que o Gnu/Linux é bom!
Observem o estouro e magnitude de distribuições como Ubuntu e Fedora, a nível desktop, vejam o quão abrangentes e aceitáveis elas são, e o mais importante, o quão bem documentadas elas são, mas em uma suave visão diferenciada, tente usar os conceitos aprendidos em cada uma delas em um Gentoo, CentOs ou OpenSuse, talvez você não queira mais usar Gnu/Linux, ou melhor, fará distinção por conhecer todas as ferramentas/utilitários de uma e de outra não.
Deixo claro que o Gnu/Linux é a escolha certa para quem não quer dores de cabeça futuras, quer estabilidade e o melhor, segurança de suas informações garantidas por sistemas que têm geeks de milhares de lugares dedicando-se na provisão de códigos de altíssimo nível e de escalabilidade monstruosa.
Minhas recomendações para marinheiros de primeira viagem:

• Use Ubuntu/Fedora para desktop, principalmente o Ubuntu que permite upgrades de versão do Sistema Operacional de maneira mais segura,
• Use CentOs/Ubuntu/Slackware ou Debian em seus servidores, principalmente Ubuntu/Debian que permitem upgrades de versões sem maiores dores de cabeça,
• Use Ubuntu/Fedora em escritórios, principalmente por sua quantidade enorme de drivers (módulos) para impressoras e etc.

Existem outras distribuições Gnu/Linux que têm tido muito prestígio, como por exemplo cito o Mandrake, empresa que assumiu a Conectiva e que tem se destacado pela ampla gama de produtos e suporte de qualidade, sendo hoje conhecida como Mandriva. OpenSuse, outra distribuição muito respeitada, versão Grátis e de código fonte aberto, 100% baseada no Suse Enterprise, mantido pela comunidade open source do mundo inteiro, esta é bastante amigável também.
Lembre-se que uma distribuição deve primar por conceitos de segurança, estabilidade e alto desempenho, principalmente, deverá ser bem documentada, e trivialmente falando, documentada maciçamente sobre suas ferramentas em particular.
Gestores de pacotes também são algo que tornam a problemática maior, por que os pacotes .DEB e .RPM imperam, seguidos de seus gestores deb/apt/aptitude e RPM/up2date/yum. Sabemos que é simples compilar algo (em alguns casos, devido requerimento de paths para libs a situação poderá complicar-se) e ajustar paths de destino, mas nem tudo isto brilha aos olhos dos mantenedores de software, tanto pelo nível de dificuldade avaliado para compilações e geração de source pré-compilado na plataforma como pela simplicidade de gestão (upgrade, downgrade e patching em geral).
Quanto ao GuiaFoca, este ainda é a melhor alternativa em documentação Gnu/Linux (falando de maneira geral), mas não atenha-se ao mesmo pois as distribuições estão mudando e agora parecem que estão tomando “independência” ou pensam em seguir assim, longe de padrões LSB.
Aprender sempre é bom, mas não atenha-se a distribuições muito individualistas, isto poderá complicar sua vida em um futuro muito próximo, principalmente no que tange ciclo de vida da versão do sistema ou até descontinuidade do projeto adotado por você ou por sua empresa (vide distribuições como Kurumin que tinham excelente iniciativa, mas que estão agonizado neste momento, Conectiva – adquirida pela Mandrake e outras).

As particularidades excessivas das distribuições estão levando as distribuições que adotam esta modalidade de negócio/serviço para uma ilha de destaque e talvez solidão.

Muito cuidado com sua escolha!

Abraços a todos e bom trabalho/estudo.