Skip to content

Latest commit

 

History

History
244 lines (189 loc) · 13.7 KB

树梅派4B软路由(旁路由模式).md

File metadata and controls

244 lines (189 loc) · 13.7 KB

OpenWrt

树梅派4B软路由(旁路由模式)

1. 背景

  • 最近一直在看软路由的视频教程,以前也尝试过很多软路由软件, 包括虚拟机软件,也买花大价钱买过专用软路由,但是一直没有尝试成功。主要是想做的方案太复杂,又想多学点知识,又想把自己会的技能的都使用出来,又想让软路由多承担点功能。简单说是完美主义,目标不清晰。
  • 最近学习到有关家庭网络和软路由的两个原则,原视频:哪种家庭网络路由模式适合我?单臂路由和旁路由有何不同?单臂路由还是旁路由? 自己再加一条,这里了引用如下:
  • a. 家庭网络拓扑结构要简单:所有的设备统一在一个网段之下,意味着只有一层NAT转换,只有一个负责的NAT设备
  • b. 所有网络控制功能都应该尽力收归到 OpenWrt 服务器
  • c. 我再加3条:成本要尽可能的低,设备要尽可能少,影响要尽可能小,这样可以减少试错成本。

2. 网络现状

  • 100M宽带,电信光纤,一直是这个速率,够用!
  • 网络今年已经做了不少升级,更换为1000M光猫,光猫自己折腾改成桥接模式
  • 买了 水星 1000M mesh路由器,一次买了两个,每个路由器有两个千兆网口,带wifi 2.5G/5G。千兆光猫使用桥接模式,主路由器使用拨号上网,mesh网络也配置成功,mesh网络之间使用无线链接的,网络效能稍微降低,但是我的宽带也100M,所以完全够用。网络几个客户端,电脑,电视都是无线链接的。mesh网络甚至还支持IPV6。
  • 有一台小米无线路由器,下面接的是 家里的多台小米设备。
  • 有一个5口千兆交换机在用,(还有一个8口千兆交换机闲置,备用)

3. 软路由方案

  • 硬件使用树梅派4B,有一个千兆有线网口,USB3.0接口2个,usb2.0接口2个,内存4G,sd卡16G
  • 看到网络上有关树梅派4B的测试视频,支持科学上网速度接近1000兆,所以对于我只有100M的宽带来说绰绰有余
  • 树梅派4B只有一个千兆网口,同时为了减少对现有网络的影响,决定选择旁路由模式
  • 网络拓扑结构:
  • a). 世界网络---> 中国电信----> 100M宽带---> 1000M光猫(桥接模式) ----> 千兆水星mesh主路由(拨号模式,wifi 2.4G/5G开启)
  • b). 水星mesh主路由 ---> 5口千兆水星交换机 ----> 树梅派4B(旁路由)
  • c). wifi-----> 水星mesh从路由器 ----> wifi ------> 各个 手机和电脑设备
  • d). 5口水星千兆交换机 -----> 小米无线路由器 ----> 小米家庭设备若干
  • 注释:最近获悉,小米的设备可以不用小米路由器也可以接入网络进行管理,所以下一步准备去掉小米路由器,直接接入mesh无线网

4. OpenWrt下载和安装

4.0. 资源:

看网上好几个视频都介绍 SuLingGG 的编译版本,可以用于树梅派全系列,每日自动编译更新。

4.1. 下载OpenWRT映像文件

点击进入下载页面
下载文件: openwrt-bcm27xx-bcm2711-rpi-4-ext4-factory.img.gz

4.2. 烧录SD卡:

工具:Etcher Etcher下载页面
烧录过程略...

5 连接树梅派

参考:自编译 OpenWrt 系列 - 旁路由设置指南

5.1 树梅派4B上电

  • 关闭 树梅派4B电源
  • 烧录好的SD卡插入树梅派4B
  • 如果有树梅派显示器,请接上,我的是用HDMI(有两个HDMI,用靠近SD卡的那一个) 接口连接的显示器
  • 树梅派4B 的网线一定不要接
  • 树梅派4B通电
  • 上电正常的特征:树梅派的电源灯(红灯)常亮,运行灯(绿灯)会闪烁,如果有显示器,显示器会有开机屏,输出一系列的字符

5.2 通过 wifi 连接 树梅派4B

  • 树梅派上电半分钟后,无线wifi建立,名称 OpenWrt
  • 现在需要用一台笔记本电脑或者台式机(统一简称为笔记本)连接树梅派4B,以便对其进行配置
  • 笔记本断开所有的网络,拔掉网线,断开无线网络
  • 笔记本进行wifi搜索,应该能看到 OpenWrt ,(如果有多个,信号最强的一个就是,因为自己树梅派的距离近)
  • 连接该wifi,笔记本可以自动分配到ip地址,(笔记本IP地址要设置为DHCP自动分配)
  • 在浏览器中输入 192.168.1.1,可以登录树梅派的控制界面,这是一个叫luci的网页版控制界面
  • 可以看到界面上有 OpenWrt的图标
  • 输入缺省用户名和密码:用户: root 密码 password
  • 现在已经连接成功,可以随意查看下,熟悉各个控制项

