端口转发故障排除

端口转发故障排除

我正在尝试从我的家庭网络运行 Web 服务器,但是从 WAN 访问我的服务器时遇到了一些困难。

如果您知道问题可能出在哪里,或者需要更多信息,请告诉我。

设置:

设置

ISP 路由器

我在 Web 界面上启用了 ISP 路由器上的端口转发。但是,除了启用/禁用之外,我无法控制防火墙设置。防火墙尊重端口转发似乎合乎逻辑...

我可以确认该端口在 WAN 上是开放的,因为我使用 nmap 扫描了我的开放端口。

我还确信我将端口转发到了正确的 IP 地址,因为 ISP 的路由器只有一个客户端:openWRT 路由器。

OpenWRT路由器

我已经启用了 Luci Web 界面的端口转发:

OpenWRT01

OpenWRT02

网络服务器

出于测试目的,Web 服务器没有设置任何 Iptables,其默认设置为 ACCEPT。

但是我无法从我的外部 IP 访问 Web 服务器。

浏览器

答案1

工具:

  1. Wireshark(或任何其他分组网络协议分析器)网络服务器机器可能有助于排除故障:

    • Capture OptionsWireshark 配置
    • 选择您的 LAN 网络接口(enp0s3屏幕截图)。
    • 输入捕获过滤器:(host a.b.c.d and port 80替换a.b.c.d为您的网络服务器IP地址)。
    • Start捕获。
    • 例子:www.superuser.comWeb 浏览器连接 的 Wireshark 捕获:Wireshark HTTP 数据包转储 注意 HTTP 数据包!
  2. 远程登录是用于确定端口是否打开/监听的基本工具。

    • 在命令行中输入telnet a.b.c.d 80a.b.c.d网络服务器IP地址。
    • 例子: telnet 104.16.127.192 80连接输出:
      Trying 04.16.127.192... Connected to 104.16.127.192. Escape character is '^]'. Connection closed by foreign host.
    • 例子:Wireshark 捕获上述 telnet 命令: Wireshark telnet 数据包转储

测试程序:

在您的 Web 服务器机器上启动 Wireshark 捕获 Web 服务器 IP 地址和端口。

  1. 网络服务器LAN 网络。
    • 连接到您的网络服务器LAN IP 地址任何其他设备(不是网络服务器机器)使用 Web 浏览器或 telnet 从您的 LAN 网络。
    • 您应该使用 Wireshark 捕获一些 HTTP 数据包和/或从其他机器的 Web 浏览器连接到您的 Web 服务器。
    • 如果一切顺利网络服务器配置正确,您可以继续...

最终重新启动 Wireshark 捕获...

步骤2和步骤3可以互换。

  1. OpenWRT路由器广域网。
    • 连接到您的网络服务器来自OpenWRT路由器WAN 网络(连接到OpenWRT路由器WAN 网络)。
    • 如果一切顺利OpenWRT路由器配置正确,您可以继续...

最终重新启动 Wireshark 捕获...

  1. ISP 调制解调器/路由器LAN 网络。
    • 连接您的网络服务器机器直接ISP 调制解调器/路由器LAN 端口。
    • 最终调整ISP 调制解调器/路由器网络服务器网络配置。
    • 尝试访问您的网络服务器来自互联网(ISP 调制解调器/路由器广域网 IP 地址)。
    • 如果一切顺利ISP 调制解调器/路由器配置正确,您可以继续...

这样您就可以找到问题的根源(Web 服务器、ISP 调制解调器/路由器或 OpenWRT 路由器配置)...

相关内容