The problem: servers appear to be broken inside my Ubuntu chroot. No matter what kind of server I try to run, they all seem unresponsive (VLC server won't respond to client, mkRemote doesn't move the cursor, Apache gives an error about binding to port 80 and won't start, etc.).

If I'm not mistaken, what should normally happen inside a chroot is that all ports are shared between the chroot and the host, so if another machine tries to hit the host at port 80, it will still see the chrooted Web server. However, here, that isn't what's happening.

When I run netstat from the chroot, every single process lists a foreign address of*, meaning that the only machine which can act as a client is the local host. This is clearly incorrect and abnormal behaviour, as any process on my primary machine meant to be publicly visible lists a foreign address of :::* (which I assume means that any client can see it from any port).
Edit: Disregard that; apparently the foreign address only distinguishes between whether it's listening for IPv4 or IPv6 connections, so it doesn't seem relevant here.

So far, Googling has returned nothing of value, and I'm basically stumped. Any ideas? Could it just be some setting which one of the chroot patch devs enabled by default, or does it seem like a more complicated issue?


More context: http://rootzwiki.com/topic/14682-webos-servers-inside-chrooted-ubuntu/

closed as too localized by Michael Mrozek Nov 6 '12 at 17:49

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.


The only difference between* and :::* is that the first is IPv4-only and the second is IPv6 (or, more typically, IPv4 and IPv6 since there is a compatibility layer).

How are you trying to connect to the server? (if you're using localhost, maybe that gets resolved to ::1, the IPv6 form?) Try connecting using instead. Perhaps they are running but are unavailable because you are attempting to use IPv6 to connect.

The other option is that maybe a firewall is preventing access to the ports. Try ufw disable (as root) if you have the default Ubuntu firewall installed. Remember that if you are using the tablet on an unprotected network, this may have negative security consequences. ;-)


Did you mount /proc, /dev etc. ?

# mount

Try netcat:

# nc -v -l 8089
# nc -v 8089

Check system log files.


People of the future, do not fear. If you've found this question, you've come across a frustrating problem and are looking for a sure-fire solution. Luckily, I have answered this question on a different SE site. It has worked for both the OP and me. It can be found here.

Not the answer you're looking for? Browse other questions tagged or ask your own question.