Como você executa um servidor com o Ubuntu chrooted no HP TouchPad?

1

O problema: os servidores parecem estar quebrados dentro do meu chroot do Ubuntu. Não importa que tipo de servidor eu tente executar, todos parecem não responder (o servidor VLC não responde ao cliente, mkRemote não move o servidor cursor, Apache dá um erro sobre ligação à porta 80 e não inicia, etc.).

Se não me engano, o que normalmente deveria acontecer dentro de um chroot é que todas as portas são compartilhadas entre o chroot e o host, então se outra máquina tentar acertar o host na porta 80, ele ainda verá a Web com chroot servidor. No entanto, aqui, não é isso que está acontecendo.

Quando executo o netstat a partir do chroot, todo processo lista um endereço externo de 0.0.0.0:*, o que significa que a única máquina que pode atuar como um cliente é o host local. Isso é claramente um comportamento incorreto e anormal, já que qualquer processo na minha máquina primária que deveria ser publicamente visível lista um endereço externo de ::: * (que eu suponho que significa que qualquer cliente pode vê-lo de qualquer porta). > Edit: Desconsidere isso; aparentemente, o endereço estrangeiro só distingue entre ouvir se há conexões IPv4 ou IPv6, por isso não parece relevante aqui.

Até agora, o Googling não retornou nada de valor e estou basicamente perplexo. Alguma ideia? Poderia ser apenas alguma configuração qual dos programas de desenvolvimento chroot está ativada por padrão, ou parece um problema mais complicado?

Mais contexto: link

    
por Ryan Lester 09.01.2012 / 18:42

1 resposta

1

Eu tive o mesmo problema, e encontrei essa pergunta enquanto procurava a resposta na Internet, e acabei de descobrir uma solução! Eu estava tentando obter um servidor WEBrick Ruby on Rails rodando no meu Ubuntu chrooted no meu TouchPad. Eu surpreendentemente tenho todas as minhas gemas instaladas corretamente, e eu iniciei o servidor rails. Eu fui para localhost:3000 no meu navegador no meu TouchPad, e ele carregou o meu projeto muito bem. No entanto, quando tentei navegar para o servidor do meu TouchPad na minha área de trabalho, visitando 192.168.x.x:3000 , a solicitação atingiu o tempo limite. Eu sabia que isso tinha que ser um problema de firewall, mas quando checava meu Ubuntu, percebi que o firewall estava desativado e o iptables não estava instalado. Comecei a pensar e criei uma teoria de que o WebOS estava bloqueando a comunicação em todas as portas. Examinei as portas com um scanner de rede no meu computador e nada estava aberto. Seria pingue-pongue, mas sem acesso à porta. Depois de mais algumas pesquisas, descobri que o TouchPad usa o iptables dentro do WebOS. Uma maneira fácil de acessar o Linux subjacente por trás do WebOS é usar o XTerm (você provavelmente o instalou junto com Xecutah e XServer da Preware). Basta iniciar o Xecutah e clicar em Iniciar XTerm. Eu digitei esses comandos para permitir todo o acesso em todas as portas para WebOs, que por sua vez dá a todas as portas acesso ao Ubuntu:

sudo iptables-save > /firewall.rules

iptables -X

iptables -t nat -F

iptables -t nat -X

iptables -t mangle -F

iptables -t mangle -X

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

iptables -F

Não se preocupe se iptables -X der a você um erro de link. Se, depois de testar seu servidor, você quiser restaurar o firewall no WebOS, basta executar este comando:

iptables-restore < /firewall.rules

Isso é tudo o que fez o meu servidor funcionar no Ubuntu. O mesmo deveria funcionar para você.

    
por 16.02.2012 / 19:16