Inicar PC sem HD através da rede com um outro PC com Ubuntu

Iniciado por jorge505, 29 de Fevereiro de 2012, 23:39

tópico anterior - próximo tópico

jorge505

Ainda não zek, amanhã irei obter mais informações sobre o computador central, rede, terminais e demais fatores...
Ate mais ;)

cleytondim

Pessoal, vou utilizar este tópico para tirar minha duvida.

Eu cuido de um laboratório em que os computadores são muito problemáticos, com os HD dando problema o tempo todo.
Então decidi utilizar um servidor para deixar os computadores sem hd, sendo apenas terminais. Instalei o ltsp e outros pacotes que os tuturiais diziam para instalar, fiz os testes e funcionou perfeitamente (O servidor tem apenas uma placa de rede. Os tutoriais diziam para ter duas placas, mas não me fazia muito sentido, então tentei apenas com uma, e deu certo).
Porém, no segundo dia, os terminais já não funcionavam. Eles conectavam no dhcp, no tftp, e entravam na tela de loading do ubuntu, mas não saíam mais do loading. Ficava lá a tela preta, com UBUNTU escrito, e embaixo os pontinhos de loading piscando. Eu formatei o servidor, e instalei tudo denovo, do mesmo jeito que tinha feito no primeiro dia, e não funcionou. Continua na tela do loading.

Alguém tem idéia do que pode ser? É realmente necessário ter duas placas de rede? (Se for necessário, porque teria funcionado no primeiro dia com apenas uma placa?)


zekkerj

CitarÉ realmente necessário ter duas placas de rede?
Não. É uma questão de desempenho, pq o LTSP gera muito tráfego na rede. Assim, o ideal é que a rede dele seja separada do resto. Mas claro que nem sempre tem como se fazer isso, e nem sempre a quantidade de terminais em uso compensa o investimento numa rede separada.

Note que se vc não tem uma rede separada, nem deve tentar trabalhar com duas placas de rede.

CitarAlguém tem idéia do que pode ser?
Como vc disse que reinstalou e não resolveu, eu apostaria em alguma influência externa, pela rede --- ou há outro servidor DHCP, ou há outro servidor TFTP no seu caminho.

A sequência de boot de um terminal LTSP é:
1. O terminal faz um pedido de DHCP.
2. O servidor DHCP atribui um endereço e indica ao (1) qual arquivo ele vai usar pra bootar e (2) de qual servidor TFTP ele vai pegar o arquivo.
3. O terminal faz a carga do arquivo, depois contacta o servidor atrás do sistema de arquivos raiz.
4. O terminal estabelece o sistema de arquivos e começa o boot propriamente dito, com a carga dos serviços.

Você tem que garantir que cada passo funciona, pra ter a sequência de boot completa.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

cleytondim

Aparentemente os clients não carregavam o SO pela rede estar saturada. Estão todos na rede principal da universidade.
Coloquei um segundo switch só para eles, e uma segunda placa de rede para o servidor, e agoram eles conseguem carregar o sistema. Mas surgiu um outro problema. A internet não funciona nos clients, e para os clients conectarem, eu não posso logar no servidor. Se o servidor logar, nenhum client loga mais.  E se algum client logar antes do servidor logar,  a net não funciona nem no servidor mais.
É como se o servidor só quisesse trabalhar com uma placa de rede, e a "primeira que chegar" ganha.

galactus

#34
Citação de: cleytondim online 19 de Março de 2012, 09:49
Aparentemente os clients não carregavam o SO pela rede estar saturada. Estão todos na rede principal da universidade.
Coloquei um segundo switch só para eles, e uma segunda placa de rede para o servidor, e agoram eles conseguem carregar o sistema. Mas surgiu um outro problema. A internet não funciona nos clients, e para os clients conectarem, eu não posso logar no servidor. Se o servidor logar, nenhum client loga mais.  E se algum client logar antes do servidor logar,  a net não funciona nem no servidor mais.
É como se o servidor só quisesse trabalhar com uma placa de rede, e a "primeira que chegar" ganha.

É só uma questão de configuração e alguns ajustes no gerenciador de rede do Ubuntu.

Você deve configurar uma placa de rede para receber a internet, exemplo, como a "eth0" com DHCP e a sua outra placa de rede, que vai ficar com as máquinas do LTSP, você configura com IP fixo. Isso vai causar um conflito no gerenciador de rede do Gnome, por você ter alterado manualmente os arquivos de configuração que o network manager usa.  Você vai ter que remover o network manager do Gnome e instalar o Wicd, só o administrador do sistema vai   poder configurar a rede pelo wicd. Portanto lembre-se de alterar no usuários e grupos e colocar ao menos um dos usuários criados por você, para que ele possa gerenciar o wicd! Atenção que isso vai valer apenas no modo gráfico, você vai fazer as alterações em modo texto!

Eu fiz como no tutorial do Youtube que te indiquei no começo deste tópico, isso quanto a configuração das duas placas de rede.  No quesito usuários e grupos, eu criei apenas um usuário com poderes de administração do sistema, os outros não, com isso qualquer usuário pode estar logado e a internet funciona para todo mundo, mas só o administrador pode alterar alguma coisa no Wicd!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

cleytondim

O servidor precisa ter um ip fixo pra receber a internet. A rede externa não tem dhcp.

galactus

Citação de: cleytondim online 19 de Março de 2012, 15:34
O servidor precisa ter um ip fixo pra receber a internet. A rede externa não tem dhcp.

Então usa um ip fixo para a placa de rede que recebe a internet e outro ip fixo para a placa de rede do LTSP. O resto vai ser o mesmo, remove o Network manager e use o Wicd!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

