- 更新:2022-05-17 16:38:29
- 首发:2022-03-27 20:46:19
- 路由器
- 31664
由于无线上网卡驱动的完善,随着内核的更新大部分的4G/5G无线网卡得到免驱支持。
OpenWRT社区包含了大量的无线网卡驱动,其中不乏4G/5G模块,现如今市面上常见的模块型号都得到了支持。
如果在其它Linux发行版使用4G/5G模块,请参考《Linux使用4G/5G无线网卡模块上网》。
由于无线上网卡驱动的完善,随着内核的更新大部分的4G/5G无线网卡得到免驱支持。
OpenWRT社区包含了大量的无线网卡驱动,其中不乏4G/5G模块,现如今市面上常见的模块型号都得到了支持。
如果在其它Linux发行版使用4G/5G模块,请参考《Linux使用4G/5G无线网卡模块上网》。
之前轶哥介绍过《OpenWRT使用4G/5G无线网卡模块上网》的方法,文中对拨号上网部分描述不是很详细。本文我们就专门针对拨号上网的设置方法详细说明。
通过网管型交换机配置VLAN和爱快搭配可以实现拓展WAN口,然而2.5G或万兆的网管型交换机价格不菲,而拓展WAN口并不需要全部口都是2.5G或者万兆,只需要出口的网卡是大速率的,就可以实现对WAN口的汇聚了。在《OpenWRT设置VLAN》一文中我们提到OpenWRT可以作为网管型交换机来设置VLAN使用,也尝试进行了《OpenWRT与爱快链路聚合》,这次我们尝试使用软路由安装OpenWRT配置VLAN配合爱快拓展WAN口。
如上图所示,我们通过OpenWRT充当网管型交换机,将3个1G口的2500M网络分配给1个2.5G网卡,将另外两个1G口的2000M网络分配给另外一个2.5G网卡。富余的一个网卡让OpenWRT在当交换机的同事作为旁路由。这样确保了每一个端口的速率都是充足的。
轶哥在《OpenWRT设置VLAN》一文中提到,很多网管型交换机价格不菲,甚至比软路由还贵。而OpenWRT是可以实现大部分网管型交换机功能的。例如链路聚合
,可以实现和NAS做链路聚合从而实现1G+1G的2G速率或者2.5G+2.5G的5G速率的带宽叠加,也可以和爱快LAN口或WAN口做链路聚合(例如《OpenWRT配合爱快实现WAN口拓展》),实现端口汇聚,有效增加链路带宽的同时,提高链路的可靠性,满足对高带宽及高可靠性的需求。
此文介绍的配置方法也适用于和爱快与网管型交换机的链路聚合。
2.5G的网管型交换机动辄千元,而可以安装OpenWRT的2.5g软路由却量大实惠。OpenWRT本身就可以作为网管型交换机使用,例如划分VLAN、链路聚合/端口汇聚(例如《OpenWRT与爱快链路聚合》)、防火墙配置、流量统计、端口镜像都是可以的。
通过OpenWRT划分VLAN可将内部网络划分为多个局域网,满足网络资源的划分和管理需求,实现有效控制内网广播,增强网络的安全性和适应多业务。也可以轻松实现基于VLAN的多WAN口拓展,例如《OpenWRT配合爱快实现WAN口拓展》。
OpenWRT设置VLAN非常简单但却没有明确的文章阐述方法。网络中的资料大都是老版本OpenWRT的配置方式,不适用于独立网络端口的x86软路由,或者就是需要复杂的命令配置。甚至有网友因此转战ROS。
在Linux系统中,双网卡或多网卡上网并不会同时使用两者同时上网,只会优先把请求发送到优先级高的默认网关(对应网卡的内网网段除外)。插入多个网卡的时候,路由表中就会存在多个默认网关,访问外部网络的时候,系统根据路由原则,Metric
值小的网卡优先级高,会优先使用该网卡上网。
在MacOS系统中,设置网卡优先级只需要在系统偏好设置
-网络
中设置设定网卡服务顺序
,具体操作见《MacOS 同时使用内网和外网(双网卡同时联网)》。
在Windows系统中,设置网卡优先级只需要设置网卡的跃点数
,具体操作见《win10链路聚合,双网卡带宽叠加负载均衡》(win11同理)。
而在Linux系统中,设置网卡优先级需要修改路由表配置,调整默认网关的Metric
值。
OpenWRT默认的DHCP Server服务器是Dnsmasq,借助Dnsmasq可以实现根据网址段分配不同网关(旁路由),也可以实现根据MAC地址/IP地址分配不同网关。
换句话说,可以实现一个OpenWRT下搭配多个旁路由,方便针对不同的设备指定其实用的旁路由是哪一个。
Dnsmasq为小型网络提供网络基础设施:DNS、DHCP、Router Advertisement 和 Network boot。它设计轻巧,资源占用少,适用于资源有限的路由器和防火墙。它还被广泛用于在智能手机和便携式热点上,并支持虚拟化框架中的虚拟网络。支持的平台包括Linux(带有glibc和uclibc)、Android、*BSD和Mac OS X。Dnsmasq包含在大多数Linux发行版以及FreeBSD、OpenBSD和NetBSD的端口系统中。Dnsmasq提供全面的IPv6支持。
通过给ESXi宿主机安装USB驱动,可以实现兼容虚拟机无法驱动的硬件。如果虚拟机本身已经兼容了该硬件,可以参考《ESXI+爱快+OpenWRT 使用2.5G USB网卡 RTL8156》设置USB芯片组直通,获得更好的性能体验。
驱动下载地址: https://flings.vmware.com/usb-network-native-driver-for-esxi
注: 根据官网说明,flings是实验性的,不应该用于生产环境。
支持的ESXi版本:6.5.0,6.7.0,7.0.0,7.0.1。建议升级到ESXi 7.0 Update 1
以获得最佳体验(参考《ESXi7.0.0 升级到 ESXi 7.0 Update 1》)。低版本可能导致重启后USB网卡无法正常工作且无法恢复。
Linux系统参考《Linux 2.5G USB网卡驱动安装RTL8156/8156B》。
感谢回复! Clang 在生成时沿用了 GCC 的版本号标识,我是不是可以理解为Clang 18.1.4生成时使用的就是GCC4.8,所以我后续使用gcc 9.4
gcov
就会有不兼容的问题抱歉,这块我也不太清楚,尝试寻求AI的帮助吧。
我在这个过程中遇到了各种问题- -,现在在UDC core: g_serial: couldn't find an available UDC卡住了,请问大佬有什么解决方案吗,还是说我前置的设置就错了呢,> 这个需求很特殊。是可以的,但是比较困难,需要修改驱动配置。
好思路呀!!
关于hex编辑器,网上没找到特别好用的(小白没办法),最后在vscode上扩展一搜hex,第一个安装一下就可以用vscode进行hex编译了