osnosn

  博客园 :: 首页 :: 博问 :: 闪存 :: :: 联系 :: 订阅 订阅 :: 管理 ::

主路由拨号_openwrt做旁路由_ipv4端口映射的设置

转载注明来源: 本文链接 来自osnosn的博客,写于 2021-01-08.

主路由,不限定类型。能拨号上网,有端口映射功能即可。

方法1,这个办法好

  • openwrt(旁路由) 只有一个LAN接口,没有WAN接口。在"防火墙-区域设置"->"一般设置"中,去掉"NAT"选项的勾,设置"转发"->允许。
    ("NAT" 即 "IP伪装")
    • 旁路由,在内网,用的是用网段的IP,直接允许转发即可。旁路由的负荷要小的多。没必要nat什么的。
  • 直接在主路由上设置ipv4的端口映射,映射到目标机器。旁路由上面,无需任何映射的设置。

方法2,这个办法好

  • openwrt(旁路由) 有一个LAN接口,还有WAN接口。
  • openwrt(旁路由) 在"防火墙"->"自定义规则"中。加入以下三条规则。
    (openwrt-18.06, openwrt-21.02, 都可用)
    前两条为,lan-lan 转发不做 NAT。第三条为,lan-lan 允许转发。
    iptables -t nat -A postrouting_lan_rule -o br-lan -j ACCEPT
    iptables -t nat -A prerouting_lan_rule -i br-lan -j ACCEPT #其实这句没用处,可删除
    iptables -A forwarding_lan_rule -o br-lan -j ACCEPT
  • 直接在主路由上设置ipv4的端口映射,映射到目标机器。旁路由上面,无需任何映射的设置。

方法3,不建议用

两层映射。主路由-映射--->旁路由-映射--->内网目标机器

  • openwrt(旁路由) 只有一个LAN接口,没有WAN接口。在防火墙基本规则中,勾上"NAT"选项,设置"转发"->拒绝。
  • 主路由上设置ipv4的端口映射,映射到旁路由(openwrt)。
  • openwrt(旁路由) 上也设置ipv4端口映射,映射到目标机器。
    因为 openwrt(旁路由)上没有WAN口,ipv4端口映射添加后,自动会设为一个LAN,一个WAN。
    所以,需要再次编辑这条映射规则,把两个区域都改为LAN。
  • openwrt(旁路由) 上自定义防火墙规则中,加入
    • iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
    • 或者用指定了IP和端口的两条规则,替换掉上面这条。并且把"转发"设置为"允许"
      iptables -t nat -I POSTROUTING -s 192.168.2.100 -p tcp -m tcp --sport 8888 -o eth0 -j MASQUERADE
      iptables -t nat -I POSTROUTING -d 192.168.2.100 -p tcp -m tcp --dport 8888 -o eth0 -j MASQUERADE

其他

---end---


转载注明来源: 本文链接 来自osnosn的博客.

posted on 2021-01-08 22:32  osnosn  阅读(4919)  评论(0编辑  收藏  举报