zekkerj

CitarEntão usa um ip fixo para a placa de rede que recebe a internet e outro ip fixo para a placa de rede do LTSP.
Que não podem ser da mesma rede... tipo, se um for 192.168.1.30, o outro não pode ser nenhum 192.168.1.*, mas pode ser 192.168.2.14, por exemplo.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

cleytondim

#38
Bom galera, dias se passaram e não consegui resolver o problema.
Desinstalei o network manager e coloquei o wicd. Mas deu na mesma. Optei por ficar sem gerenciador de rede, usando diretamente o arquivo de interfaces. O que também deu na mesma.

A situação é a seguinte:


Tenho o servidor ltsp, com duas placas de rede (uma onboard e uma offboard e Não uso gerenciador de rede):

A onboard (eth0) está com o ip fixo padrão do servidor ltsp (192.168.0.1). O Ltsp está funcionando normalmente. Os clients conseguem se conectar e iniciar o sistema.

A offboard (eth1) está com o ip fixo da rede interna da universidade, acessando a internet por um gateway. Mas a internet (no próprio servidor) só funciona se eu desabilitar a eth0. Com a eth0 ativa, o computador não acessa a internet e nem consegue pingar outros computadores da rede na universidade.


A grande questão é: Como fazer o ubuntu lidar com as duas redes ao mesmo tempo, dando ping tanto na rede dos clients como na rede da universidade.
(ou seja, que de algum modo o ubuntu saiba que quando é algo haver com os ips 192.168.0.x ele use a eth0, e quando tiver haver com qualquer outro ip, ele use a eth1).
Ressaltando que este "não funciona a internet" ocorre também no próprio servidor. Antes de tentar colocar a internet nos clients, quero fazer funcionar no servidor.

zekkerj

CitarA offboard (eth1) está com o ip fixo da rede interna da universidade, acessando a internet por um gateway. Mas a internet (no próprio servidor) só funciona se eu desabilitar a eth0. Com a eth0 ativa, o computador não acessa a internet e nem consegue pingar outros computadores da rede na universidade.
Vc definiu defalt-gateway na configuração da eth0, no arquivo interfaces, não? Se fez isso, é só apagar a linha e reiniciar as interfaces ["sudo ifdown eth0 ; sudo ifup eth0 ; sudo ifdown eth1 ; sudo ifup eth1"].
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

cleytondim

Não coloquei gateway na eth0 não.
Segue meu arquivo interfaces:


auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255

auto eth1
iface eth1 inet static
address 10.210.8.100
network 10.210.8.0
netmask 255.255.255.0
gateway 10.210.8.254

zekkerj

#41
CitarA grande questão é: Como fazer o ubuntu lidar com as duas redes ao mesmo tempo, dando ping tanto na rede dos clients como na rede da universidade.
(ou seja, que de algum modo o ubuntu saiba que quando é algo haver com os ips 192.168.0.x ele use a eth0, e quando tiver haver com qualquer outro ip, ele use a eth1).
Ressaltando que este "não funciona a internet" ocorre também no próprio servidor. Antes de tentar colocar a internet nos clients, quero fazer funcionar no servidor.
O simples fato de haver duas interfaces de rede, cada uma com uma faixa de rede própria, já serve pra indicar ao sistema qual interface usar; por isso a necessidade das interfaces terem endereços de rede diferentes. Só fica faltando o default gateway, que indica para qual caminho deve se mandar um pacote quando não há outra rota específica.

O comportamento que vc tinha descrito era típico de default gateway mal configurado. Talvez você esteja com algum comando forçando o gateway pra eth0?

Execute os comandos abaixo e cole o resultado aqui:

route -n

route del -net default
route add -net default gw 10.210.8.254

route -n
traceroute -n 8.8.8.8
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

cleytondim

Dei um route sem o -n antes.

root@dti:~# route
Tabela de Roteamento IP do Kernel
Destino         Roteador        MáscaraGen.    Opções Métrica Ref   Uso Iface
default         10.210.8.254    0.0.0.0         UG    100    0        0 eth1
10.210.8.0      *               255.255.255.0   U     0      0        0 eth1
link-local      *               255.255.0.0     U     1000   0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
root@dti:~# route -n
Tabela de Roteamento IP do Kernel
Destino         Roteador        MáscaraGen.    Opções Métrica Ref   Uso Iface
0.0.0.0         10.210.8.254    0.0.0.0         UG    100    0        0 eth1
10.210.8.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
root@dti:~# route del -net default
root@dti:~# route add -net default gw 10.210.8.254
root@dti:~# route -n
Tabela de Roteamento IP do Kernel
Destino         Roteador        MáscaraGen.    Opções Métrica Ref   Uso Iface
0.0.0.0         10.210.8.254    0.0.0.0         UG    0      0        0 eth1
10.210.8.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
root@dti:~# traceroute -n 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1  10.210.8.100  3002.540 ms !H  3002.526 ms !H  3002.505 ms !H
root@dti:~#


zekkerj

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

cleytondim

root@dti:~# ping -c 4 10.210.8.254
PING 10.210.8.254 (10.210.8.254) 56(84) bytes of data.
From 10.210.8.100 icmp_seq=1 Destination Host Unreachable
From 10.210.8.100 icmp_seq=2 Destination Host Unreachable
From 10.210.8.100 icmp_seq=3 Destination Host Unreachable
From 10.210.8.100 icmp_seq=4 Destination Host Unreachable

--- 10.210.8.254 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3015ms
pipe 3