OpenWrt单线多拨以及负载均衡
最近因为叼毛在搞多播,还鼓动我也试试看,那没办法了,我只能在晚上 抽时间来搞一搞多播了。
在文章开始前先简单介绍一下openwrt的网卡吧,要不然会云里雾里的
eth0 是一块物理网卡。eth0.1 eth0.2都是从此设备上虚拟出来的。 eth0.1 是vlan 1分出的lan口。 eth0.2 是vlan 2分出的wan口。 br-lan 是虚拟设备,用于LAN口设备桥接 = eth0.1 + wlan0 + wlan1
我用的Openwrt是21.02如果你使用的是L大的固件,可能略微有点不同。
准备工作
多播第一步,先换软件源
|
|
因为需要安装的东西还是挺多的,用默认的软件源很慢,浪费时间,而且以后opkg update
也会变快一点的。
首先我们先看一下自己的[接口-设备],实在虚拟机里面演示的,因为现在是白天还在上网课,我要是动路由器,室友会把我祭天的。所以咱们就虚拟机和路由器对比起来分析。
我这里的虚拟机的eth0 eth1
对应路由器上的eth0.1 eth0.2
,因为虚拟机要多少网口就有多少网口,所以不需要划分vlan,而路由器只有单wan口,所以要想多播只能靠划分vlan。
可以看到路由器全部是依靠一个eth0网卡来干所有的事情,一个网卡处理这么多接口的数据可想而知,那应该是挺吃力的。
接口设置
到了这一步,咱路由器上需要删除已存在的wan wan6
接口,具体是什么原因呢,咱也不知道,反正就是一顿操作,先把eth0.2
整没了。在一顿操作创建一个接口把eth0.2
整回来。【常规设置】协议随便选,设备如果有eth0.2
就选,没有就手写一个,不过前提是没有动过vlan,也就是路由器上的【switch】。还有就是记得把开机自动运行勾上。【防火墙设置】选择wan区域就可以了。
至于虚拟机里面,咱不用这大怨种操作,因为咱有单独的eth1
接口用于拨号。
多播设置
路由器设备
咱路由器就是爽,直接新建pppoe
拨号接口,设置按照下图来,你要多播几次就新建几个接口
还有就是在创建的时候【高级设置】-【使用网关跃点】,如果我没有记错范围是(1-255)0是数据包随机选择你创建的接口线路走。一些教程说一定要配置,其实也不一定,咱路由器要是性能可以,大马拉小车,千兆路由器,百兆宽带,完全没必要配置。反正我是这么感觉的,如果配置了反而会优先使用跃点小的,让一个累死,另一个清闲。
最后看一下多播成功的效果。真让人羡慕,又多了一个公网IP,嘿嘿嘿,凡尔赛一下:)
x86设备
那咱就有点冤大头了,咱需要先在【接口】【设备】里面添加macvlan设备,按照下面来。
解释一下哈:重要的参数有下面几个
|
|
你要多播几次,就创建几个macvlan
然后再基于这些macvlan创建接口
据说啊,也可以用命令创建,但是我试了,x86设备好像不太行,大家可以也试试看,我他喵的只能在21.02的路由器上用这些命令。
|
|
这个是效果图,虽然我是用的dhcp,但是换成pppoe一样可以用哈,我在路由器上已经播过号了,所以只能用dhcp替代一下。