Não consigo mais compartilhar internet... porquê?

Iniciado por FernandoCordeiro, 27 de Fevereiro de 2009, 13:14

tópico anterior - próximo tópico

FernandoCordeiro

Antigamente compartilhava sem problemas usando o seguinte:

eth0 - conectado ao modem speedy
eth1 - conectado ao outro computador


root@fernando-desktop:/home/fernando# ifconfig eth1 192.168.0.1
root@fernando-desktop:/home/fernando# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
root@fernando-desktop:/home/fernando# echo 1 > /proc/sys/net/ipv4/ip_forward

root@fernando-desktop:/home/fernando# apt-get install dnsmasq ipmasq
root@fernando-desktop:/home/fernando# /etc/init.d/dnsmasq restart

root@fernando-desktop:/home/fernando# dpkg-reconfigure ipmasq

root@fernando-desktop:/home/fernando# ifconfig eth1 192.168.0.1
root@fernando-desktop:/home/fernando# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
root@fernando-desktop:/home/fernando# echo 1 > /proc/sys/net/ipv4/ip_forward



Então descomentei a linha "net.ipv4.ip_forward = 1" em /etc/sysctl.conf e salvei.

Em versões anteriores do Ubuntu eu usava isso sem problemas, agora não funciona mais (8.10)
O outro PC, assim como anteriormente, possui Windows XP e está assim:

IP: 192.168.0.2
Máscara: 255.255.255.0
Gateway: 192.168.0.1
DNS: 200.204.0.10 (dns do speedy, mas também tentei 192.168.0.1 e em branco)

Em um arquivo coloquei:



#!/bin/bash
ifconfig eth1 192.168.0.1
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward



Dei permissão de execução, salvei em /usr/bin/ e adicionei o arquivo á sessão.
Fiquei quase um ano sem usar linux, agora que resolvi voltar essa dor de cabeça...  :'(

Resultado do ifconfig:



fernando@fernando-desktop:~$ ifconfig
eth0      Link encap:Ethernet  Endereço de HW 00:21:97:10:ac:f9 
          endereço inet6: fe80::221:97ff:fe10:acf9/64 Escopo:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Métrica:1
          pacotes RX:59679 erros:0 descartados:0 excesso:0 quadro:0
          Pacotes TX:46006 erros:0 descartados:0 excesso:0 portadora:0
          colisões:0 txqueuelen:1000
          RX bytes:79109455 (79.1 MB) TX bytes:4882698 (4.8 MB)
          IRQ:254 Endereço de E/S:0x2000

eth1      Link encap:Ethernet  Endereço de HW 00:e0:4c:0b:dd:b2 
          endereço inet6: fe80::2e0:4cff:fe0b:ddb2/64 Escopo:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Métrica:1
          pacotes RX:19 erros:0 descartados:0 excesso:0 quadro:0
          Pacotes TX:20 erros:0 descartados:0 excesso:0 portadora:0
          colisões:0 txqueuelen:1000
          RX bytes:1896 (1.8 KB) TX bytes:5256 (5.2 KB)
          IRQ:20 Endereço de E/S:0xe800

lo        Link encap:Loopback Local 
          inet end.: 127.0.0.1  Masc:255.0.0.0
          endereço inet6: ::1/128 Escopo:Máquina
          UP LOOPBACK RUNNING  MTU:16436  Métrica:1
          pacotes RX:48 erros:0 descartados:0 excesso:0 quadro:0
          Pacotes TX:48 erros:0 descartados:0 excesso:0 portadora:0
          colisões:0 txqueuelen:0
          RX bytes:5100 (5.1 KB) TX bytes:5100 (5.1 KB)

ppp0      Link encap:Protocolo Ponto-a-Ponto 
          inet end.: 201.92.118.31  P-a-P:200.204.210.242  Masc:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Métrica:1
          pacotes RX:59508 erros:0 descartados:0 excesso:0 quadro:0
          Pacotes TX:45940 erros:0 descartados:0 excesso:0 portadora:0
          colisões:0 txqueuelen:3
          RX bytes:77789923 (77.7 MB) TX bytes:3867890 (3.8 MB)



Agradeço muito se alguém se dispuser a ajudar.
"Existem 10 tipos de pessoas no mundo: as que conhecem código binário e as que não."

raidicar

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.

FernandoCordeiro

Citação de: raidicar online 27 de Fevereiro de 2009, 21:10
Já tentou seguir essa dica?
http://ubuntuforum-br.org/index.php/topic,35576.0.html

Perfeito! Mas restou uma dúvida, como colocar isso para funcionar na inicialização. Tentei a dica do colega, neste mesmo tópico que você citou, mas não funcionou:



echo " * Iniciando compartilhamento de Internet"
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE



Parece que isso é executado antes do gerenciador de rede se conectar.
"Existem 10 tipos de pessoas no mundo: as que conhecem código binário e as que não."

ucastrobr

#3
Hêhêhê!! O mundo é pequeno Januário. Achei que tu gostavas mais do resulinux.
Internet é um dos "problemas" do Ubuntu que devia ser mais simples configurar, principalmente para quem nunca viu linux. E aí já está aprendendo Java? Porque eu estou voltando novamente a banco de dados para relembrar.

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A POSTROUTING -s <endereço de rede da rede interna> -o ppp0 -j MASQUERADE



Exemplo:iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ppp0 -j MASQUERADE

Onde 24 e mascara 255.255.255.0 no exemplo acima.

Ou veja esse link dá uma segunda opção de configuração:

http://www.gdhpress.com.br/servidores/leia/index.php?p=cap2-3
Spock – "After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true."
("Depois um de tempo você vai perceber que ter algo pode não ser tão prazeroso quanto deseja-lo. Isto não é lógico, mas frequentemente é verdade.")

FernandoCordeiro

Citação de: ucastrobr online 28 de Fevereiro de 2009, 13:08
Hêhêhê!! O mundo é pequeno Januário. Achei que tu gostavas mais do resulinux.
Internet é um dos "problemas" do Ubuntu que devia ser mais simples configurar, principalmente para quem nunca viu linux. E aí já está aprendendo Java? Porque eu estou voltando novamente a banco de dados para relembrar.

hehehe.... fala ai meu amigo...
Acho legal a idéia do Resulinux, mas não curto KDE. Realmente compartilhamento de internet é bem mais simples que no Windows, mas deveria haver algo gráfico para isso, o problema é que um tropeção na linha de comando, se você não entende á fundo iptables, e nada funciona como deveria. De todo modo, agora está funcionando. Acho que tinha feito algo errado, tirei os comandos do rc.local e fiz um script separado no init.d e passou a funcionar. Antes simplesmente "desviava" a internet somente para o segundo micro.

P.S. Ah... idéia de voltar ao Ubuntu foi justamente por causa do java... =)
"Existem 10 tipos de pessoas no mundo: as que conhecem código binário e as que não."

FernandoCordeiro

Apenas pensei ter resolvido... depois de seguir a dica do raidicar, e reiniciar o computador nada acontece, a internet não é compartilhada. Porém se eu executo manualmente o script a internet é desviada para o segundo PC, ficando o primeiro sem acesso.
"Existem 10 tipos de pessoas no mundo: as que conhecem código binário e as que não."

raidicar

OK, vc executou o script como root?
A internet funcionava normalmente no primeiro pc antes do compartilhamento?
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.

FernandoCordeiro

Citação de: raidicar online 05 de Março de 2009, 00:35
OK, vc executou o script como root?
A internet funcionava normalmente no primeiro pc antes do compartilhamento?

Sim, como root.

Internet funciona no micro 1 (conectado ao modem) mas não no micro 2
Executa o script e imediatamente a internet deixa de funcionar no micro e passa a funcionar somente no micro 2
"Existem 10 tipos de pessoas no mundo: as que conhecem código binário e as que não."