5.3 通过网线连接树梅派

  • 上接 2.1 步
  • 树梅派上电后,笔记本电脑或者台式机(后面一律简称笔记本)通过网线连接 树梅派
  • 笔记本会自动获得IP地址
  • 在笔记本的浏览器上输入树梅派的IP地址:192.168.1.1
  • 登录树梅派的控制界面,这是一个叫luci的网页版控制界面
  • 可以看到界面上有 OpenWrt的图标
  • 输入缺省用户名和密码:用户: root 密码 password
  • 现在已经连接成功,可以随意查看下,熟悉各个控制项

5.4 登录SSH

  • 上接 2.2/2.3
  • 无论通过有线还是无线方式连接到 树梅派,现在都可以使用ssh连接到树梅派
  • 在笔记本电脑的命令行下,输入 ssh [email protected]
  • 输入 密码:password
  • 应该已经登录树梅派,
  • 输入 passwd 命令可以修改密码,提高安全性
  • 总结:SSH登录很重要,有很多高级命令在 luci的界面无法使用

6. 修改LAN口地址

  • 修改树梅派4B的有线网络端口(LAN口)地址
  • 现在首先需要修改树梅派的IP地址,以便将树梅派接入网络作为旁路由,
  • 有两种方式可以修改Ip地址:luci的界面,还有SSH命令行

6.1 命令行方式(SSH),在命令行输入以下命令

   uci set network.lan.ipaddr=192.168.123.100
   uci commit network
   /etc/init.d/network restart
   注释:192.168.123.100 为希望的为树梅派设置的旁路由地址
   这个方案简单,尝试成功,推荐使用

6.2 luci的界面

  1. 登录 luci 界面
  2. 进入菜单项 网络\接口\LAN\基本设置
  3. “协议”选择 静态地址
  4. “IPv4 地址”, 这里输入 期望的旁路由地址,假设为 192.168.123.100
  5. 将整个界面拉到最下面,点保存应用
  6. 如果界面死机,不要慌,等5分钟还不出来,可以关掉树梅派电源,再尝试一次
  7. 这个方案我尝试成功. 
  8. 该方法不推荐使用,我遇到过死机,尽可能用SSH设置设置LAN口地址
  9. 毕竟LAN地址设置除了问题,可能会导致无法连接树梅派,需要再次烧录SD卡,比较麻烦.

6.3 使用新设置的地址( 192.168.123.100)重新连接树梅派

 - 主要确认树梅派LAN口地址修改成功

7. 修改网络配置

  • 修改树梅派其它网络配置
  • 浏览器打开 http://192.168.123.100
  • 进入菜单项 网络\接口\LAN\基本设置
  • 协议:静态地址
  • IPV4 地址:192.168.123.100(此项保持不变)
  • 子网掩码: 255.255.255.0
  • 网关:填为上级路由 IP,一般是上级路由控制面板访问地址,以上文为例,改为: 192.168.123.1
  • 广播:把上级路由网段 IP 最后一段改为 255,以上文为例,改为 192.168.123.255
  • DNS 地址:同样为上级路由 IP,以上文为例:改为 192.168.123.1
  • 打钩:"忽略此接口" ,不在此接口提供 DHCP 服务 (在页面底部)
  • 之后点击 “保存 & 应用”。

8. 将树梅派接入网络

- 以上所有的设置步骤,都是使用笔记本电脑和树梅派单独连接
- 现在树梅派已经配置好网络设置,可以接入原来的局域网啦
- 树梅派用有线方式接入 原先的网络的交换机
- 控制电脑(笔记本或者台式机)也接入网络,进行后面的操作
- 现在 在笔记本上的浏览器应该能打开 树梅派的 luci 界面
- 如果有问题,赶紧解决,再进行下面的步骤
- 自此,旁路由已经基本设置好了,下面设置客户端 

9. 控制电脑(笔记本或者台式机)的设置

- 设置 笔记本的 网络配置,以便能使用刚才设置好的旁路由
- 需要连接主路由 Wifi 的设备需进行以下设置:
  IP 获取方式改为 “静态(或手动)”
  IP 地址:填为路由器网段下任意不冲突的 IP (不能与已分配的 IP 冲突,IP 最后一段也不可为 0/1/255),以上文为例,可设置为 192.168.123.77 
  前缀长度/子网掩码:若提示填写前缀长度,则填写 24 即可,若提示填写子网掩码,则填写 255.255.255.0
  DNS:填写为树莓派 Lan 口 IP,以上文为例,为 192.168.123.100
  网关/路由器:填写为树莓派 Lan 口 IP,以上文为例,192.168.123.100
  其他设置保持默认即可
- 总结: 简单的讲,就是静态分配客户端IP地址,并且将网关设置和DNS的IP设置为旁路由的IP
- 现在旁路由应该其作用,国内是可以上网了

10. 疑难杂症

无法上网、访问国内网站缓慢

  1. 出现 无法上网、访问国内网站缓慢 等症状,可在完成上文全部步骤的基础上,在“网络 - 防火墙 - 自定义规则”中新增一行 iptables 规则并重启防火墙再试: iptables -t nat -I POSTROUTING -j MASQUERADE -- 我只使用这一条就解决了国内上网速度缓慢的问题

  2. 若仍未解决,可以尝试删除原有两条规则并重启防火墙再试:

    iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53 iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53

  3. 如果以上两个方法未能解决,请尝试在 Lan 口的“物理设置”中取消“桥接接口”的打勾,并在下方的“接口”中选择“eth0”,保存并应用再试。但请注意,此时树莓派的板载无线网卡将无法使用 (有信号但无法上网)。

SD卡扩容

  1. 缺省条件下,SD卡映像文件比较小,只使用SD卡比较少的空间,SD卡上的大量空间会被浪费,如果有需要可以扩容
  2. 所以需要扩容

11. 魔法上网(科学上网)

   为了 能使用科学上网代理服务器,需要设置 ShadowSocksR Plus+ 
   进入树梅派的 luci 界面,
   点击菜单依次进入:  服务\ShadowSocksR Plus+
   服务器节点添加一个 能 科学上网的服务器
   我的是 自己设置的 trojan 服务器,具体设置如下:
   服务器节点类型 : trojan 
   服务器地址: 我自己的设置的翻墙服务器的域名或者IP
   端口:443
   密码: ****
   TLS : 不勾选
   TCP快速打开: 不够选
   启用自动切换: 不勾选
   本地端口 :不变
   点击保存应用
   
   访问控制添加以下域名:
   github.com
   google.com
   youtube.com
   
   启动SOCK5服务端为某些客户端的浏览器提供科学上网服务,浏览器中需要设置代理服务

   启动服务端:
   设置Sock5服务,注意必须设置用户名和密码

12. 魔法上网测试:

  -  我的linux 可以直接访问外网,浏览器无需做任何设置,说明 旁路由的TCP/UDP代理运行正常
  -  windows电脑无法直接访问外网,链接被阻止,很迷惑,猜想是 windows内的某些国产软件捣鬼
  -  只好在windows 上使用旁路由的sock5 翻墙服务,效果不错
  - 科学上网速度测试, 可以达到 100Mbps,使用youtube网站测试的
  - 无论是linux 还是 windows效果都很好
  - 树梅派4B资源使用很低,luCI界面可以看到
  - 4k播放 笔记本电脑无压力
  - 4K播放,windows电脑会卡顿,因为电脑性能比较差,不奇怪
  - windows电脑 1080播放流畅
  - windows电脑 播放1080视频,并且投屏到电视上,连续播放10多个小时,没有问题,看来稳定性很好

13, luCI插件

  1. 网络 \ Turbo ACC 网络加速设置
  • 这里面的各种加速全部开启,没有发现任何问题,似乎网络速度加快啦
  • 当时开启的原因,是访问国内网络比较慢,有时候打不开,需要点两次,或者更多次才能打开页面,比如百度网
  • 理想的方式,国内网站不走旁路由,直接走主路由,减少延时.不过现在还不知道怎么设置???
  1. PassWall插件
  • 翻墙最开始使用 PassWall插件
  • 有些设置项不会,有关trojan设置参数太多,最后也没有设置好,放弃啦!
  1. ShadowSocksR Plus+

    • 最好用的 翻墙插件,功能多,支持的翻墙协议也多,配置简单
    • 在菜单项: 服务\ShadowSocksR Plus+
    • 前面已经重点介绍过,
    • 配置成功!
  2. KMS 服务器设置

  • 服务器开启,就两个选项: 启用, 自动激活局域网客户端,这两项均打勾
  • 作为测试 激活了虚拟机内 windows,不过需要在windows上做很多操作
  • 又发现自动激活的方法,只需要设置好dns,让windows能找到 kms服务器就可以
  • 使用 KMS服务器,要求 windows 是 VOL版本
  • 具体 kms 的使用方法看网上帮助文件