![Apache 在非默认端口上,需要 iptables 帮助](https://linux22.com/image/505165/Apache%20%E5%9C%A8%E9%9D%9E%E9%BB%98%E8%AE%A4%E7%AB%AF%E5%8F%A3%E4%B8%8A%EF%BC%8C%E9%9C%80%E8%A6%81%20iptables%20%E5%B8%AE%E5%8A%A9.png)
我正在设置 apache 来监听端口 8000。
从 127.0.0.1 开始工作正常,但端口 8000 上的 IP 地址不起作用
该 IP 地址是我的路由器,我已经将端口 8000 转发到我的盒子
nmap 没有显示端口 8000,我想我需要一个 iptables 规则来打开它
到目前为止我已经运行过:
iptables -I INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
iptables-save
但到目前为止这似乎不起作用..有什么建议吗?
答案1
您可以通过执行以下操作来验证 apache 是否确实在监听端口 0.0.0.0:8000:
netstat -ntlp
您可以通过执行以下操作来验证 iptables 是否具有正确的规则:
iptables -nvL
在 iptables 输出中,确保在接受规则之前没有任何拒绝连接的规则。此外,在尝试网络外(通过路由器)之前,请尝试验证是否可以从同一网络上的另一台计算机访问它。
答案2
我很困惑,你想做什么?
如果您希望 apache 监听端口 8000,只需告诉它:
<VirtualHost <your box IP>:8000>
ServerName yourservername
...
</VirtualHost>
正如您所提到的,您的路由器已设置为转发流量到端口 8000,因此一切正常。
按照上述方法更改配置,重新启动 apache。从盒子 Telnet 到端口 8000,看看是否可行,然后从路由器后面的另一个尝试,最后从外部尝试。