恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
当贝投影
查看: 459|回复: 8

一晚上努力,完美解决主路由端口映射问题,不需要在旁路由二次映射,并解决nat类型问题

  [复制链接]
发表于 2022-6-3 01:50 | 显示全部楼层 |阅读模式
本帖最后由 klklkiki 于 2022-6-5 00:00 编辑

家里有一台小米ax9000,但是又不想刷机,想来想去
最终淘宝购入了一台R4S,第一次坐上了openwrt的车,
经过之前的学习,轻车熟路的配置好了r4s的旁路由模式,开启了富强的新篇章
由于家里电脑上有些服务需要在外网访问,索性一不干二不休,直接ax9000开了dmz,直接openwrt里设置好端口映射,一番测试后似乎所有问题都圆满解决,
但是问题总是来得如此措不及防,第二天起来一看接口流量,不看不要紧,当时就给我弄清醒了,一晚上跑了30多G的流量,一番排查过后,最终确定,富强插件部分端口直接暴露在互联网上,直接被有心人扫了
而由于是旁路由模式,我将整个内网暴露在了互联网之下,openwrt内部的内外网隔离无能为力。
无奈之下只能将ax9000的dmz关闭,重新做端口映射,无非麻烦点,ax9000和R4S都需要再设置一次端口映射
但仔细一想,虽然固定的端口映射没有问题,但是upnp遭重了呀, upnp映射在 主路由[ax9000] 上,而ax9000自己映射出去的端口实际都是不可用的,出于完美主义的考虑,我又思考起了解决方案
在一个晚上的奋战之后,我终于找到了解决方案
下面直接放方案成果



iptables -t nat -A PREROUTING  -p tcp --syn  -s  172.16.0.0/24 -j CONNMARK  --set-mark 7777
iptables -t nat -A zone_lan_postrouting -p tcp -m connmark   --mark  7777 -j MASQUERADE
iptables -t nat -A zone_lan_postrouting -p tcp -m connmark  ! --mark  7777 -j ACCEPT
iptables -t nat -A zone_lan_postrouting -p icmp -j MASQUERADE
iptables -t nat -A zone_lan_postrouting -p udp -j ACCEPT



请将172.16.0.0/24 替换为你自己的ip网段
请关闭LAN口的 ip地址伪装




这里吐槽下小米,明明说好的发烧级路由器,连个ssh都不给,属实是有点过分
如果你的主路由可以开ssh,可以尝试使用 路由表,将整个网段的路由指向旁路由,这个在我朋友的华硕路由器上似乎测试成功



我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-6-3 02:04 | 显示全部楼层
无标题.png
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-7 23:49 | 显示全部楼层
顶一下,学习
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-8 02:30 | 显示全部楼层
没这麻烦 关旁路的UPNP服务就好了 勾上安全模式

点评

测试过程中发现问题,如果请求从内网向外走一切正常,但是如果是从外网访问到内网不加这些规则就不行  详情 回复 发表于 2022-6-8 22:53
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-6-8 22:53 | 显示全部楼层
本帖最后由 klklkiki 于 2022-6-8 23:00 编辑
iamyangyi 发表于 2022-6-8 02:30
没这麻烦 关旁路的UPNP服务就好了 勾上安全模式

测试过程中发现问题,如果请求从内网向外走一切正常,但是如果是从外网访问到内网不加这些规则就不行
旁路由的upnp服务是一定要关闭的,
用 富强软件 记得选中
仅代理命中规则流量
仅允许常用端口流量
这两个,不要从内网出去的流量直接就被代理了,上面的规则就无效了


我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-6-8 23:07 | 显示全部楼层
解释一下每一行的意义吧
1 通过--syn参数区分tcp链接是否是握手状态,命中则表示是内网主动向外网发起的请求,通过CONNMARK 标记该链接
2 连接中存在对应标记(内网主动发起的请求) 重写 snat
3 链接中不存在对应标记(外网向内网发起请求) 直接放行
4 针对icmp(主要用于ping),基本都是从内网主动发起链接,直接重写snat地址
5 udp属于无状态链接,直接不做任何处理放行
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-9 14:37 | 显示全部楼层
本帖最后由 lmq816 于 2022-6-9 14:44 编辑

考虑尽量节能的原则,我想在ax9000docker里安装openwrt做旁路由不知道可以吗?,现在在nas虚拟机里安装了openwet,做了单臂路由,网速折半,有缺陷。在路由设置好后,nas可以停机唤醒。


点评

没研究过这样的做法,ax9000的防火墙之类的你控制不了啊  详情 回复 发表于 2022-6-10 11:10
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-6-10 11:10 | 显示全部楼层
lmq816 发表于 2022-6-9 14:37
考虑尽量节能的原则,我想在ax9000docker里安装openwrt做旁路由不知道可以吗?,现在在nas虚拟机里安装了op ...

没研究过这样的做法,ax9000的防火墙之类的你控制不了啊
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-10 16:41 | 显示全部楼层
应该不影响,主要在openwrt安装后wan lan接口怎么设置。
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2022-7-2 16:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表