Come si esegue un server con Ubuntu chroot su HP TouchPad?


1

Il problema: i server sembrano essere rotti all'interno del mio chroot di Ubuntu. Indipendentemente dal tipo di server che cerco di eseguire, sembrano tutti non rispondere (il server VLC non risponderà al client, mkRemote non sposta il cursore, Apache dà un errore sull'associazione alla porta 80 e non si avvia, ecc. ).

Se non sbaglio, ciò che dovrebbe normalmente accadere all'interno di un chroot è che tutte le porte sono condivise tra chroot e host, quindi se un altro computer tenta di colpire l'host sulla porta 80, vedrà comunque il server Web chroot. Tuttavia, qui, non è quello che sta succedendo.

Quando eseguo netstat dal chroot, ogni singolo processo elenca un indirizzo esterno di 0.0.0.0:*, il che significa che l'unica macchina che può fungere da client è l'host locale. Si tratta di un comportamento chiaramente errato e anormale, poiché qualsiasi processo sulla mia macchina principale inteso come visibile pubblicamente elenca un indirizzo esterno di ::: * (che presumo significhi che qualsiasi client può vederlo da qualsiasi porta).
Modifica: Ignora quello; a quanto pare l'indirizzo esterno distingue solo se sta ascoltando connessioni IPv4 o IPv6, quindi non sembra rilevante qui.

Finora, Google non ha restituito nulla di valore e sono sostanzialmente sconcertato. Qualche idea? Potrebbe essere solo un'impostazione su quale degli sviluppatori della patch chroot è abilitato di default, o sembra un problema più complicato?

Altro contesto: http://rootzwiki.com/topic/14682-webos-servers-inside-chrooted-ubuntu/




Bump. Hai provato la mia soluzione?
Andrew Larsson,

1
Oh, ehi, mi dispiace per quello; Volevo aggiornarlo tre mesi fa e ho completamente dimenticato (in realtà ho notato la tua risposta solo ora perché ho aperto un risultato SuperUser da Google e ho visto la barra delle notifiche). In realtà (a gennaio) ho fatto esattamente quello che hai scritto, quindi grazie per la fantastica risposta! (Anche io lo voterei, ma la mia reputazione non è abbastanza alta.: /)
Ryan Lester

A parte: l'idea del mouse WiFi sembra fare schifo. È insolitamente lento, e non vale la pena provarlo affatto. Tuttavia, CM9 sul TouchPad è incredibilmente stabile e funziona perfettamente con un mouse BlueTooth economico (app indispensabili, oltre a un chroot, per la sostituzione del desktop: DroidEdit Pro, Better Terminal Pro, Dolphin Browser HD).
Ryan Lester,

Risposte:


1

Ho avuto lo stesso problema e ho trovato questa domanda mentre cercavo una risposta in Internet e ho appena scoperto una soluzione! Stavo cercando di far funzionare un server WEBrick Ruby on Rails sul mio Ubuntu chroot sul mio TouchPad. Sorprendentemente ho installato correttamente tutte le mie gemme e ho avviato il server rails. Sono andato su localhost:3000nel mio browser sul mio TouchPad e il mio progetto ha caricato bene. Tuttavia, quando ho provato a navigare sul server del mio TouchPad sul desktop visitando192.168.x.x:3000, la richiesta è scaduta. Sapevo che questo doveva essere un problema con il firewall, ma quando ho effettuato il check in sul mio Ubuntu chroot, mi sono reso conto che il firewall era disabilitato e iptables non era nemmeno installato. Ho iniziato a pensare e ho avuto una teoria secondo cui WebOS stava bloccando la comunicazione su tutte le porte. Ho scannerizzato le porte con uno scanner di rete sul mio computer e nulla era aperto. Sarebbe ping-pong, ma nessun accesso al porto. Dopo qualche altra ricerca, ho scoperto che il TouchPad utilizza iptables in WebOS. Un modo semplice per accedere al Linux sottostante dietro WebOS è usare XTerm (probabilmente lo hai installato insieme a Xecutah e XServer da Preware). Basta avviare Xecutah e fare clic su Avvia XTerm. Ho digitato questi comandi per consentire tutto l'accesso su tutte le porte per WebOs, che a sua volta dà a tutte le porte l'accesso a Ubuntu chroot:

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

Non preoccuparti se iptables -Xti dà un errore di collegamento. Se, dopo aver terminato il test del server, desideri ripristinare il firewall in WebOS, esegui questo comando:

iptables-restore < /firewall.rules

Questo è tutto ciò che ha fatto funzionare il mio server su Ubuntu chroot. Lo stesso dovrebbe funzionare per te.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.