Compartilhar rede / internet

Iniciado por JeronimoBr, 26 de Outubro de 2006, 15:27

tópico anterior - próximo tópico

JeronimoBr

Olá,

como passei um pouquinho de trabalho para configurar uma "rede doméstica" e compartilhamento da rede externa / internet através de um pc com duas placas de rede, resolvi criar um "mini-tutorial" de como funcionou pra mim  ;D  :P. Ele usa o iptables (nat), e não precisou de samba.
Copiei e colei abaixo de meu antigo site:

----

Algo que passei um pouco de trabalho para descobrir era a forma de compartilhar a rede para outro computador, por meio de um cabo cross-over, no Ubuntu.

Convenção: nesse artigo, sempre que eu me referir à "rede", estou querendo dizer uma rede já existente, que já compartilha dados. Quando me referir a uma rede doméstica (que vamos criar com esse artigo), virá após a palavra "rede" as palavras "interna" ou "doméstica".

Aqui explicarei como compartilhar a rede sem roteador, hub, ou qualquer desses aparelhos mais caros. :-p Basta ter:

    * Um computador com duas placas de rede (uma para conectar na rede, e a outra para conectar no outro pc);
    * Um computador com apenas uma placa de rede (pode até ter mais de uma, mas precisaremos aqui de apenas uma) ;
    * Um cabo cross-over. :-)

São necessários 2 grandes passos agora:

   1. Configurar uma rede doméstica
      No computador que está conectado à rede, há duas placas de rede: uma que se conecta na rede (óbvio :-| ), e a outra que irá se conectar ao outro computador, com o qual iremos compartilhar a rede. Normalmente, a placa de rede conectada à rede é a eth0, e a outra conectada ao segundo computador é a eth1 (vamos admitir assim no exemplo). Bem, isso não é uma regra, pode estar ao contrário. Cabe a você descobrir sua configuração correta, nem que seja por tentativa e erro. :-p
      Bem, nesse computador que tem as 2 placas, vá em Sistema->Administração->Rede. Clique na interface eth1 e em Propriedades. Aparece uma tela assim:
      Tela de configuração de rede no Ubuntu

      Bem, obviamente você deve deixar marcado o "Habilitar essa conexão". A configuração deve ser "Endereço IP estático". O endereço IP pode colocar esse mesmo, "192.168.0.1″. A máscara de subrede também: "255.255.255.0″. E o endereço do gateway pode deixar em branco mesmo.
      Clique Ok, e caso a conexão não esteja ativa (dá pra ver essa informação na janela que ficou aberta agora), clique no botão "Ativar".
      No outro pc, deve ser feita a mesma coisa, contudo, com pequenas diferenças: a interface do outro computador será eth0, e não eth1 (normalmente é assim, mas pode variar se você tiver mais de uma placa de rede no segundo pc); além disso, o IP da outra máquina deve ser "192.168.0.2″; a máscara deve ser a mesma (255.255.255.0), mas o gateway deve ser o IP do computador "servidor", ou seja, "192.168.0.1″. Além disso, na tela de configuração das redes, deve ser configurado um DNS; o endereço de DNS pode ser conseguido assim: veja o DNS no computador que está conectado à rede (também na tela de configuração de redes, aba DNS), ou pegue um DNS público, ou ainda melhor: consulte seu provedor de serviços de rede para saber qual DNS usar.
      E assim a rede doméstica ("interna") estará ativada. Falta o passo 2.
   2. Carregar o NAT (compartilhamento) na inicialização
      ATENÇÃO: ESSE PASSO SÓ DEVE SER FEITO NO COMPUTADOR QUE TEM AS DUAS PLACAS DE REDE (AQUELE QUE ESTÁ CONECTADO À REDE).
      Bem, pra isso, basta fazer, num terminal:
$ sudo nano /usr/bin/compartilharRede

      Vai abrir o editor nano. Nesse arquivo, digite:


      #!/bin/bash
      modprobe iptable_nat
      iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
      echo 1 > /proc/sys/net/ipv4/ip_forward
      Se quiser copiar daí de cima e colar no terminal, pode fazer. Para colar no terminal, eu uso Shift+Insert.
      Bem, note que o "-o eth0″ ali é porque por padrão se conecta na rede com a eth0 (no pc com duas placas). Ajuste para a sua situação, se necessário.
      Ainda no nano, dê Ctrl+o, Enter, e Ctrl+x. Assim o nano terá fechado.
      Agora, no terminal, digite:

      $ sudo chmod +x /usr/bin/compartilharRede

      Agora, vá em Sistema->Preferências->Sessões. Aba "Programas iniciais". Adicione um novo programa ali na lista, o "compartilharRede" (sem as aspas!).

E pronto! Agora, sempre que seu pc com duas placas de rede iniciar, ele vai executar o compartilharRede, e assim a rede já estará sendo compartilhada! :-)
Espero que tenha sido de ajuda. Um abraço.

mariojr

muito bom velho.. vlw mesmo.. aqui funciono perfeito o script.. soh naum funciona coloca na inicializacao pq precisa de permisao de root nos comandos dele.. soh roda usando um SUDO no terminal

mobilitas

Cara, muito bom, muito bom mesmo!!! Tem uns meses que estou atrás de um procedimento simples e rápido que nem esse. Nada tinha dado certo antes.
Valeu!!

silasmr

Valeu, JeronimoBr, valeu mesmo!!! ;D
Há dias tentava, tentava e... nada.
Deixo a minha contribuição para quem está batendo a cabeça com o DNS:

http://www.abusar.org/dns.html
http://www.superdns.com.br/dns-publico.php

