Compartilhamento de Internet via NAT/DHCP (Speedy Home)

Esse artigo mostra como configurar um servidor de Internet que, além de fornecer acesso à web via NAT, também fornece o endereçamento de rede via DHCP. O link com a Internet usado foi um Speedy Home (IP dinâmico).

[ Hits: 52.861 ]

Por: Vinicius em 14/09/2004


Compartilhamento de Internet NAT/DHCP (SPEEDY HOME - IP DINÂMICO)



Sistema operacional utilizado: Slackware 9.1 ou superior.

Bom, recentemente precisei fazer um servidor de internet via NAT/DHCP, porém o Speedy utilizado nesse caso é o Speedy Home (IP Dinâmico), pois o local não possuía Speedy Business (IP Fixo).

Contudo, utilizando-se como base o artigo do nosso amigo Megatron:
Resolvi fazer esse artigo, em relação ao SPEEDY HOME (IP DINÂMICO), para compartilhar a Internet para essa devida empresa.

Vamos lá, configurando o servidor Linux:

Supondo, que o seu servidor Linux (Slackware 9.1 ou superior) esteja devidamente configurado com 2 placas de rede (eth0 e eth1), sugiro que utilize placas de rede de preferência:
  • Realtek RTL8029/RTL8139;
  • SIS 900;
  • ou alguma que placa de rede que seja detectada automaticamente pelo kernel do Linux.

Agora digite no terminal e configure/conecte-se corretamente o seu Speedy na internet:

# adsl-setup
# adsl-start


Configurar o nome da máquina e o domínio editando-se o arquivo /etc/HOSTNAME (com letra maiúscula) e colocar a seguinte linha:

nome-do-servidor.nome-do-dominio.com.br

Depois editar o arquivo /etc/hosts e colocar as seguintes linhas:

127.0.0.1 localhost
192.168.0.1 nome-do-servidor.nome-do-dominio.com.br nome-do-servidor

Editar o /etc/resolv.conf e colocar os DNS do Speedy (opcional):

nameserver 200.204.0.10
nameserver 200.204.0.138

Editar arquivo de configuração do DHCP /etc/dhcpd.conf e adicionar as seguintes linhas:

# domínio da sua rede
option domain-name "nome-do-dominio.com.br";

# dns do serviço de adsl (Speedy de SP nesse exemplo)
option domain-name-servers 200.204.0.10, 200.204.0.138;

# ADICIONE essas linhas abaixo e NÃO altere em hipótese nenhuma
ddns-update-style ad-hoc;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
     range 192.168.0.2 192.168.0.255;
     option routers 192.168.0.1;
     option broadcast-address 192.168.0.255;
     default-lease-time 600;
     max-lease-time 7200;
}

Agora vem o chamado "pulo do gato", tem que editar o arquivo /etc/ppp/pppoe.conf e alterar a linha número 115. Mudando a linha que está assim:

FIREWALL=STANDALONE

para ela ficar assim:

FIREWALL=MASQUERADE

Motivo: Se você não alterar essa linha, simplesmente as estações de trabalho não navegam na internet, sendo que você estará conectado na rede local e pingando o ip do servidor (192.168.0.1).

Bom, agora teremos que configurar a placa de rede local (eth1 ou eth2) em 192.168.0.1, no meu caso a minha rede local está na eth0 e o Speedy esta na eth1 (mas não importa a ordem, pode ser vice-versa), digite no terminal:

# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up

Configurar DHCP na eth0:

# dhcpd eth0

Compartilhamento da conexão (utilizando o protocolo PPPoE):

# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Sim, tem que tirar o eth0 ou o eth1 do Speedy Business (Relacionado ao artigo do nosso amigo Megatron) do comando acima e substituir pelo ppp0 (Speedy Home).

Pra finalizar:
Para evitar ter que ficar conectando na internet e montando a rede "manualmente" a cada inicialização do servidor adicione os comandos a seguir no /etc/rc.d/rc.local, conforme o exemplo abaixo:

#!/bin/sh
#
# rc.local do servidor
#
###### ativando a Internet no servidor

adsl-start
###### ativar eth0 em 192.168.0.1 e servidor DHCP na rede interna
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
dhcpd eth0

###### Ativar o compartilhamento da internet (PPPoE) com as estações
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Pronto, agora é só navegar nas estações de trabalho!

OBS: NÃO é preciso fazer nenhuma pós-configuração/modificação nas estações de trabalho (Windows/Linux), deixe o protocolo TCP/IP no modo obter configuração automaticamente de IP, pois as mesmas pegarão o ip automaticamente do servidor (que se encarregará de mandar o IP) após uma simples reinicialização da estação de trabalho.

Boa sorte para vocês e quem souber como fazer para integrar o SAMBA, (servidor de arquivos como controlador de domínio) nesse tipo de servidor de internet, me dê um aviso no meu email, pois eu preciso fazer este servidor fazer as duas funções, ou seja, (Compartilhamento de Internet + Compartilhamento de Arquivos de Rede Local).

Obrigado!

CyberCop (vinicius@solusinformatica.com.br)

   

Páginas do artigo
   1. Compartilhamento de Internet NAT/DHCP (SPEEDY HOME - IP DINÂMICO)
Outros artigos deste autor

Instalando o XMMS Coverviewer no Slackware 10.2

Outro método (rápido/fácil) de instalação e configuração do gdesklets no Slackware 10

Instalando Compiz Fusion no Slackware 12.0

Leitura recomendada

Servidor Web com NetBSD (Apache + PHP + MySQL + *)

Palm na internet via Linux

VSFTPD + Usuários Virtuais + MySQL

Aplicações remotas: um exemplo com o Octave

Atualizando Flash Player no Firefox em Antergos (Arch Linux)

  
Comentários
[1] Comentário enviado por cacosapo em 14/09/2004 - 09:05h

ao inves deste modo:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Pode ficar melhor assim o nat:
iptables -t nat -A POSTROUTING -i eth0 -o ppp0 -j MASQUERADE
onde eth0 é, por exemplo, a interface da rede interna. Se não for especificada a interface, alguem malicioso pode usar sua máquina, a partir da internet, como gateway "nat".

[2] Comentário enviado por Gandalf_Cinzento em 29/10/2004 - 10:39h

um detalhe improtante para funcionar que precisou aqui na empresa mas naum ta escrito:

echo 1 > /proc/sys/net/ipv4/ip_forward

[3] Comentário enviado por rdeizeppe em 11/02/2005 - 10:50h

Ola pessoal preciso de ajuda com IPTABLES

USO Debian kernel 2.2.20-idepci

Executo o comando:

#iptables -t nat -L


E ele retorna:

modprobe: Can't locate module ip_tables
iptables v1.2.6a: can't initialize iptables table `nat': iptables who?
(do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.


Alguem sabe como resolver isso ?

Obrigado

[4] Comentário enviado por almeidamb em 07/05/2005 - 11:47h

cybercop, blz?

OBS: A MESMA DICA QUE VC PASSOU SOB A SLACKWARE DHCP É O QUE ESTOU PRECISANDO PARA FEDORA. "INTERNET NO SERVIDOR FUNCIONANDO NORMAL"
Olá, configurei o servidor linux fedora para rodar dhcp automatico blz deu certo. Só que sao 50 maquinas, tem um problema, nenhuma funciona internet. Como faço para quando levantar dhcp, automaticamente disponibiliza tambem a internet.
grato
atenciosamente
mauricio de almeida
almeida.cps@terra.com.br

[5] Comentário enviado por almirneo em 20/02/2006 - 17:26h

Esse é para a pergunta do rdeizeppe.

no arquivo rc.local coloque também o comando:

modprobe iptable_nat

ai ele não vai retornar o erro.
vlw..
t+

[6] Comentário enviado por allangabriel em 05/12/2006 - 15:01h

Blz, era esse tipo de compartilhamento eu necessitava, porem gostaria de fazer um script para conctar a adsl em
usando as linhas d comando:

pon dsl-provider
porem gostaria de fazer um esecutavel como devo salvar este arquivo.

distribuição de linux
kurumin 5.1


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts