我有一个路由器和四台计算机连接为本地网络。
IP:
Router(192.168.8.1)(internet ip:125.119.203.127)
server1(192.168.8.3)
my computer(192.168.8.8)
......
运行server1
在 RedHat Linux 上,该 Linux 设置为使用端口重定向,将端口 80 重定向到 8081。而该服务器中的 tomcat 使用端口 8081。
[root@server1 bin]# iptables -t nat -vnL
Chain PREROUTING (policy ACCEPT 3169 packets, 274K bytes)
pkts bytes target prot opt in out source destination
4 208 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:222 redir ports 22
221 14971 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 8081
Chain POSTROUTING (policy ACCEPT 2253 packets, 141K bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 2252 packets, 140K bytes)
pkts bytes target prot opt in out source destination
现在在我的电脑上,我可以使用浏览器访问本地网络中的站点:
http://192.168.8.3
http://192.168.8.3:8081
路由器配置为将端口 80 重定向到端口 80192.168.8.3
但我无法使用互联网地址访问该网站:
http://125.119.203.127
通常,该请求应发送到server1
192.168.8.3:80,然后server1
重定向到端口 8081。
然后我更改路由器的配置,将端口 80 重定向到我计算机上的端口 80。
然后我可以访问: http://125.119.203.127
那么问题出在哪里呢?
答案1
从网络外部使用namp检查端口8081是否对外可用
$ nmap -PN external_ip
该命令将显示外部所有监听服务。由于您可以使用内部访问该站点http://<internal_ip>:8081
,因此问题出在路由器上。
正如您提到的“路由器配置为将端口 80 重定向到端口 80”,如何配置将端口 8081 从路由器转发到内部服务器?
我认为您需要将端口 8081 从路由器转发到端口 80 到内部服务器。