搭建软路由你也可以搞定

是不是家里路由器性能太低?而高配置的路由器又都太贵了?

假如你恰好家里有个闲置的笔记本电脑,那么按照下面的方法帮你一步一步成功搭建一个软路由(旁路由)来实现科学上网。

为什么要搞一个软路由(旁路由)

费劲巴拉的整一个软路由有哪些好处呀?

现在的家庭宽带价格越来越低,很多人都达到了 1000Mbps 千兆带宽,而此时家里的路由器若不给里,会严重影响网速,举个例子:

小明家的带宽 100兆(Mbps),常规下下载速度在10MB/s左右(理论值为 12.5 MB/s),此时你家的路由器LAN口(100Mbps)、网线(CAT-5级别,五类网线)只需要达到 百兆级别即可。

有天小明看到宽带提速降费了,宽带公司免费升级带宽 500兆(Mbps),一下子提升了五倍速率,此时小明想要充分发挥带宽就需要做两件事: 1.升级路由器(LAN口支持千兆网速),2.升级网线至少为超五类网线(支持千兆网速)。

现在 两三百元的路由器就支持千兆速率的LAN口,也可以花二三十元升级到超五类网线, 但300元的路由器硬件配置并不高,刷机后能折腾一下就熄火了,因为内存太小(128MB-512MB)、CPU能力(单核ARMCPU)不高这些原因注定了无法运行很强大的一些软件功能。

而高性能配置的路由器通常价格又在千元以上,小明选择了200-300元路由器,这样家庭内网最高就支持到了千兆网(1000Mbps),但这样的路由器又无法满足他的功能需要(科学上网、广告过滤等等各种需求)。

于是,他选择了软路由:

  1. 成本低(利用闲置电脑、或者某宝400-500元软路由产品),这比上千元成本低了一半。
  2. 性能高:软路由CPU通常是X86_64架构,即大功率、高性能,更能发挥软件性能。
  3. 功能多:局限性小,大内存、多核CPU的硬件条件,可以安装很多功能,去广告、离线下载、科学上网等等,甚至自己定制功能。

选择软路由也有一点难度:

  1. 学习成本高一点,很多教程讲解的一知半解,或者缺章少页的,让人懵懵懂懂的。
  2. 五花八门的软路由部署让你眼花缭乱。
  3. 费电,功耗大就费电啦。

本文就是为了帮助作为一个小白的小明,帮助他一步步的搭建软路由(旁路由)。

1.基础环境信息

先说下什么是旁路由

旁路由是指软路由器在只有一个LAN网口情况,比如笔记本电脑的一种部署方式,数据的流向为:

手机 <---> 旁路由 <---> 主路由 <---> 光猫 <---> 外网

划重点!!!! ==> 为了让流量都从笔记本电脑经过,我们只需要修改主路由配置,让旁路有作为默认网关默认DNS服务器就可以了。

旁路由负责数据转发DNS服务,主路由负责DHCP拨号功能,当然也包含数据转发DNS服务功能。

提示:单臂路由是主路由的变形, 单网口虚拟出两个接口(LAN和WAN),负责 拨号、DHCP、DNS服务和数据转发,跟主路由的唯一区别就是网口数量差别。

本次举例的环境信息如下:

  • 一台闲置笔记本电脑: 当作旁路由器使用
  • 一个高速SD存储卡: 安装软路由操作系统用(俗称刷机),需要调整笔记本BIOS启动顺序(SD卡优先)。
  • 旁路由系统: Openwrt-koolshare-X64系列
  • 旁路由地址: 192.168.50.2
  • 主路由器地址:192.168.50.1
  • 网络线路接入环境:
局域网-----+---LAN--> 主路由器 --> 光猫 ---> 外网
          |
旁路由-----+

可能你会想问 为何用SD卡安装系统呢? 答案是操作方便,直接将系统镜像文件写入SD卡就完成了刷固件操作,这比向笔记本硬盘里刷固件方便的很啦。当然使用固态U盘同样是可以的。

2.详细操作步骤

2.1.安装OpenWRT系统

此系统适用大多数单个LAN网口的X86_64架构设备(台式机/VBox或VMWare虚拟机/软路由设备),当然原理上也适用其他架构设备,但编译的软件程序就需要与对应架构类型保持一致。

2.1.1.下载OpenWRT系统固件文件

  1. 下载软路由系统镜像(固件),此例下载地址 支持Koolshare软件中心的LEDE_X64固件,下载版本2.37,文件名openwrt-koolshare-router-v2.37-r17471-8ed31dafdf-x86-64-generic-squashfs-combined-efi.img.gz
  2. 解压文件 openwrt-koolshare-router-v2.37-r17471-8ed31dafdf-x86-64-generic-squashfs-combined-efi.img.gz,得到 openwrt-koolshare-router-v2.37-r17471-8ed31dafdf-x86-64-generic-squashfs-combined-efi.img文件,Windows系统自动软件识别,Linux/Mac可以用命令 gunzip搞定。
  3. 如果安装固件系统到笔记本电脑的U盘或者SD卡,先将U盘或SD卡插入当前电脑,显示设备路径为/dev/sdf,执行命令: dd if=./openwrt-koolshare-router-v2.37-r17471-8ed31dafdf-x86-64-generic-squashfs-combined-efi.img of=/dev/sdf,等待写入操作完成,这样固件就刷完成了。

