Montando Servidor de Internet com Ubuntu Server

Abordagem deste artigo vai tratar da montagem um servidor para compartilhamento de Internet para uma pequena empresa, utilizando os serviços de DHCP e IPtables.

[ Hits: 154.592 ]

Por: Wagner Souza em 12/09/2014 | Blog: https://medium.com/@souzaw


Configurando o servidor DHCP



Em nosso cenário, o cliente possui 10 estações de trabalho. Isso pode vir a aumentar com o passar do tempo ou até diminuir. Porém, pensando em uma futura expansão, seria muito trabalhoso se a rede aumentasse e tivéssemos que pôr IP nas máquinas manualmente.

Uma solução viável, é ativar um serviço de DHCP. Como isto, toda máquina da rede possuirá um IP e informações de gateway, DNS, entre outras.

O DHCP (Dynamic Host Configuration Protocol) é um protocolo que funciona nas camadas 2 e 3 do modelo OSI e é amplamente utilizado para oferecer endereçamento IP a um host que ainda não está configurado, o que oferece uma flexibilidade ao administrador de sistemas.

O protocolo DHCP opera da seguinte forma:
  • DHCPDISCOVER :: um cliente envia um quadro broadcast (destinado a todas as máquinas) com um pedido DHCP.
  • DHCPOFFER :: o servidor DHCP captura o quadro e oferece um endereço IP ao cliente.
  • DHCPREQUEST :: o cliente envia um DHCP REQUEST endereçado para o servidor DHCP aceitando o IP.
  • DHCPACK :: esse é o pacote que confirma a atribuição de uma configuração de rede a um cliente, ou seja, aquele cliente agora possui configurações distribuídas pelo servidor DHCP.
  • DHCPNAK :: caso o cliente não aceite aquele endereço IP ele enviará um DHCPNAK para o servidor, e realizará o DHCPDISCOVER novamente.

Fonte: Dhcp | TutoriaisGNULinux.com

Linux: Montando Servidor de Internet com Ubuntu Server

Instalando o serviço

Em distribuições derivadas do Debian o pacote a ser instalado é o isc-dhcp-server:

# aptitude install isc-dhcp-server

Eu recomendo definir logo qual a placa que estarão servindo os IPs para o demais micros na rede. Isso é útil para não haver problemas e conflitos no serviço. Edite o arquivo /etc/default/isc-dhcp-server:

# vi /etc/default/isc-dhcp-server

Na variável "INTERFACE", digite o nome da interface de rede local. No meu caso é eth2 como visto abaixo:

# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid

# Additional options to start dhcpd with.
#       Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth2"

Feito isso, salve o arquivo e reinicie o serviço de DHCP:

# service isc-dhcp-server restart

O nome do serviço é isc-dhcp-server e o arquivo para configuração do mesmo, é o dhcpd.conf.

Faça uma cópia do arquivo original:

# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.old

Agora, vamos limpar o arquivo atual, já que este contém um modelo para utilização do serviço e vamos digitar as nossas configurações:

# echo " " > /etc/dhcp/dhcpd.conf

Vamos começar a editar o arquivo:

# vi /etc/dhcp/dhcpd.conf

Insira as configurações, abaixo de acordo com a sua realidade:

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;

subnet 10.10.10.0 netmask 255.255.255.0 {
        range 10.10.10.100 10.10.10.115;
        option routers 10.10.10.254;
        option domain-name-servers 8.8.8.8,208.67.220.220;
        option broadcast-address 10.10.10.255;
}

Abaixo, explico alguns detalhes das configurações anteriores:
  • default-lease-time 600 :: servidores DHCP cedem endereços sob pedido por um tempo pré-determinado. O padrão nesse exemplo, é ceder o endereço IP por 600 segundos, ou 10 minutos.
  • max-lease-time 7200 :: caso o cliente solicite um tempo maior, o tempo máximo permitido será de 7.200 segundos (2 horas).
  • option subnet-mask :: essa opção define a máscara de sub-rede a ser fornecida aos clientes.
  • option broadcast-address :: essa opção define o endereço de envio para requisições de broadcast.
  • option routers :: o cliente, além do número IP, recebe também a informação do número do host que é o gateway de sua rede.
  • option domain-name-servers :: essa opção lista os servidores de nomes (DNS) a serem utilizados para resolução de nomes.

Configurando um IP fixo

Em algumas situações, pode ser necessário que uma máquina ou dispositivo na rede, tenha um IP fixo como uma impressora compartilhada em um computador, um notebook de um gerente, entre outros.

