# Gerenciamento de rede no Debian
## Debian

O Debian é um sistema operacional (SO) livre, ou seja, sua distribuição é gratuita. Não há necessidade de se pagar para usufruir de suas funcionalidades. Ele oferece mais de 43000 pacotes contendo softwares pré-compilados e distribuídos em um bom formato, o que permite uma fácil instalação deles em sua máquina.

### História

Foi lançado em 16 de agosto de 1993. Seu fundador foi Ian Murdock, que na época era estudante universitário e liderou o projeto até março de 1996. Ian pretendia que o projeto fosse criado abertamente, seguindo o exemplo do Linux e do GNU, e escreveu o Manifesto Debian, que recorre para a criação e manutenção de uma distribuição Linux de maneira aberta.
O projeto começou com um pequeno grupo de fortes hackers do Software Livre e cresceu aos poucos, até se transformar em uma comunidade mundial de desenvolvedores voluntários, que tem as suas contribuições reguladas por uma constituição, formada por vários documentos que organizam o desenvolvimento do projeto. O Debian é a única distribuição significativa do Linux que não se caracteriza como uma entidade comercial.
Com a criação do Debian, foi iniciada a organização Software de Interesse Público, que atua sem fins lucrativos e ajuda o Debian e outras organizações que desenvolvem softwares livres.
As pessoas que foram lideres desde o início do projeto são:
* Ian Murdock (agosto de 1993 até março de 1996), fundador do Projeto Debian;
* Bruce Perens (abril de 1996 até dezembro de 1997);
* Ian Jackson (janeiro de 1998 até dezembro de 1998);
* Wichert Akkerman (janeiro de 1999 até março de 2001);
* Ben Collins (abril de 2001 até abril de 2002);
* Bdale Garbee (abril de 2002 até abril de 2003);
* Martin Michlmayr (março de 2003 até março de 2005);
* Branden Robinson (abril de 2005 até abril de 2006);
* Anthony Towns (abril de 2006 até abril de 2007);
* Sam Hocevar (abril de 2007 até abril de 2008);
* Steve McIntyre (abril de 2008 até abril de 2010);
* Stefano Zacchiroli (abril de 2010 até abril de 2013);
* Lucas Nussbaum (abril de 2013 até atualmente).

### Versões

A cada versão que é lançada, mais pacotes e funções são implementados no sistema. Cada versão passa por três estágios: instável, teste e estável. Em 1996, Bruce Perens tomou o cargo de líder do projeto e, a partir disso, as versões do Debian passaram a ter codinomes. Como Bruce trabalhava na Pixar, ele teve a ideia de colocar os nomes das versões na fase de teste baseados em personagens do filme Toy Story. Quando são considerados estáveis, recebem um número indicando a versão. Todas as versões instáveis recebem o nome Sid (personagem que quebrava os brinquedos), fazendo alusão aos vários bugs que aparecem.
As versões lançadas até hoje são: Debian 0.01, Debian 0.91, Debian 0.93R5, Debian 0.93R6, Debian 1.0, (a partir daqui as versões tem codinomes) Buzz 1.1, Rex 1.2, Bo 1.3, Hamm 2.0, Slink 2.1, Potato 2.2, Woody 3.0, Sarge 3.1, Etch 4.0, Lenny 5.0, Squeeze 6.0, Wheezy 7.0, Jessie 8.0.

## Gerenciamento de redes

As redes de computadores da atualidade são compostas por uma variedade enorme de dispositivos que devem realizar comunicação e compartilhamentos de recursos entre si. Na maior parte dos casos, a eficiência dos serviços prestados está associada a um bom desempenho dos sistemas dessa rede. Para gerenciar esses sistemas e as próprias redes, um conjunto eficiente de ferramentas de gerenciamento automatizadas se faz necessário, sendo fundamental a utilização de técnicas padronizadas para uma correta representação e intercâmbio das informações obtidas.

## Gerenciando a rede no Debian