提示: 如果你打算让固件可以在 VirtualBox上使用,还需要将img文件转化为 vdi磁盘文件类型,命令为: VBoxManage convertfromraw openwrt-koolshare-router-v2.37-r17471-8ed31dafdf-x86-64-generic-squashfs-combined-efi.img openwrt-koolshare-router.vdi, 这样就得到了openwrt-koolshare-router.vdi文件(之后当作软路由的磁盘文件)。

2.1.2.开机设置旁路由

已经制作好了系统SD卡,接下来开始设置旁路由.

  1. 将SD卡插入笔记本电脑,按开机启动进入Openwrt系统(若没进入可能是BIOS设置启动顺序问题,开机时按DEL找Boot类的配置调整后重试)。
  2. 刚进入Openwrt后,默认IP地址为192.168.1.1通常需要调整,调整IP为同网段IP地址,具体命令如下:

    uci set network.lan.ipaddr=192.168.50.2
    commit
    /etc/init.d/network restart

  3. 接下来通过浏览器访问 http://192.168.50.2/ 地址登录web管理后台,默认的密码为koolshare(登录后记得修改)。
  4. 登录成功后,访问 "网络 --> 接口" 页面, 编辑设置 "LAN" 接口,修改IPv4网关为主路由器IP地址192.168.50.1保存并应用。

2.1.3.关闭DHCP服务

为了让局域网只有一个DHCP服务器(只保留主路由器DHCP服务),我们关掉软路由的DHCP服务。

关闭 OpenWRT软路由的DHCP服务方法为:

  1. 登录Web页面,访问 ”网络 --> DHCP/DNS“ 页面, 在常规设置里,取消 "唯一授权" 和 "忽略空域名解析" 选项,保存并应用.
  2. 实测效果还需要手工重启一次dnsmasq服务,登录 软路由后台,执行命令 /etc/init.d/dnsmasq restart,重启即可。

最后介绍了关闭软路由的DHCP服务好处,主要是为了避免两个IP地址分配者之间的打架。

2.1.3.设置主路由器--让软路由接管内网工作

现在软路由已经准备好了,剩下的问题是如何让软路由接管内网所有主机、手机及各种联网设备的通信数据了。

让软路由接管内网通信数据非常简单,只需要修改 主路由器DHCP服务器信息来实现。

虽然不同路由器的页面不同,具体设置位置也不太一样,但大致名称是一样的,以下是一华硕ASUS路由器页面为例介绍,具体修改内容如下:

  1. 登录主路由器Web管理后台,以华硕路由器固件为例,选择 内部网络(LAN)->DHCP服务器
  2. 接管内部网络通信: 修改默认网关软路由的IP地址(此例为 192.168.50.2)。
  3. 接管内部DNS请求: 修改DNS server1软路由的IP地址(此例为 192.168.50.2)。
  4. 保存配置并生效,点击应用本页面设置,此时会重启主路由的dnsmasq服务,内网主机都会自动重新获取IP地址、默认网关和DNS服务器。

此时,软路由开始正式工作啦!看看网络流量监控页面,正常情况下已经有通信数据了。

若到这里软路由没有任何消息,那就按照上面步骤一点点找原因吧,可能哪个细节配置错误导致的。

关于DHCP服务归属我难题

网上的很多疑问DHCP服务该归属谁?主路由器还是软路由器?

大家可以看到,本教程里的DHCP服务是放在了主路由器了。

有些小白不理解DHCP服务的作用,这里简单介绍下,DHCP协议全称动态主机设置协议,你的电脑默认情况下没有配置网卡信息,开机时电脑是自动获取一个可用家庭局域网IP地址、默认网关和默认DNS服务器,怎么获取?

  1. 广播消息: 网络中有DHCP服务吗,请给我分配一个网络配置信息?此消息同一个网络环境(路由器或交换机)内的网络设备都可以收到
  2. DHCP服务器收到请求后发出分配结果确认: 通知发送者的消息内容有,你的IP地址为192.168.50.10、网关为192.168.50.4、默认DNS服务器为192.168.50.4192.168.50.1等等信息。
  3. 你的电脑根据收到内容自动配置了网卡信息,接下来你就可以正常上网了。

说了这么多,其实DHCP就是管理内网IP分配、默认网关、DNS服务器等信息的。

那可以有多个DHCP服务器么? 就是 主路由器软路由 都开启DHCP服务,答案是可以,但不建议这样配置。

为什么不建议呢? 可能会导致你的IP地址不固定,两个DHCP服务给同一个主机分配两个不同的IP地址时,先收到谁的消息就用谁的IP地址,这相当于一个公司两个CEO一样,一言不合就会打架的。

当然,如果你对IP地址不固定这样的结果无所谓,那开两个DHCP服务器是没问题,但某些设备你希望有固定IP时建议只保留主路由器的DHCP服务即可。

最后

本教程,纯文字讲解,内容略显枯燥,但按照步骤操作下来,相信你会成功的。

安装了软路由后,为了方便使用Clash服务,我借鉴了KoolClash插件的代码,定制了适合自己使用方式的插件,并分享给大家。

此处内容需要评论回复后(审核通过)方可阅读

这款插件继承了vClash的功能,包括内置了定制好的启动配置文件(安装即用),支持添加、删除个人节点,比较适合不会配置Clash的朋友使用。