Para resolver essa questão, basta inserir as informações abaixo, após a última chave ("}"):

host gerente {
hardware ethernet 00:80:C7:D2:E8:D3;
fixed-address 10.10.10.20;
}

O arquivo final, ficaria assim:

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;

subnet 10.10.10.0 netmask 255.255.255.0 {
        range 10.10.10.100 10.10.10.115;
        option routers 10.10.10.254;
        option domain-name-servers 8.8.8.8,208.67.220.220;
        option broadcast-address 10.10.10.255;
}

host gerente {
hardware ethernet 00:80:C7:D2:E8:D3;
fixed-address 10.10.10.20;
}

Obs.: o IP da máquina do gerente, foi posto fora do range padrão para diferenciar dos demais. Apenas como forma de organização.

Feche o arquivo e reinicie o serviço de DHCP:

# service isc-dhcp-server restart

Para visualizar os IPs que já foram entregues às estações de trabalho:

# cat /var/lib/dhcp/dhcpd.leases

Pronto! Finalizada mais uma etapa.

Neste momento, os clientes já estão recebendo IP automaticamente e navegando na Internet sem problemas.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configuração dos links
   3. Configurando o servidor DHCP
   4. Configurações de Firewall
Outros artigos deste autor

Exploração de Falhas em Servidores FTP

Shell Script nosso de cada dia - Episódio 3

Atualização das provas LPIC-1, 304 e Essentials

Algoritmos em Shell Script

Elastic SIEM - Instalação e Configuração do LAB (Parte I)

Leitura recomendada

Explorando o Network Manager

Tutorial de Instalação do Redmine

Instalando e desmistificando o Debian

Timezones - Uma questão de ponto de vista

Configurando um servidor de DNS

  
Comentários
[1] Comentário enviado por danniel-lara em 12/09/2014 - 09:43h

Parabéns pelo Artigo principalmente pela parte de Configuranção do FailOver

[2] Comentário enviado por kciolucio em 12/09/2014 - 09:58h

Muito bom artigo Wagner, parabéns!

[3] Comentário enviado por konishi em 15/09/2014 - 19:08h

Muito bom!

[4] Comentário enviado por thalesx em 29/09/2014 - 16:09h

Excelente!

[5] Comentário enviado por kaique-rangel em 30/10/2014 - 16:23h

Muito Bom!

[6] Comentário enviado por removido em 04/11/2014 - 15:48h

Excelente material!

[7] Comentário enviado por fbocosta em 13/11/2014 - 10:41h

SHow !! Mais e o controle de banda ?

[8] Comentário enviado por metzjuarez em 11/12/2014 - 09:05h

Bom dia, preciso de uma ajuda, fiz todos os passos descritos, mas não consigo navegar na internet nos clientes.

O servidor é Ubuntu Server 14.04 LTS.
Tem 3 placas de redes.
2 entra a internet, estão fucionando.
1 sai a rede local, está distribuindo os endereços de rede, porem não navegam.

O que pode ser que está faltando?

[9] Comentário enviado por MAPOGOS em 20/12/2014 - 19:44h

Muito bom este arquivo.

[10] Comentário enviado por augusto.jcs em 13/01/2015 - 18:24h

Wagner Souza, gostaria de saber se nessa configuração de servidor fica só um gateway pra toda a rede mesmo com dois links de conexão ??? Pois tenho uma pequena rede de 30 Pcs, tenho dois links de acesso a internet e gostaria das mesmas configurações do seu artigo acima só que um link distribuísse para 15 pcs e o outro para os outros 15... se e que você me entendeu!!!??? Desde já agradeço se me ajudar!!!

[11] Comentário enviado por andressa.moura em 29/04/2015 - 14:00h

Excelente artigo! Muito fácil de entender. Parabéns!

Nesse caso você tem um link como reserva. Mas se quiser ter os dois links funcionando juntos porém em redes diferentes, como faria? Ex: 10 pcs usam o primeiro link e 10 usam o segundo link.
Acho que é semelhante a situação do colega augusto.jcs que perguntou aí em cima...
Seriam duas redes e dois gateways diferentes.

[12] Comentário enviado por wagnerfs em 29/04/2015 - 21:27h

Boa noite.

Prezado, andressa.moura neste caso seria um outro artigo a parte. Mas caso queria se antecipar, aqui mesmo no VOL já foram publicados alguns temas sobre o assunto. Para fazer isso é preciso criar tabelas com as devidas rotas com o comando ip router.