Agora fica a pergunta: Por que foi tão fácil conectar um computador com "Ruindows" num outro com Linux, via DHCP, e tão trabalhoso conectar dois computadores com Linux?
"Ubuntu: Linux for human beings", all right? ;)

volenti

Não funcionou comigo =/

Realizei todo o procedimento na risca, no meu Ubuntu (servidor) e outro PC-Windows (cliente).

Ocorreu um problema típico do ®Windows, conectou normalmente meu Ubuntu e a configuração não apitou nenhum erro, o ®Windows conectou normalmente, mas não entra em nenhum site / programa que necessite da internet (já verifiquei o uso de proxy/firewall/qualquer programa que impeça o uso da internet no ®Windows, mas não há nada está impedindo).

Isso ocorre quando uso a configuração IP Estático. (sim já testei com os números de IP diferentes com o gateway também)

Quando tento DHCP, Zeroconf local (IPv4LL) e roaming o ®Windows apita erro: " conexão nula ou limitada "

Estou usando Ubuntu 7.10 e Windows XP Profissional SP2

Alguém sabe o que pode ser? Pelo amor de Deus se alguém tiver alguma sugestão, não se acanhe (rs), tenho que deixar essa $%#@!%# de ®Windows com internet hoje!

Obrigado pela atenção.

volenti

contato: volenti.mess@gmail.com

Padrão de Pacotes no linux é INDISPENSÁVEL! junte-se a nós
http://ubuntuforum-br.org/index.php/topic,25549.0.html
o crescimento do linux depende deste padrão,apóie você também!

silasmr

Oi, turma!
Recentemente, uma tempestade elétrica acabou com minha placa de rede onde conecto o Cable Modem Motorola SB4200 da Net/Vivax. :'(
Era a placa eth0. Depois de bater a cabeça e tentar usar a eth1 para receber o sinal da Internet sem sucesso (claro que isso acabaria com minha rede local, pois só teria uma placa em cada micro), tentei usar a saída USB do cable modem. O Gutsy criou a conexão eth2 e estava novamente conectado, mas  tive que trocar o eth0 por eth2 na dica do colega JeronimoBr:

$ sudo nano /usr/bin/compartilharRede

      Vai abrir o editor nano. Nesse arquivo, digite:


      #!/bin/bash
      modprobe iptable_nat
      iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
      echo 1 > /proc/sys/net/ipv4/ip_forward
      Se quiser copiar daí de cima e colar no terminal, pode fazer. Para colar no terminal, eu uso Shift+Insert.
            Ainda no nano, dê Ctrl+o, Enter, e Ctrl+x. Assim o nano terá fechado.
      Agora, no terminal, digite:

$ sudo chmod +x /usr/bin/compartilharRede

Na configuração da eth1, no micro conectado a Internet, habilitei o modo e roaming e novamente os dois micros compartilharam a Internet. O Ubuntu Gutsy configurou tudo automaticamente. ;D
Porém, nem tudo são flores. Eu conseguia o mesmo no Ruindows, mas agora que uso a saída USB do cable modem, o XP detecta o novo hardware e pede o driver. No Linux, parece que o driver é o cdc-ether (é isso mesmo, ou falo bobagem?). E no Ruindows? Alguém sabe onde posso baixá-lo?


birro

Galera, to revivendo o tópico pq tô MUITO perto de conseguir.
Consegui fazer a conexão entre o Ubuntu e o XP, o ping está ok, consigo rodar VNC... está tudo ótimo. Só falta a conexão da internet.
Obs: Meu modem está na máquina do Ubuntu

Segui todo o script, editei o compartilharRede, salvei... tudo certo.
Meu problema está aqui:
xxxx@ZZZZ:~$ sudo nano /usr/bin/compartilharRede
sudo: unable to resolve host ZZZZ
[sudo] password for xxxx:
xxxx@ZZZZ:~$ sudo chmod +x /usr/bin/compartilharRede
sudo: unable to resolve host ZZZZ

Por que ele não consegue reconhecer o host??
Obs:Alterei o meu nome de login para "xxxx" e o da minha máquina para "ZZZZ".

raidicar

#7
Cara, reviver um topico de 2006 é dose, não seria melhor criar um novo topico?
Se tem um problema e posta em um topico morto dentro da sessão dicas e truques, só um cara perdido como eu para ajudar...
Entrei por engano aqui....


Vamos la, PRIMEIRO:
seu problema deve estar no arquivo hosts.
O que, se eu estiver correto,  piora tudo, por que em nada tem o problema do sudo com um tópico de compartilhamento de internet.

Para sabermos, edite ele com o comando no terminal:
gksudo gedit /etc/hosts

seu arquivo deve estar assim:
127.0.0.1   localhost
127.0.1.1   nome_da_maquina.alguma_coisa

Quando deveria estar assim:
127.0.0.1   localhost
127.0.1.1   nome_da_maquina

se estiver, apague esse ".alguma coisa" e teste o sudo.
Se não for isso, abra um novo tópico na sessão iniciantes pedindo ajuda, terá mais respostas e também por que eu posso esquecer de entrar nesse tópico pra ver sua resposta se deu certo ou não e, se não deu certo, posso lhe passar outras dicas que podem resolver o problema.
sou esquecido pra caçamba... XD

SEGUNDO: Veja esse tópico para compartilhamento de internet
http://ubuntuforum-br.org/index.php/topic,35576.0.html

Boa sorte!
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

spritz

Pessoal,
tenho dois computadores, um com xp e outro com ubuntu 8.10 e quero que eles acessem internet e compartilhem arquivos. Um esta com 3G da brasiltelecom e outro acessa com cabo ao ougtro computador.
como que eu procedo? ja to uma semana sem resultado

obrigado