恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2906|回复: 18

OPENWRT做旁路网关,防火墙不加nat规则会导致访问国内网站卡顿的原因探讨

[复制链接]
发表于 2020-1-3 10:56 | 显示全部楼层 |阅读模式
本帖最后由 cityhunter14 于 2020-1-3 11:26 编辑

我有一台十几年的老笔记本,不想浪费,于是刷了LEAN大的OPENWRT做旁路网关。
连接:笔记本网口直接连接主路由的LAN口。
主路由LAN:192.168.31.1
OP配置:
    静态IP:192.168.31.250
    关闭DHCP
    去掉桥接
    网关:192.168.31.1
    DNS:192.168.31.1
手机配置:
    wifi连接主路由
    静态IP:192.168.31.135
    网关:192.168.31.250
    DNS:192.168.31.250

结果:访问国内网站卡顿,百度首页很多图片无法加载。
根据论坛大佬们的建议,加了防火墙规则
iptables -t nat -I POSTROUTING -j SNAT --to-source 192.168.31.250
顺利解决问题。


问题是解决了,但是出现这个问题的原因困扰了我好久,网上也搜索不到答案。
于是开此帖打算请论坛的各位大神帮忙。


经过几天的恶补网络知识和思考,觉得可能是以下原因,希望得到大神的指正。


造成卡顿问题的原因思考:
不加nat的时候,IP包里的源IP是31.135,不会改变。
手机(31.135)的请求IP包路径:
    手机(31.135)➡ 主路由LAN(31.1) ➡旁路网关(31.250)➡主路由LAN(31.1)➡主路由WAN口➡INTERNET
由此得知,手机和旁路网关都往主路由LAN发了包,而且由于没有nat,所以这个包的源IP都是手机(31.135)。
那么主路由的ARP表就会冲突了,因为ARP表中MAC地址和IP地址是一一对应的,
但是现在有2个MAC地址(手机和旁路网关)都对应一个IP(31.135)了,
所以主路由从INTERNET收到的应答包到底发给哪个MAC地址就不确定了。主路由就疯掉了😄。


如果旁路网关加了nat规则就解决了这个问题。


以上是个人的一点思考,还请各位大神指正!


我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-3 12:31 | 显示全部楼层
加了规则导致https广告不能过滤也是问题

点评

不加规则就可以过滤https广告?貌似也不行吧。我试了一下优酷,貌似去不掉视频前的广告。  详情 回复 发表于 2020-1-4 11:54
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-3 13:36 | 显示全部楼层
感觉设置有问题啊 楼下大佬来解答
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-3 20:52 | 显示全部楼层
跟我问题一样,困扰了好久好久,一直没解决问题
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-3 20:58 | 显示全部楼层
请问具体哪里添加规则?
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-3 21:17 | 显示全部楼层
我靠,貌似在自定义规则里添加这个规则后打开国内网站有快速如飞啦,神奇了,我就这么解决了困扰我很久的大问题??待验证稳定性!
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-1-4 11:54 来自手机 | 显示全部楼层
雨之飘扬 发表于 2020-1-3 12:31
加了规则导致https广告不能过滤也是问题

不加规则就可以过滤https广告?貌似也不行吧。我试了一下优酷,貌似去不掉视频前的广告。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-4 12:09 来自手机 | 显示全部楼层
LEAN大的源码是因为有full什么的补丁才需要叠加一个补丁,官方源码完全不需要,lean的在防火墙关闭fullclone也可以,x86的单臂路由不需要,说明这个玩意只和arm冲突

点评

full cone只影响udp,x86没影响怕是因为x86没交换机,对数据链路层的处理机制不一样。  详情 回复 发表于 2020-1-5 15:13
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-5 11:20 | 显示全部楼层
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-5 11:33 | 显示全部楼层
DNS怎么做的?两边不一样吧

点评

主路由吗?直接指向isp提供的dns了。  详情 回复 发表于 2020-1-5 12:39
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-1-5 12:39 来自手机 | 显示全部楼层
stevemorrislian 发表于 2020-1-5 11:33
DNS怎么做的?两边不一样吧

主路由吗?直接指向isp提供的dns了。

点评

得到的解析结果应该不一样吧  详情 回复 发表于 2020-1-5 15:19
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-5 14:36 | 显示全部楼层
本帖最后由 237176253 于 2020-1-5 14:53 编辑

感觉楼主说的没有错,看了些那些人的贴子,N1做的是转发而不是nat,那arp缓存表那是会产生冲突。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-5 15:13 | 显示全部楼层
hcyme 发表于 2020-1-4 12:09
LEAN大的源码是因为有full什么的补丁才需要叠加一个补丁,官方源码完全不需要,lean的在防火墙关闭fullclon ...

full cone只影响udp,x86没影响怕是因为x86没交换机,对数据链路层的处理机制不一样。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-5 15:19 | 显示全部楼层
cityhunter14 发表于 2020-1-5 12:39
主路由吗?直接指向isp提供的dns了。

得到的解析结果应该不一样吧

点评

上国内的网站就用isp的,上国外的网站用乳酸菌饮料提供的就行。  详情 回复 发表于 2020-1-5 21:45
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-1-5 19:23 | 显示全部楼层
https广告去告时灵时不灵的,不适合小白用。
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2021-1-24 23:11

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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