O objetivo do gerenciamento de rede do Debian é fazer as configurações e instalação de rede o mais simples e automáticas possível. Quando se utiliza o DHCP, o gerenciamento de rede se destina a substituir as rotas padrões, obter endereços IP de um servidor DHCP e alterar os nomes dos servidores sempre que lhe for conveniente. Dessa forma, o objetivo majoritário do gerenciamento de rede do Debian é fazer com que a rede apenas realize o trabalho que lhe foi destinado.
O Debian não faz uso do NetworkManager por padrão, o que acaba se tornando uma coisa boa dentro da ideia de um sistema simples e leve, pois permite que você simplesmente configure a rede manualmente através de um arquivo “/etc/network/interfaces”, sem que seja necessário preocupar-se com o applet do NetworkManager, como ocorre no Ubuntu.
Por padrão, o sistema configura a rede via DHCP. Isso atende à maior parte dos usuários, que simplesmente acessam através de uma conexão compartilhada.

### Configurando as interfaces de rede

Inicialmente, vamos compreender alguns termos que possam vir a aparecer no arquivo /etc/network/interfaces, o qual contém as informações sobre as interfaces de rede. Dentre eles:
| Código | Explicação |
| auto | Utilizado para identificar as interfaces físicas que devem ser ativadas quando o comando ifup é executado com a opção -a. Utilizado também pelos scripts de inicialização do sistema. Deve ser seguido pelo nome da interface a ativar. |
| iface | Indica o nome da interface que será configurada utilizando as configurações que vem em sequência. |
| inet | Indica que será utilizado endereçamento IPv4 na interface. |
| dhcp | Indica que a interface deve obter configurações de rede via servidor DHCP. |
| static | Indica que a interface será configurada com opções estáticas, que serão fornecidas nas linhas subsequentes do arquivo. |
| allow | Utilizado para identificar interfaces que devem ser ativadas por vários subsistemas automaticamente. As opções allow-auto e auto são sinônimas. |
| loopback | Método utilizado para identificar a interface de loopback IPv4. |
| address | Endereço IP obrigatório quando utilizada a opção static. |
| netmask | Máscara de sub-rede para o endereço definido em address. |
| broadcast | Endereço de broadcast do IP definido em address. |
| gateway | Gateway padrão a ser utilizado pela interface. |
Desconsiderando os comentários, a configuração padrão desse arquivo é semelhante a:
iface lo inet loopback
Para que a rede seja configurada manualmente, deve-se substituir o “inet dhcp” por “inet static”, especificando os endereços diretamente, como por exemplo:
iface lo inet loopback
iface eth0 inet static
       address 172.10.1.1
       netmask 255.255.255.0
       network 172.10.1.0
       broadcast 172.10.1.3
       gateway 172.10.1.2
No exemplo anterior, há uma interface de loopback de nome lo, que já possui um IP definido; e uma interface ethernet de nome eth0, configurada com endereço estático.

### Especificando os servidores DNS

Ao configurar a rede manualmente, deve-se especificar também os endereços dos servidores DNS que serão utilizados no arquivo “/etc/resolv.conf”, assim como em:

### Aplicando as novas configurações

Após realizar a configuração das interfaces nos arquivos, basta executar os comandos ifdown e ifup para desativar e reativar todas as interfaces de rede, garantindo que utilizem as novas configurações:
É possível ainda ativar e desativar apenas as interfaces desejadas, como por exemplo eth0, que foi configurada para utilizar endereço estático:

### Outras possibilidades
#### ifconfig

Comando útil também para gerenciar as interfaces de rede da máquina. Caso seja digitado da seguinte maneira, lista todas as interfaces existentes:
Pode, ainda, ser utilizado para atribuir um ip estático a uma interface específica, como por exemplo eth0:

#### route

Comando utilizado por exemplo para checar a tabela de roteamento:
Bem como para adicionar uma nova rota, com seu respectivo gateway:

#### restart

Existe ainda um comando utilizado para reiniciar as configurações de rede, que é o seguinte:

### Observações importantes

Para garantir que todos os comandos funcionem corretamente, é importante que o usuário possua permissão de root. Caso encare algum erro de execução, experimente digitar sudo em frente ao comando e posteriormente informar a senha de usuário quando solicitada. Isso garantirá que seu usuário adquira as permissões necessárias. O resultado será semelhante a isto: