Pedro Asked: 2009-08-08 00:59:07 +0800 CST2009-08-08 00:59:07 +0800 CST 2009-08-08 00:59:07 +0800 CST Debian 开放端口 81 772 我使用端口 81 在一台服务器上安装 lighttpd。 问题是端口关闭了,不知道怎么打开端口。 问候, 佩德罗 debian port lighttpd 3 个回答 Voted womble 2009-08-08T01:09:33+08:002009-08-08T01:09:33+08:00 定义“封闭”。如果netstat -ltn显示0.0.0.0:81在“本地地址”列中,则 lighttpd 正在侦听(因此端口实际上并未关闭),这与防火墙有关。如果您知道您正在使用防火墙管理包,那么修改它以允许到端口 81 的新入站连接是可行的方法,否则您可以尝试使用类似的方式“手动”打开端口iptables -I INPUT 1 -p tcp --dport 81 -j ACCEPT(尽管如果您正在运行某种防火墙管理器,该更改可能会被清除,并且在重新启动时肯定会被清除)。有关您的系统的更多信息可以得到更详细和更有用的答案。 Best Answer Kyle Brandt 2009-08-08T03:42:09+08:002009-08-08T03:42:09+08:00 Netstat: 从你所说的来看,听起来端口可能实际上并没有在监听。如果端口 81 正在侦听所有接口,您应该会从“netstat -tapnl”中看到类似于以下行的内容: tcp 0 0 192.168.1.82:81 0.0.0.0:* LISTEN - tcp 0 0 192.168.131.1:81 0.0.0.0:* LISTEN - tcp 0 0 192.168.21.1:81 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:81 0.0.0.0:* LISTEN - 第 4 列是监听它们的 IP 地址。127.0.0.1 是环回接口。您可能还会看到所有接口的 0.0.0.0:81。 iptables: 因此,如果您确实从 netstat 输出中看到它在 127.0.0.0 或 0.0.0.0 上侦听,那么如果您在 'sudo iptables -L -v ' 命令: 1198K 183M ACCEPT all -- lo any anywhere anywhere 如果在 INPUT 链下表示接受所有传入连接到环回接口。另外,请注意前两列。这是与该规则匹配的数据包/字节数,因此您应该会看到计数器随着 DROP 或 ACCEPT 规则的相应变化。这是一种查看规则是否“捕获”数据包的方法。 结论: 确保 lighttpd 实际上正在运行 'sudo ps aux | grep lighttpd'(假设是进程名称)。如果不是,请使用“sudo /etc/init.d/lighttpd start”启动它。然后,如果您仍然没有看到它在监听,请查看 /var/log/lighttpd 的日志。最后,发布您的 lighttpd 配置。如果您尝试以非 root 用户身份启动该进程,您也将无法将其绑定到 81,因为这是一个特权端口(即使该进程可能以另一个用户身份运行)。 以上假设您具有 ssh 访问权限或类似的权限,并且位于机器本身上。这是启动、消除路由器及其可能的 NAT 复杂性的最佳位置。您可以使用 iptables 进行 NAT,但不确定是否可以使用环回接口进行,如果可以,那将是一件奇怪的事情。 Amandasaurus 2009-08-08T01:27:02+08:002009-08-08T01:27:02+08:00 您如何尝试访问它?即您在地址栏中输入的地址是什么?您使用的是localhost, 还是127.0.0.1外部地址或域?
定义“封闭”。如果
netstat -ltn
显示0.0.0.0:81
在“本地地址”列中,则 lighttpd 正在侦听(因此端口实际上并未关闭),这与防火墙有关。如果您知道您正在使用防火墙管理包,那么修改它以允许到端口 81 的新入站连接是可行的方法,否则您可以尝试使用类似的方式“手动”打开端口iptables -I INPUT 1 -p tcp --dport 81 -j ACCEPT
(尽管如果您正在运行某种防火墙管理器,该更改可能会被清除,并且在重新启动时肯定会被清除)。有关您的系统的更多信息可以得到更详细和更有用的答案。Netstat:
从你所说的来看,听起来端口可能实际上并没有在监听。如果端口 81 正在侦听所有接口,您应该会从“netstat -tapnl”中看到类似于以下行的内容:
第 4 列是监听它们的 IP 地址。127.0.0.1 是环回接口。您可能还会看到所有接口的 0.0.0.0:81。
iptables:
因此,如果您确实从 netstat 输出中看到它在 127.0.0.0 或 0.0.0.0 上侦听,那么如果您在 'sudo iptables -L -v ' 命令:
如果在 INPUT 链下表示接受所有传入连接到环回接口。另外,请注意前两列。这是与该规则匹配的数据包/字节数,因此您应该会看到计数器随着 DROP 或 ACCEPT 规则的相应变化。这是一种查看规则是否“捕获”数据包的方法。
结论:
确保 lighttpd 实际上正在运行 'sudo ps aux | grep lighttpd'(假设是进程名称)。如果不是,请使用“sudo /etc/init.d/lighttpd start”启动它。然后,如果您仍然没有看到它在监听,请查看 /var/log/lighttpd 的日志。最后,发布您的 lighttpd 配置。如果您尝试以非 root 用户身份启动该进程,您也将无法将其绑定到 81,因为这是一个特权端口(即使该进程可能以另一个用户身份运行)。
以上假设您具有 ssh 访问权限或类似的权限,并且位于机器本身上。这是启动、消除路由器及其可能的 NAT 复杂性的最佳位置。您可以使用 iptables 进行 NAT,但不确定是否可以使用环回接口进行,如果可以,那将是一件奇怪的事情。
您如何尝试访问它?即您在地址栏中输入的地址是什么?您使用的是
localhost
, 还是127.0.0.1
外部地址或域?