_________________________
Wagner F. de Souza
Graduado em Redes de Computadores
"GNU/Linux for human beings."
LPI ID: LPI000297782

[13] Comentário enviado por hwrbet em 27/09/2015 - 21:58h

Excelente didática, parabens!!!

[14] Comentário enviado por wagnerfs em 28/09/2015 - 21:58h


[13] Comentário enviado por hwrbet em 27/09/2015 - 21:58h

Excelente didática, parabens!!!


Obrigado pelo incentivo.

[15] Comentário enviado por leofernandesms em 06/11/2015 - 12:57h

Olá! Eu instalei o linux (distro Ubuntu) agora, versão para desktop. É possível aplicar esse tutorial nele? ou Vai ser necessário instalar uma versão para servidor? Desculpe se falei alguma bobagem, mas to começando a usar linux agora, e tenho interesse em ser adm de rede. A propósito, o artigo é muito bom, excelente didática.

[16] Comentário enviado por wagnerfs em 09/11/2015 - 10:42h


[15] Comentário enviado por leofernandesms em 06/11/2015 - 12:57h

Olá! Eu instalei o linux (distro Ubuntu) agora, versão para desktop. É possível aplicar esse tutorial nele? ou Vai ser necessário instalar uma versão para servidor? Desculpe se falei alguma bobagem, mas to começando a usar linux agora, e tenho interesse em ser adm de rede. A propósito, o artigo é muito bom, excelente didática.


Você pode usar a versão desktop sim, porém, esta possui uma interface gráfica bem como aplicativos desnecessários para um servidor.

[17] Comentário enviado por bruninhocielo em 12/11/2015 - 22:57h

Olá realmente muito boa a dinamica ...porem nao obtive sucesso estou tendo o mesmo problema q o amigo ,,,::
Bom dia, preciso de uma ajuda, fiz todos os passos descritos, mas não consigo navegar na internet nos clientes.

O servidor é Ubuntu Server 14.04 LTS.
Tem 3 placas de redes.
2 entra a internet, estão fucionando.
1 sai a rede local, está distribuindo os endereços de rede, porem não navegam.
que pode ser que está faltando?

no meu caso eth0 é a rede local ( dhcpd)
eth1 é a net ( dhcp)
eth2 vivo fibra pppoe

servidor navega...quando desligo o modem da vivo apos 2 minutos funciona a net automaticamente..
as maquinas recebem os ips...mas nao navegam...

usei a versao desktop ( pois a maquina é um i3 4gb 500) ...e me acho mais facilmente no modo grafico...kkkk
Fatos estranhos:
com a vivo conectada parece q navegacao fica mais lenta mesmo sendo 100mb ...e no teste de velocidade bate 108mb...
qdo ligo a maquina aprece uma msg de aguarde preparando rede....depois pede mais 60 segundos...depois da um erro que o sistema esta inicializando porem sem configuracao de rede completa....( porem no servidor ambas conexoes funcionam e as maquinas recebem os ips)
outro fato estranho qdo mando rodar o firewall.sh ...da algumas msg de no match chain....algo assim...
porem mesmo com o servico "parado" ..nao muda nada...

acho estranho o fato da configuracao da placa da rede local ficar com o gateway semlhante ao ip principal...nao testei colocar o gateway da net por exemplo na principal...porem se fosse assim só funcionaria a net nao é isso ?

Desde já agradeco !! a ajuda !!! li reli refiz...e nada...abs

[18] Comentário enviado por mastermoral em 29/05/2016 - 14:38h

Muito bom, simples e claro.
Obrigado

[19] Comentário enviado por guto__007 em 30/06/2018 - 14:27h

boa tarde,
Estou tentando montar um servidor de internet aqui no meu comercio, tenho dois links
link1 192.168.0.1
link2 192.168.02

e estou tentando configurar o ubuntu no virtual box, e estou com dificuldades bem no começo ja, porque nao consigo colocar os ip fixo, acho que é alguma configuração nas placas do virtual box, alguem poderia por favor me dar uma ajuda, em arrumar as placas do vb, e sobre minha classe de ip, se eu devo mudar o ips dos modem ou deixo assim mesmo?

Desde ja agradeço a todos, e essa comunidade e 100%..

[20] Comentário enviado por guto__007 em 01/07/2018 - 16:28h

boa tarde, resolvi a situação mundando o comando de eth0 para enp0s3, mas meu script continua dando erro de sintaxe, algum pode dar uma ajuda?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts