当 iptables 配置 NAT 和端口转发时,在 VLAN 网络中 iptables 连接被拒绝

当 iptables 配置 NAT 和端口转发时,在 VLAN 网络中 iptables 连接被拒绝

我有一个静态 IP XXXX 我使用 iptables 将 Linux 服务器配置为路由器。下图为我的网络拓扑:

            ppp0  +-------------+
       +----------+             |
        static IP |   Router    |
                  |             |
                  +---+---------+
                      |
                 +----+------+
            +----+  switch   +-----+
            |    +-----------|     |
            |VLAN 1.0/24-10.0/24   |
            |                      |
  XXXXXXXXXXvX                     |
 XX          XXXXX       +------v--v--+
XX               XX      |            |
X   LAN network   XX     | Web server |
X                  X     |            |
XX 192.168.2.0/24  X     +------------+
 XX              XXX        192.168.1.5
   XXXX      XXXXX
      XXXXXXXX

我的路由器被配置为所有 VLAN 网络的 NAT 路由器。我已成功发布到可以通过 DNAT 在互联网上访问的 Web 服务器。 LAN网络上的计算机可以ping很好地连接到Web服务器并连接到192.168.1.5。

当网络 2.0/24 中的计算机通过静态 IP 访问 Web 服务器时,它收到连接拒绝错误,我无法解释。

以下是我的 iptables 规则:

$IPT -t nat -A PREROUTING -i ppp0 -p tcp -j DNAT --to-destination 192.168.1.5:80
$IPT -A FORWARD -i ppp0 -o eth4 -p tcp -j ACCEPT

答案1

来自 /24 网络的数据包不会通过 ppp0 接口进入,因此不会应用显示的规则,并且您实际上会尝试访问路由器上的端口 80。如果路由器打开了端口 80,则其他规则或策略可能会拒绝该连接。

相关内容