本文探讨软路由配置爱快为主路由,openwrt 作为旁路网关的设置。并且openwrt 提供 dns 去广告和国内外分流。整个网络单层 nat,并设置为全锥形 nat 便于 pcdn 的运行。
网络环境
内网:10.0.0.0/24外网:pppoe 拨号爱快:10.0.0.1openwrt: 10.0.0.2
单层 nat 配置
爱快作为主路由,所以整个内网由爱快提供 nat。在爱快中开启 nat1 类型:
爱快开启 upnp,openwrt 关闭 upnp。
关闭 openwrt 全锥形 nat,关闭防火墙动态伪装。开启转发。
openwrt 的动态伪装就是 nat,开了之后会多一层 nat,一定要关掉。
关闭动态伪装之后,由于 arp 验证可能导致无法上网,实测主路由为爱快时,不影响上网。
删除以下防火墙规则,如有:
iptables -t nat -i postrouting -o eth0 -j masquerade
copy
以上防火墙规则也是动态伪装,一样要删除。
设置完之后,重启 openwrt。
验证是否单层 nat
通过爱快终端监控,如果 openwrt(10.0.0.2) 也提供 nat 的话,在爱快里面是看不到其他终端有流量经过的,所有的流量都打到 10.0.0.2 上的,如果不是都打到 openwrt 上则证明为单层 nat。
此时,只有科学的流量才会在爱快中显示过 openwrt。国内流量显示为各个对应终端。
使用双 adg 配合 ssrp 国内外 dns 分流
配置双 adg
你需要知道:此设置不需要 smartdns 和 turbo acc 的 dns 缓存。如有全部关闭。
在 openwrt 可以直接安装 luci-app-adguardhome。安装之后进行配置国内版 adg。
首先设置重定向模式:作为 dnsmasq 上游服务器。
进入 adg 管理面板后,设置国内 dns。上游 dns 服务器设置如下(参考):
dns.alidns /dns-query
doh.pub/dns-query
dns.pub/dns-query
tls://dns.pub
tls://dns.alidns
tls://dot.pub
copy
bootstrap dns 服务器设置为当地运营商 dns(备选阿里云):
211.136.150.66
211.136.112.50
223.5.5.5
223.6.6.6
copy
211.136.150.66?211.136.112.50?为上海移动 dns。
速度限制设为 0。
接下来配置第二个 adg。可以使用 docker 也可以在第二台虚拟机安装 adg。我这边使用第二台机器(10.0.0.106)安装adg。
安装之后配置 dns 为国外 dns。
上游 dns 服务器设置如下(参考):
dns.google/dns-query
tls://dns.google
dns.cloudflare /dns-query
dns.cloudflare /dns-query
copy
bootstrap dns 服务器设置为当地运营商 dns(备选阿里云):
211.136.150.66
211.136.112.50
223.5.5.5
223.6.6.6
copy
禁用 ipv6 解析。(ssrp 中某些机场不支持 ipv6 导致无法上网)。速度限制不限。
现在记住:
国内 dns:10.0.0.2:6053 (adg设置的端口)国外 dns:10.0.0.106:6053
配置 dnsmasq
进入到 openwrt 的 「网络」 - 「dhcp/dns」,dns 转发应该只有 adg 的地址。我这边就是?127.0.0.1#6053,没有其他转发了。
配置 ssrp
如下图配置:
选择绕过中国大陆 ip,国外 dns 填写国外分流 adg。国内 dns 不填。如果已经填写,选择「其他」,留白就行。
20230427经测试,国内不能上网,就关passwall2 ;开ssrp 影响国内网;兼容国内网络,最好开hello world 。最主要是dns的问题,dns解析到位开任何软件都能全球网。
openwrt联网教程(主路由拨号软路由旁路由模式) - 哔哩哔哩
「旁路由」是什么? 我们经常在各种文章和视频里面看到听到「旁路由」这个词,但并不清楚他究竟是何方神圣。其实「旁路由」这并不是一个严谨的词汇,在官方的技术用语里,正确的叫法应该是「旁路网关」(为了方便,后续将依旧以旁路由为准)。
而所谓的「旁路网关」,是指挂靠在主路由网络下的一个旁系网络,他分担了一部分路由器的功能,因此被大众简称为「旁路由」,本质上它是一个通过 lan 口与主路由连接的一个客户端设备。
这种主旁路由构成的网络架构可以分成两种,一种是发烧友在软路由系统中,通过虚拟化的形式,安装两套路由系统,它们各司其职,在软件层面上形成了主旁网络架构。另一种就是通过使用两个实体路由器,通过连接和配置打造的硬件形式上的主旁网络结构。虽然他们形式上有一定区别,但这种双路由系统(硬件或虚拟化)的网络布局,殊途同归,最终目的都是为了将家庭网络带宽进行合理的分配利用,并提供更强的扩展性,以实现更多强大的功能。
「旁路由」模式的优缺点 既然我们已经简单了解了什么是「旁路由」,那么为什么大家会使用这种方式来构建家庭网络呢?总结来说,旁路由的有以下优点:
可负载性——如果你的主路由硬件配置过低,无法承担过重的扩展功能,那么旁路由可以用来分担主路由的压力,既不影响网络速度,还可以一定程度优化网络体验
可扩展性——旁路由可以在对当前的网络架构影响最小的情况下,扩展出新的功能,且在配置阶段可以不影响他人使用网络,非常适合在城市里合租的人员优化自己的网络
多功能性——旁路由同样可以安装各种插件,扩展出很多实用的功能,增强上网体验,可以安装的插件
??????????????????????????????????????????????????????????????????------------以上科普转载至知乎用户brick713
下面开始设置教程:
首先将软路由lan口连接电脑
然后打开电脑的浏览器在输入框输入192.168.2.1进入openwrt后台,默认登录密码为password。
依次打开右侧工具栏网络-接口
打开lan右侧的修改
按照图中设置
自定义dns服务器也可以添加114dns、阿里dns或者运营商dns
如果家庭其他设备不想被软路由网关接管的话强制也可以不打钩
先点击右下角保存,不要点保存应用
现在我们切换到wan-修改
按照图中的设置
点击保存应用
网络-防火墙取消勾选启用 syn-flood 防御
点击保存应用
网络-防火墙-自定义规则,在现有规则前加#,然后添加
iptables -t nat -i postrouting -o eth1 -j masquerade
(如果lan口位置是eth0就把红字的eth1更改为eth0,否则将出现无法联网的情况)
设置好后点击重启防火墙
然后按下图连接您的设备
把所有设备重启,浏览器访问192.168.(主路由网关).(刚才在lan设置的数字)即可访问旁路由。 作者:壹阿壹阿壹 bilibili /read/cv13462095/ 出处:bilibili
=======================================================================
旁路由 网络-接口-lan-物理设置-去掉桥接模式? ? 就能解决问题 。?【已解决】openwrt旁路由网关模式无法访问国内网站的疑问(实测跟主路由型号有关)-openwrt专版-恩山无线论坛 - powered by discuz!
【20230418更新】遇到这个问题的人挺多的,我也是知其然,不知其所以然,直到看到这位大神的解释, cloud.tencent /developer/article/2036952,解决了我的大部分疑惑。有兴趣的朋友可以读一读。 网上的教程太多,五花八门,修改的地方各不相同,有的根本就不能成功。我经过多次测试,并且本着最小程度修改系统的原则,终于解决了这个问题: 1.lan口取消桥接;2.防火墙添加"iptables -t nat -i postrouting -o eth0 -j masquerade",重启防火墙,立马就能访问了。 以上两项步骤缺一不可。 (我只在主路由是京东云二代的情况下测试成功) 先说一下我的网络情况: 1.主路由正常拨号上网; 2.贝壳云刷了f大的60 o作旁路由网关服务器,ip地址设置为与主路由同一个网段,网关和dns服务器都设置为主路由的ip地址,关闭dhcp,关闭ipv6; 3.电脑或手机通过wifi连接主路由,内网ip地址由主路由分配,网关、dns服务器手动设置指向贝壳云的ip地址; 具体表现是:情况一:当主路由是网件r6400官方系统最新版本(v1.0.1.62_1.0.41)、华硕rt-ac1900p刷梅林x7.9固件、360v5x官方系统的时候,按照上述配置无需在贝壳云op的防火墙中做任何设置,访问国内网站一切正常,开启了打倒美帝插件之后也是能正常访问国外网站,速度都很不错;情况二: 2.1当主路由是京东云v2(亚瑟)官方系统最新版本(jdc02-1.2.2.r1080)、360v6官方系统、红米ax6官方系统,按照上述配置,无法访问国内网站(此时打倒美帝插件未开启); 2.2开启打倒美帝插件之后,选择绕开大陆ip,能打开国外网站,还是不能打国内网站; 2.3选择全局代理,能打开国内网站,ip显示代理的ip; 2.4尝试过在防火墙中添加规则?iptables -t nat -i postrouting -o eth0 -j masquerade?,重启防火墙,均无效; 2.5网络上讲的教程无外乎就是加规则、取消桥接、添加wan口、禁用mwan3等等,实测均无效。 猜想: 既然在情况一下无需任何设置就能正常访问国内网站,问题应该就出在主路由的固件设置中。目前无法访问的都是小米、360、京东云之流的路由器(360v5x除外),而华硕、网件等大牌的路由器的固件无需任何设置。(因为手头路由器有限,只能得出这样的结论) 有没有大佬从原理上解释一下,为什么会出现这种问题? 同时,旁路由网关设置方法网络上的介绍五花八门,不知道那些稀奇古怪的设置方案都到底行不行,有没有简便可行,没有坑的方案? tips:360v5x跟360v6的固件底层可能真的不一样,有一个表现是,使用ddnsto插件,是可以通过外部网络访问并登录360v6的管理页面的,而360v5x只能打开管理页面,输入密码提示登录错误。
====================================================================================================
网络-防火墙-自定义规则,在现有规则前加? ?#??,然后添加
iptables -t nat -i postrouting -o?eth1?-j masquerade
(如果lan口位置是eth0就把红字的eth1更改为eth0,否则将出现无法联网的情况)
=========================================================================
openwrt做旁路由无法打开国内网站怎么办? 英国疫情泛滥,在家上网课手机电脑平板都需要频繁访问学校和境外等的网站,都懂的原因,于是把手中的树莓派4b作为旁路由使用了。但是一直无法访问国内网站,尝试了各种方法,最后终于解决了。 按照如下步骤操作,完美解决。 openwrt旁路由配置参数如下: //*理论上应该也适用其他路由器 主路由为华为ax3 pro,无需改动,检查下需要开启dhcp,ip地址192.168.3.2 网关192.168.2.1 dns 192.168.2.1或114.114.114.114 223.5.5.5 223.6.6.6(主路由ip和网关不能在同一网段下)。 2. 旁路由为树莓派4b,网关及dns改为主路由ip,关闭dhcp(ip地址192.168.3.254 网关192.168.3.2 dns 192.168.3.2)。 3. 旁路由openwrt防火墙自定义规则加一条命令(建议复制粘贴,别打错了,我就是少打了一个字母折腾了半天才发现)。 iptables -t nat -i postrouting -j masquerade 4. 旁路由 网络-接口-lan-物理设置-去掉桥接模式
=========================================================================
安装privoxy
opkg update
opkg install privoxy
配置
假设socks5代理在1080端口 打开 /etc/config/privoxy 将其默认配置清空,并修改为
config privoxy 'privoxy'
option confdir '/etc/privoxy'
option logdir '/var/log'
option logfile 'privoxy.log'
list listen_address '0.0.0.0:8118'
option forward_socks5 '/ 0.0.0.0:1080 .'
保存重启 privoxy
/etc/init.d/privoxy restart
验证
curl -x 127.0.0.1:8118 -i google
(完整的配置如下,可以自行添加)
config privoxy 'privoxy'
option confdir '/etc/privoxy'
option logdir '/var/log'
option logfile 'privoxy.log'
list filterfile 'default.filter'
# list filterfile 'user.filter'
list actionsfile 'match-all.action'
list actionsfile 'default.action'
# list actionsfile 'user.action'
# list listen_address '127.0.0.1:8118'
list listen_address '192.168.1.1:8118'
option toggle '0'
option enable_remote_toggle '1'
option enable_remote_http_toggle '0'
option enable_edit_actions '1'
option enforce_blocks '0'
option buffer_limit '4096'
option forwarded_connect_retries '0'
option accept_intercepted_requests '0'
option allow_cgi_request_crunching '0'
option split_large_forms '0'
option keep_alive_timeout '300'
option socket_timeout '300'
list permit_access '192.168.1.0/24'
option debug_1 '0'
option debug_512 '1'
option debug_1024 '0'
option debug_4096 '1'
option debug_8192 '1'
用途
在openwrt的防火墙设置中打开http代理的端口,实验室其他ubuntu主机可以直接通过环境变量设置http/https代理,在进行wget、curl和git等相关操作时,都会通过全局http代理,避免连接不畅,非常方便。之所以不使用socks5代理,因为wget不支持。
export http_proxy=" [openwrt的地址]:8118"
export https_proxy=" [openwrt的地址]:8118"
参考链接:openwrt privoxy
发表评论