问题:我的 Ubuntu chroot 中的服务器似乎已损坏。无论我尝试运行哪种类型的服务器,它们似乎都没有响应(VLC 服务器不会响应客户端,远程遥控不移动光标,Apache 给出关于绑定到端口 80 的错误并且不会启动,等等)。
如果我没记错的话,chroot 内部通常会发生的情况是 chroot 和主机之间共享所有端口,因此如果另一台计算机尝试在端口 80 访问主机,它仍然会看到 chroot 的 Web 服务器。然而,在这里,情况并非如此。
当我从 chroot 运行 netstat 时,每个进程都会列出一个外部地址 0.0.0.0:*,这意味着唯一可以充当客户端的计算机是本地主机。这显然是不正确和异常的行为,因为我的主计算机上的任何进程都应该公开可见,都会列出一个外部地址 :::* (我认为这意味着任何客户端都可以从任何端口看到它)。
编辑:忽略这一点;显然,外部地址仅区分它是在侦听 IPv4 还是 IPv6 连接,因此它在这里似乎不相关。
到目前为止,谷歌搜索没有返回任何有价值的信息,我基本上被难住了。有任何想法吗?这可能只是某个 chroot 补丁开发者默认启用的某些设置,还是看起来是一个更复杂的问题?
谢谢。
更多背景:http://rootzwiki.com/topic/14682-webos-servers-inside-chrooted-ubuntu/
答案1
0.0.0.0:*
和之间的唯一区别:::*
是第一个仅支持 IPv4,第二个是 IPv6(或者更典型的是 IPv4)和IPv6 因为有兼容层)。
您如何尝试连接到服务器? (如果您使用的是localhost
,也许会解析为::1
IPv6 形式?)尝试使用 进行连接127.0.0.1
。也许他们是正在运行但不可用,因为您正在尝试使用 IPv6 进行连接。
另一种选择是防火墙可能阻止访问端口。ufw disable
如果您安装了默认的 Ubuntu 防火墙,请尝试(以 root 身份)。请记住,如果您在不受保护的网络上使用平板电脑,这可能会产生负面的安全后果。 ;-)
答案2
你挂载/proc、/dev等了吗?
# mount
尝试网络猫:
# nc -v -l 8089
# nc -v 127.0.0.1 8089
检查系统日志文件。
答案3
未来的人们,不要害怕。如果您发现了这个问题,那么您就遇到了一个令人沮丧的问题,并且正在寻找一个可靠的解决方案。幸运的是,我在另一个 SE 网站上回答了这个问题。它对 OP 和我都有效。可以找到这里。