局域网内,如果网络模型为旁路由做DHCP服务,那么主路由添加端口映射后,外网请求内网端口映射的机器,会发现请求是成功的,但没有返回

原因是内网的设备网关地址并不是主路由而是旁路由,解决方案有很多,这里提供一个较为简便的方案(PS:不考虑网络性能损耗),直接使用旁路由转发

将主路由的端口映射到旁路由,举例

  • 主路由IP:10.0.0.1
  • 旁路由IP:10.0.0.2
  • 设备A的IP:10.0.0.78
  • 等待转发的转口:10.0.0.1:8008->10.0.0.78:8008

首先在主路由添加端口映射,将8008映射到旁路由的8008,然后在旁路由中添加一条流量转发规则即可

iptables -t nat -A PREROUTING -p tcp --dport 8009 -j DNAT --to-destination 10.0.0.78