Linux 不响应端口转发的连接

Linux 不响应端口转发的连接

我是这个网站的新手,如果有什么错误、愚蠢的问题等,我提前向你道歉。
我遇到了一个网络问题,希望有人能帮我解决。我几乎可以肯定这是一个简单的问题。

首先,让我们介绍一下我的网络配置/几何:

    ------
  (        )             SRV                 PC-A                 PC-B
 (          )     ╔════════════╤══╗    ╔═══╤═══════════╗    ╔════════════╤══╗
(  INTERNET  )═══>║ 95.12.34.56│  ║    ║   │192.168.1.1║═══>║ 192.168.1.5│  ║
 (          )     ╟────────────┘  ║    ║   └───────────╢    ╟────────────┘  ║
  (        )      ║               ║    ║               ║    ╚═══════════════╝
    ------        ║   ┌───────────╢    ╟────────────┐  ║ 
                  ║   │192.168.0.1║═══>║ 192.168.0.4│  ║ 
                  ╚═══╧═══════════╝    ╚════════════╧══╝

服务车辆聚糖酶A在 Windows XP Pro SP2 上运行。它们都具有相同的软件包,可执行防火墙、NAT、端口转发和重写。

聚碳酸酯运行 Arch Linux,无需iptables规则,它只使用主机允许主机拒绝方法。聚碳酸酯还有一个装有 Windows XP Pro SP2 的分区(全新安装,没有其他与系统交互的软件,防火墙已禁用)。

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

聚糖酶A有执行端口转发和重写的规则:
- 端口 3333 => 端口 3306 @ 192.168.1.5;
- 所有 ICMP => 192.168.1.5

现在的行为:
情况 1) 当聚碳酸酯运行 Windows
- 来自聚碳酸酯我可以来自互联网的 IP、来自 192.168.0.0/24 的 IP 和来自 192.168.1.0/24 网络的 IP
- 如果我启动 MySQL 服务器聚碳酸酯,我可以从服务车辆(指定主机 192.168.0.4 和端口 3333)以及来自聚糖酶A网络状态显示从 192.168.0.1 建立的连接,此时服务车辆使用端口转发和重写进行连接)
- 来自服务车辆我可以 ping聚碳酸酯

情况 2) 当聚碳酸酯运行 Arch Linux:
-来自聚碳酸酯我可以来自互联网的 IP、来自 192.168.1.0/24 的 IP 以及仅 192.168.0.4 IP,但不包括来自 192.168.1.0/24 网络的其他 IP
- 如果我在聚碳酸酯, 我不能连接到它服务车辆(指定主机 192.168.0.4 和端口 3333),仅来自聚糖酶A

在进行这些测试时,服务车辆聚糖酶A无需更改或重新启动或类似操作即可运行。它们可以正确完成工作,并在聚碳酸酯证明这一点。我还用Wireshark进行了数据包检查,数据包被传送到Linux机器。

现在的问题是 Linux 机器出了什么问题?为什么运行 Windows 时一切正常,而运行 Linux 时却不行?

我猜想是缺少了与路由相关的某些东西。
可能系统不知道如何响应源 IP = 192.168.0.1 的数据包(但为什么在这种情况下它可以 ping 192.168.0.4?)。
路由如下:

# ip route show
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.5
default via 192.168.1.1 dev eth0

答案1

您能 ssh 192.168.1.5 吗?您在 host.allow 中允许了 192.168.0.0/24 吗?

192.168.1.1 负责将请求从 192.168.1.5 转发到 192.168.0.0/24,因为根据路由 192.168.1.1 是您的 Linux 机器的网关。

相关内容