端口转发在 Mikrotik hap AC 上不起作用

网络工程 路由 纳特
2022-03-05 20:09:06

我已将我的 MikroTik RouterBoard hap AC 设置为路由器,而不是我的 ISP 给我的调制解调器/路由器。

我正在尝试使用我在谷歌中找到的教程设置端口转发。这是我的端口转发的配置:

Flags: X - disabled, I - invalid, D - dynamic
0    ;;; defconf: masquerade
     chain=srcnat action=masquerade out-interface=ether1 log=no log-prefix=""

1    chain=dstnat action=dst-nat to-addresses=192.168.1.7 to-ports=8081 protocol=tcp in-interface=ether1 dst-port=8081

这是我的IP地址配置:

Flags: X - disabled, I - invalid, D - dynamic
#   ADDRESS            NETWORK         INTERFACE
0   ;;; defconf
    192.168.1.1/24     192.168.1.0     ether2-master
1 D 100.100.161.43/23  100.100.160.0   ether1

我不得不说 100.100.161.43 是调制解调器给我的路由器的 IP,但它不是我的 ISP IP。

端口转发根本不起作用。我尝试过 tcpdump 来检查 192.168.1.7 在我尝试访问它时是否收到任何数据包,但没有捕获流量。

我究竟做错了什么?

2个回答

100.64.0.0/10 是 RFC6598 中定义的特殊 IP 范围通常称为“共享地址空间”。其典型用途是 IPv4 空间不足的 ISP 为客户分配此范围内的 IP 地址,并使用运营商级 NAT提供对公共互联网的访问。

他们使用这个特定范围的最重要原因是它不与RFC1918中分配的私有 IP 范围重叠,因此应用层协议检查将能够区分 ISP 的 NAT 和客户端的 NAT。

所以这里的问题是您的 NAT 位于 ISP 的 NAT 之后。这就是为什么当您在网站上查看您的地址时会看到另一个 IP。如果您需要运行可公开访问的服务,则必须联系您的 ISP,因为此时您没有自己的公共 IP 地址。

100.100.161.43 是公共地址。我们称之为地址 M。如果您在尝试从外部访问时没有使用地址 M 作为目的地,这意味着您尝试访问的公共地址(地址 R)不会将您的请求转发给 Mikrotik(地址 M)。尝试从外部访问地址 M,或者您需要让您的 ISP 将地址 R 上的端口转发到地址 M。除此之外,您的 Mikrotik 配置看起来不错。