Notícia publicada por brain em julho 21, 2003 11:22 AM
| TrackBack
O texto que eu coloquei nos DETALHES desta notícia é o rascunho de um guia sobre como compartilhar a conexão à Internet usando o Linux. A idéia é mostrar como configurar o masquerading em um micro Linux sem usar palavras complicadas, e com o mínimo de comandos em modo texto possível.
Minha intenção é demonstrar como fazer essa operação no maior número de distribuições possível, sempre apresentando a maneira mais fácil, e sem outros serviços adicionais. Mas para explicar como fazer isso em cada distribuição, nada como dar a palavra aos seus próprios fãs, e por isso conto com vocês: preciso de colaboradores para descrever como fazer esta operação no Conectiva, no Slackware, no Red Hat, no Debian, no Kurumin, no LRP e em qualquer outra distribuição que você preferir. As instruções estão no próprio artigo, e se mais de uma pessoa quiser mandar sobre a mesma distribuição, não tem problema: se ambas forem boas, eu publico as duas, e cito os dois autores. Mas lembre-se de seguir as sugestões de estilo do Linux in Brazil para facilitar a edição e publicação!
E lanço a sugestão aos outros sites e grupos de usuários brasileiros de software livre: que tal aproveitarmos para documentar várias outras operações comuns (configurar modem, acessar internet, compartilhar impressora, etc) sempre privilegiando as interfaces amigáveis e o usuário comum? Quem aceitar o chamado, escolha seu tema, publique o esqueleto do artigo (especificando que ele adota a licença GNU FDL) e me avise que eu anuncio e publico o link. No final podemos todos publicar os artigos dos demais ;-)
Veja nos DETALHES a versão 0.1 do tutorial, ainda em uma única página HTML:
Compartilhando a sua conexão Internet usando Linux
Augusto C. Campos (brain@matrix.com.br)
Hoje em dia o acesso a Internet via banda larga é uma realidade em grande parte do território nacional, assim como se torna cada vez mais comum a existência de redes de pequeno porte nas casas e escritórios. Estas duas realidades somadas levam à necessidade de compartilhar a conexão à Internet entre os diversos computadores da maneira mais barata e eficaz possível.
Escapando das complicações
Se você ainda está planejando a sua rede local, ainda há tempo para escapar de todas as complicações: tente encontrar equipamento e um provedor que suporte uma das configurações abaixo:
Note que no caso 1, o modem (que pode também ser um adaptador ADSL, um cable modem ou outro equipamento com esta mesma função) está conectado a um hub (ou switch) onde estão conectados também os demais computadores da rede local. Configurar os computadores neste tipo de configuração é trivial, mas nem sempre se pode recorrer a este método: alguns modems podem ter perda de performance se conectados diretamente a um hub, outros exigem a conexão direta a um computador por razões diversas. E alguns provedores bloqueiam este tipo de compartilhamento mesmo quando o modem o suporta.
No caso 2, o modem também é hub, o que significa que ele possui entrada para conexão simultânea dos cabos de rede de diversos micros. Neste caso, conectar toda a sua rede local à Internet passa a ser uma tarefa extremamente simples.
Compartilhando a conexão de um micro
Se você não tem a sorte de poder compartilhar sua conexão simplesmente conectando cabos de rede extras, resta o recurso de habilitar este recurso no micro que possui a conexão. Existem muitas formas de fazer isto, mas a mais comum é através da inclusão de uma segunda placa de rede no PC conectado à Internet, seguida da configuração deste computador para rotear, que neste contexto significa transferir o tráfego entre a sua rede local e a Internet.
De modo geral, a primeira placa de rede (que por convenção é chamada de eth0) é conectada ao modem que dá acesso à Internet, e a segunda (chamada de eth1) liga-se à rede local da mesma forma que todos os demais micros da casa ou escritório.
Existem muitas maneiras de configurar o PC que compartilha a Internet. Por exemplo, se ele estiver rodando Windows, você pode habilitar o roteamento ou usar o Internet Connection Sharing (figura ao lado), ou usar um dos diversos softwares disponíveis para esta finalidade. Mas este é um artigo sobre Linux, então naturalmente não iremos dar muitos detalhes desta alternativa ;-)
No mundo Linux também é possível escolher mais de um caminho, e vamos ver alguns deles. Claro que não temos pretensão de esgotar o assunto, e nem poderíamos; ao final do texto, é apresentada uma coleção de links para outras fontes de informação.
Os pontos em comum
Não importa qual o método que você escolher, será necessário configurar sua rede local normalmente. Este ponto não será coberto neste artigo - configure cada um dos micros normalmente. Mas a não ser que você tenha alguma razão para agir de forma diferente, siga as seguintes dicas:
- Use endereços IP estáticos, na faixa 192.168.1.X, onde X é um número entre 1 e 254, para todos os micros. O micro que tem a conexão à Internet também vai receber um endereço desta faixa na sua segunda placa de rede (a eth1).
Use a máscara de rede 255.255.255.0.
- Configure o endereço dos servidores DNS do seu provedor em todos os micros da rede.
- Informe a todos os micros da rede local que o seu gateway padrão ou sua rota default é o endereço IP da placa eth1 do micro que tem a conexão.
Siga os passos acima usando as ferramentas providas pelo seu sistemna operacional, seguindo as instruções providas na documentação do mesmo. De modo geral esta operação é trivial e pode ser feita facilmente não importando se os micros rodam Windows, Linux ou mesmo se são Macs. As imagens abaixo mostram as telas de configuração em um PC com o SuSE Linux 8.2, cujo endereço IP vai ser 192.168.1.1 e que irá se conectar à Internet através de outro PC com Linux cujo endereço IP é 192.168.1.6:
Configurando o micro com acesso à Internet
Este é o ponto crucial de sua conexão. O micro com duas placas de rede é que faz o encaminhamento do tráfego entre a sua rede local e a Internet, realizando uma operação de troca de endereçamento que pode se chamar NAT ou Masquerading, dependendo do contexto.
A forma de configurar esta operação varia de acordo com a distribuição de Linux adotada, mas o pré-requisito é que as duas placas de rede já estejam adequadamente configuradas e em operação. Assim, antes de prosseguir configure o micro de tal forma que você consiga acessar normalmente a Internet nele (seguindo sempre as instruções do seu provedor), e que você possa também acessar (ou no mínimo obter retorno através do comando ping) os micros da rede local. Naturalmente o acesso à Internet ocorrerá através da primeira placa de rede (chamada de eth0), enquanto o acesso à rede local ocorrerá através da segunda placa (a eth1)
Veremos agora como configurar as diversas distribuições de Linux.
a) Configurando o SuSE 8.2 para compartilhar a conexão
Se você instalar o SuSE Linux 8.2 no micro com conexão à Internet, poderá usar este micro para suas tarefas normais com o Linux ao mesmo tempo em que ele opera como um roteador para interligar o restante da sua rede local à Internet.
Se você está certo de que o micro está conseguindo se comunicar tanto com as máquinas da rede local quanto com a Internet, ativar a operação de compartilhamento da conexão é muito simples, e pode ser feito em dois passos. Vamos ver apenas o mínimo necessário para compartilhar a conexão, embora a ferramenta de configuração permita vários outros itens avançados. Conte com a documentação do SuSE Linux para saber usar os demais recursos.
Passo 1: Abra o Centro de Controle YaST2 e selecione o ícone Firewall, como na figura abaixo:
Passo 2: seguir o assistente de configuração simplificada da firewall do SuSE 8.2, que tem 4 telas. Na primeira devemos identificar qual a placa de rede externa (a que conecta à Internet) e qual a interna (conectada à rede local). Geralmente isso significa respectivamente eth0 e eth1, mas em alguns casos de conexão ADSL (quando é necessário usar o PPPoE localmente) a interface externa será chamada de ppp0.
Na segunda tela definimos se o seu micro deverá ser servidor de rede. De modo geral, você não vai querer que seu servidor de conexão possa ser usado também como servidor web, ou de correio eletrônico, ou outro qualquer, pelos usuários da Internet, certo? Portanto, pode deixar tudo em branco sem medo:
A terceira tela oferece algumas opções avançadas, das quais apenas uma é crucial para o compartilhamento de Internet: "Encaminhar tráfego e mascarar". Esta é justamente a opção que ativa o tráfego entre a rede local e a Internet:
A quarta e última tela tem opções sobre como o sistema irá registrar em seus arquivos de log as conexões suspeitas que detectar - sugiro manter a configuração default, que registra apenas pacotes críticos. Confirme a operação, e o seu sistema se transformará instantaneamente em um roteador - não é necessário fazer reboot, e nem fechar nenhum aplicativo que você queira usar - se você tiver configurado os outros micros da rede conforme explicado acima, eles poderão navegar na Internet imediatamente.
b) Conectiva
Esta seção está aguardando um colaborador que a adote. Se você quiser escrever como configurar o compartilhamento de conexão (NAT/Masquerading) usando as ferramentas específicas da versão oficial mais recente desta distribuição, entre em contato através do e-mail brain@matrix.com.br.
c) Red Hat
Esta seção está aguardando um colaborador que a adote. Se você quiser escrever como configurar o compartilhamento de conexão (NAT/Masquerading) usando as ferramentas específicas da versão oficial mais recente desta distribuição, entre em contato através do e-mail brain@matrix.com.br.
d) Mandrake
Esta seção está aguardando um colaborador que a adote. Se você quiser escrever como configurar o compartilhamento de conexão (NAT/Masquerading) usando as ferramentas específicas da versão oficial mais recente desta distribuição, entre em contato através do e-mail brain@matrix.com.br.
e) Slackware
Esta seção está aguardando um colaborador que a adote. Se você quiser escrever como configurar o compartilhamento de conexão (NAT/Masquerading) usando as ferramentas específicas da versão oficial mais recente desta distribuição, entre em contato através do e-mail brain@matrix.com.br.
f) Debian
Esta seção está aguardando um colaborador que a adote. Se você quiser escrever como configurar o compartilhamento de conexão (NAT/Masquerading) usando as ferramentas específicas da versão oficial mais recente desta distribuição, entre em contato através do e-mail brain@matrix.com.br.
g) Kurumin
Esta seção está aguardando um colaborador que a adote. Se você quiser escrever como configurar o compartilhamento de conexão (NAT/Masquerading) usando as ferramentas específicas da versão oficial mais recente desta distribuição, entre em contato através do e-mail brain@matrix.com.br.
b) LRP
Esta seção está aguardando um colaborador que a adote. Se você quiser escrever como configurar o compartilhamento de conexão (NAT/Masquerading) usando as ferramentas específicas da versão oficial mais recente desta distribuição, entre em contato através do e-mail brain@matrix.com.br.
b) Coyote
Esta seção está aguardando um colaborador que a adote. Se você quiser escrever como configurar o compartilhamento de conexão (NAT/Masquerading) usando as ferramentas específicas da versão oficial mais recente desta distribuição, entre em contato através do e-mail brain@matrix.com.br.
z) Configurando através da linha de comando
Talvez você prefira fazer as coisas do jeito difícil, ou talvez você esteja usando uma distribuição de Linux sem um mínimo de facilidades disponíveis para o administrador. De qualquer forma, para ativar o compartilhamento de Internet nas distribuições mais recentes de Linux (baseadas no kernel 2.4), considerando que você tenha suporte ao iptables (esta costuma ser a configuração default) e que tenha o conjunto mínimo de utilitários, basta emitir 3 comandos:
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -P POSTROUTING DROP iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
As linhas acima devem funcionar sem alteração se você usou nossa sugestão de endereçamento para a rede local - se você usa outro padrão, mude o "192.168.1.0" da terceira linha para adequar-se à sua situação. Da mesma forma, mude o "eth0" da terceira linha se a sua placa de rede com acesso à Internet for outra.
Claro que antes de emitir estes comandos você deve garantir que ambas as placas de rede do seu computador estejam corretamente configuradas e acessando suas respectivas redes. E nada de reboots! O efeito destes comandos dura apenas até a máquina ser desligada. Se você quiser que eles tenham efeitos permanentes, inclua-os em um script de inicialização da sua máquina, conforme as instruções específicas da sua distribuição.
Conclusão
Espero ter demonstrado que configurar o compartilhamento da Internet no Linux não é tão complicado quanto dizem, e ajudado você a ter acesso à Internet de forma econômica e confiável.
Se você tiver alguma correção ou complemento a este documento, contate o autor/organizador através do e-mail brain@matrix.com.br. Se for uma dúvida referente a uma área específica do documento, contate o autor da seção que gerou a dúvida através do e-mail fornecido nela.
E se você tiver dúvidas, não hesite em tirá-las no nosso fórum.
Licença
Este documento é disponibilizado obedecendo aos termos da licença GNU FDL conforme exposta no site da Free Software Foundation. Os nomes e endereços de e-mail dos autores e colaboradores devem ser tratados como seções invariantes nos termos da mesma licença.
legal
Isto pode se tornar a maior documentação no mundo
Porque tem uma enorme quantidade de sites e pessoas competentes que mexem em linux aqui no brasil.
espero ver os resultados em breve
foi uma otima susgestão
Grande iniciativa......como leigo do mundo linux nunca consegui configurar minha conexão internet, acabei instalando um proxi na máquina principal pra efetuar o compartilhamento.Vejo que esse dilema poderá ser resolvido com essa ótima ação.
Carlos
Nossa, realmente muito bom!
Gostaria de adotar uma solucao para o slackware + adsl, como proceder para adotá-la?
Escolheram um bom assunto para documentar .
boa idéia !
mas acho que deveria se basear em modo texto
pois assim não estaria "amarrado" à nenhuma dstro.
No meu caso por exemplo:
tenho uma rede ponto a ponto e ...uma maquina "modesta", sem mouse e sem X instalado .
e gostaria de uma documentação sobre esse assunto ,
mas para trabalhar em linha de comando .
Will
mcarvalho@speinfo.com.br
Phreaker: é só escrever e me mandar, seguindo as dicas que constam ali na notícia mesmo.
Will: note que no texto que já está disponível eu incluí um capítulo específico para configuração via linha de comando. Atualmente é o último capítulo do texto. Era isso que você queria? Nem leu o texto antes de comentar, hein? ;-)
No Slackware, a configuração do compartilhamento de acesso
se resume a alguns comandos - considerando-se uma
instalação do slackware c/o kernel padrão
e os módulos distribuídos com o mesmo -,
então vou postar minha 'solução' aqui mesmo:
1) O suporte a netfilter (iptables) já está incluído
nos kernels distribuídos com o Slackware versão 9,
logo, não há necessidade de recompilação do kernel.
2) Haverá, entretanto, necessidade de carga do módulo
ipt_MASQUERADE, que pode ser efetuado com o comando:
# modprobe ipt_MASQUERADE
NOTA: É possível que o Slackware também carregue o módulo
sozinho assim que o iptables necessitar do mesmo,
mas essa informação eu não pude verificar aqui.
3) Em seguida, é necessário colocar os comandos que vão ativar
o firewall na inicialização. Para isso, digite:
# cat > /etc/rc.d/rc.firewall
iptables -t nat -P POSTROUTING DROP
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
EOF
4) E, para ativar a execução deste arquivo durante as inicializações
da máquina:
# chmod +x /etc/rc.d/rc.firewall
5) Pronto! Agora só falta ativar as regras, o que
pode ser feito com o comando:
# /etc/rc.d/rc.firewall
AVISO: Esse comando só precisa ser executado desta
vez, pois ele agora consta na inicialização
e será ativado toda vez que o sistema iniciar.
É isso.
PS: O ip_forward já é ativado por padrão no próprio Slackware, então
não há necessidade de alterá-lo.
***** ERRATA *****
Não sei porque o sistema de comentários engoliu os
sinais de maior-que e menor-que, mas tudo bem...
Onde se lê:
cat > /etc/rc.d/rc.firewall
Leia-se:
cat <<EOF >> /etc/rc.d/rc.firewall
É isso.
Se alguém tiver algo referente a ISDN ae eu ficaria grato.
LEGALLLLLLLLL
PARA quem usa o SUSE, va no YAST, clique em FIREWALL, depois clique em NEXT,NEXT,NEXT,NEXT ...
pronto a internet esta compartilhada :o) uhuuuuuuuuuu
NNF, hehehehh...
Eu gostaria de coladorar, mas sou leigo nesse assunto... fico para a próxima :-(
Mas muito boa essa idéia ;-)
Eu já recebi várias contribuições por e-mail referentes ao Slackware, uma referente ao Smoothwall e uma acrescentando itens ao texto em geral.
Achei que os fãs da Conectiva, Red Hat e Debian iam ser bem rápidos também, mas espero que estejam demorando mais porque estão caprichando nas screenshots ;-)
Até agora não recebi contato de outros sites ou grupos de usuários, o que é uma pena. Mas ainda há tempo para eles também ;-)
Quanto ao comentário sobre clicar "next next, next", quem dera tivéssemos esta opção para poder explicar rapidamente para os usuários novatos e não precisarmos ficar escrevendo manual básico que tem que explicar até mesmo o que é masquerading. Aí poderíamos nos concentrar nos manuais avançados, que é o que todo mundo gosta de fazer.
Abraços
Augusto
ofranja, você me manda por email? Por aqui não fica prático...
How-to de como compartilhar a conexão no Kurumin:
1- Conecte-se à internet.
2- Configure a sua rede local no Iniciar > Configuração do Sistema > Configurar Rede
3- Clique no Iniciar > Configuração do sistema > Compartilhar Conexão e Firewall > Compartilhar conexão via modem ou ADSL PPPoE (ou conpartilhar conexão na ETH0, dependendo do tipo de acesso que utiliza)
4- Clique no Iniciar > Configuração do Sistema > Compartilhar Conexão e Firewall > Ativar Kurumin Firewall
:-P
Primeiro.
Não gostaria que meu nome ou endereço de mail fosse publicado.
Assunto:
"Ajude a documentar como compartilhar a Internet na sua distribuição"
Contribuição:
Em relação à ajuda:
3) Em seguida, é necessário colocar os comandos que vão ativar
o firewall na inicialização. Para isso, digite:
# cat > /etc/rc.d/rc.firewall
iptables -t nat -P POSTROUTING DROP
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
EOF
Comentário:
NÃO UTILIZE A POLÍTICA DE DROP EM POSTROUTING SEM PERMITIR QUE lo SE COMUNIQUE
COM 127.0.0.0/8. É válida a informação para qualquer distro.
A CORREÇÃO SERIA:
# cat > /etc/rc.d/rc.firewall
*** iptables -t nat -A POSTROUTING -o lo -d 127.0.0.0/8 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
iptables -t nat -P POSTROUTING DROP
EOF
Caso contrário, a comunicação interna de seu equipamento não funcionará (Ex:
XDM, GDM, KDM).
Ok?
Augusto, eu não sei/não tenho experiência sobre como compartilhar a conexão no Gentoo Linux, mas fiz um post no GentooBR na esperança de que alguém colabore com seu documento.
Obrigado Angus!
Achei muto legal essa iniciativa, mais estou com duvida em como compartilhar minha conexao do Windows para um Debian. Tenho 2 pcs com Win compartilhando a conexao, mais gostaria de substituir 1 Win para o Linux, mais o Debian que tem que ficar com a conexao Win.
Uso o gentoo e compartilho a conexao. o artigo que encontrei no secforum funciona perfeitamente.
http://www.secforum.com.br/article.php?sid=874
Gostaria de saber onde encontrarei a instalação desta versão do Linux, e como instalar em uma HD limpa.
Parábens pela publicação desta página.
Muito construtiva.
Seria legal alguém colocar também alguma coisa sobre "controle de trafego". Agora com o Speedy novo, que tem limite de trafego mensal, seria uma boa ensinar o povo a dividir E limitar a o trafego para cada máquina que usa a internet.
Valeu!
Comentários desativados: Esta discussão é antiga e foi arquivada, não é mais possível enviar comentários adicionais.