Rede Compartilhada - Não funciona!

Iniciado por Samuel Fisher, 25 de Maio de 2008, 10:54

tópico anterior - próximo tópico

Samuel Fisher

Bom dia,

Possuo duas placas de Rede e conexão com a internet Speedy (PPPOE) em um micro com Ubuntu (neste caso, chamarei de micro1).
Possuo outro computador (micro2) com Windows XP.Gostaria de compartilhar a conexão entre estes micros via cabo crossover, como tenho feito com o Windows.

A placa de rede Eth0 fica conectada ao modem e a placa Eth1 fica conectada ao outro micro.


Já pesquisei e utilizei N vezes os comandos

Citar
# modprobe iptable_nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ou este

Citar
# modprobe iptable_nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE


Ou ainda este

Citar
# modprobe iptable_nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Mas não funciona.Estou praticamente desistindo de vez de fazer isto funcionar, então, antes de tirar o Ubuntu, eu pergunto: alguém teria idéia do que pode estar acontecendo???




danpos

Encontrado no fórum. Tem que fazer as adaptações para o teu caso em questão (duas placas ethernet ao invés de uma ethernet e outra wireless).

Danpos.

raidicar

#2
Salve companheiro,

como foi dito pelo companheiro danpos, vc deve adaptar um comando a sua situação e não ir copiando e colando o que vc acha na net, isso é perigoso, cedo ou tarde vai estragar alguma coisa que vai ser dificil concertar...

Eu fico meio noiado quando vejo o pessoal copiando e colando o que acha na net sem analizar o que esta sendo feito, as vezes nem faz sentido, ;)

Veja bem, vc quer "compartilhar a sua conexão PPPOE", o pppoe cria uma conexão chamada ppp0 que vc a configura pelo pppoeconf, certo?, seguindo essa frase ao pé da letra, vc quer compartilhar a sua "conexão", e a sua conexão é a ppp0, que usa pppoe, vc, ao estabelecer a conexão, se digitar no terminal "ifconfig" verá que alem das eth, tem a ppp0, se a ppp0 não esta la, então não tem internet, não tem mais nada alem das eth e a ppp0, então, ppp0 é sua conexão de internet e vc, como  quer compartilhar sua conexão, deve compartilhar sua ppp0, qualquer coisa que fuja a isso, foge da lógica que se aplica a sua situação, então, esqueça os outros comandos pq só fizeram uma salada de tofu tentando compartilhar eth0 e eth1, a eth1, coitada, esta na rede ligada ao outro pc  não tem nada a ver com a história, a eth0 só deveria ser usada se vc tivesse uma conexão direta nela, onde é só plugar e conectar, sem a necessidade de criar conexão.

Vc deve usar speedy, por isso, faça o seguinte:
Deixe sua rede assim

Ubuntu
Placa de rede eth0 (Recebe a Internet vi PPPOE)
IP - não interessa
SubMascara - não interessa
Gateway - não interessa
DNS - não interessa
resumindo, não mexa na eth0.

Placa de rede eth1 (ligada a a outro pc via cabo cross)
IP - 192.168.0.1
SubMascara - 255.255.255.0
Gateway - Automático
DNS - Automático

Windows XP
IP - 192.168.0.2
SubMascara - 255.255.255.0
Gateway - 192.168.0.1
DNS 1 - 200.204.0.10
DNS 2 - 200.204.0.138
(Essas DNS são as DNS da telefonica, para quem utiliza speedy, eu uso para virtua também)

habilite o root (caso não o tenha feito) digitando no terminal "sudo passwd root"
coloque a senha e repita para em seguida digitar o comando "su"
ai coloque a senha e vai estar como root no terminal, acontece que esse comando "echo 1 > /proc/sys/net/ipv4/ip_forward" precisa ser dado como root, mesmo colocando sudo na frente ele da permissão negada, então, como root de os comandos:

$ iptables -F
$ iptables -F INPUT
$ iptables -F OUTPUT
$ iptables -F POSTROUTING -t nat
$ iptables -F PREROUTING -t nat
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -P FORWARD ACCEPT
$ iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

como vc esta como root no terminal, não deve digitar "sudo" na frente dos comandos.
teste a internet no windows, se funcionar, coloque esses comandos em rc.local para não precisar ficar digitando toda vez que ligar o Ubuntu.

siga isso a risca e vai fincionar, use esses ips, não mude nada que ai vai funcionar, se mudar, tenha em mente seguir uma cadeia, ex: se quiser deixar o ip da eth1 como 192.168.10.1, então o ip do micro Windows será 192.168.10.2 e o gateway do windows é 192.168.10.1, assim o ultimo comando deve ser $ iptables -A POSTROUTING -t nat -s 192.168.10.0/24 -o ppp0 -j MASQUERADE

se não funcionar, poste a configuração da sua rede, o ip, mascara gateway, dns... tudo o que definiu na eth1 e na rede do micro windows.
se funcionar, edite o tópico e coloque [resolvido] para facilitar aos outros usuarios do forum.

obs: esse comando "echo 1 > /proc/sys/net/ipv4/ip_forward" muda o valor de ip_forward para 1, sendo que o padrão é 0, para verificar se o valor que consta é um digite no terminal "cat /proc/sys/net/ipv4/ip_forward".
(ISSO foi só para explicar melhor e vc entender, não precisa o valor de ip_forward, pois vc o mudou para 1)
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.