经常看到论坛里单线复用都是网件vlan交换机,动辄大几百的网管交换机,我看了实在是下不去这个手。
而且我的2路宽带各200兆,两个叠加跑满了撑死500M。
凭着阅读了无数的vlan、iptv、单线复用的帖子,终于融会贯通,得出了一个不用交换机,能够单线复用传输电信+移动+iptv的方案。
理论上,只要主路由支持vlan设置,都能成功,任何2路宽带+iptv也都能走这个方案
先上个图讲一下我的思路
第一步:设置光猫
a线路电信
熟悉的贝尔E-140W-P,光猫IP定义为192.168.1.X,同时关闭DHCP
一、IPTV的vlan
由于我需要一个4k和一个标清,所以lan2端口绑定,lan3上绑定vlan85,同时我还需要在软路由上实现udpxy中转,让所有设备都可以观看iptv,应此我在lan1上也绑定了vlan85
二、PPPOE的vlan
我使用的是上海电信,internet是没有vlan的,好在贝尔E-140W-P是支持自己定义一个vlan的,先把服务模式改为other,再在lan1的vlan1的框里输入2,这样电信的PPPOE就被我自定义成了vlan2
三、lan4留着接其他运营商的宽带
b线路移动
设备是移动配的H2-2,研究了一下是zte代工的,设置光猫IP定义为192.168.1.Y,与电信光猫同网段,同时关闭DHCP
1、PPPOE改桥接,先删除再新建,上海移动的PPPOEvlan是1101,不绑定任何的端口,也不绑定vlan
2、从任意口接线到电信光猫的lan4,我是从移动的lan2接到电信的lan4,移动lan3留着走移动的iptv
a、宿主机上的『网络』设置,宿主机最低要求是1个网口,当然只有1个网口的话,无论是内网还是外网能获得的最大速度应该不会超过500M。多网口的话,以全双工的理论速度,内外网理论上应该能跑1000M(如果我理解有错,欢迎指正),有万兆的应该不会在乎多买个网管交换机了。
1、先使用shell修改/etc/network/interfaces,用shell改是因为在web界面是没法加vlan端口的。iptv是vlan85,pppoe有一个是vlan2,所以要建立2个linux vlan,由于我是把enp1s0作为pve宿主机的wan口,所以我添加的vlan是enp1s0.2和enp1s0.85。改完重启,直接用shell重启网络服务也行,不过我重启网络服务就连不上pve了,最后还是选择重启整个pve
- iface enp1s0.2 inet manual
- #vlan2
- iface enp1s0.85 inet manual
- #vlan85
2、重启完,直接在宿主机的网络界面添加linux bridge,把刚才新增加的两个linux vlan建立对应的linux bridge。
vlan2我定义为了vmbr5,vlan85我定义为了vmbr7,而pve宿主机物理wan口上没有vlan标记的部分我定义为了vmbr4
b、LEDE虚拟机设置
1、虚拟机『硬件』设置,把vmbr5添加为net5,把vmbr4添加为net4和net6,把vmbr7添加为net7
这里讲一下为什么vmbr4用了2次,因为承载pppoe拨号连接的以太网帧和普通传输内网数据的以太网帧的包头是不一样的,是不会互相混淆的,所以在我这个案例里不打vlan标记的部分仍然承载了2种不同的数据,一种是移动的pppoe拨号连接,一种是通过pve宿主机物理wan口向光猫回传的lan数据。
而由于移动光猫和电信光猫以及LEDE内网都定义在同一网段(192.168.1.xxx),因此在2个光猫下仍然可以连接到内网。
2、LEDE的软件设置
如果LEDE启动后网卡顺序没有被打乱的话,eth0-3是正常对应的物理lan口,eht4是从pve宿主机wan口回传的内网,eth5就是承载vlan2的电信PPPOE,eth6则是在pve宿主机wan口上承载的移动PPPOE,eth7传输的就是电信IPTV的UDP数据包。
lan口开启DHCP,并设置强制链路和强制DHCP。
最后测个速:
完美,至此,不要多花钱的单线复用就设置完了。其他电信iptv需要的dnsmasq设置,优化以及策略路由部分,可以参考别的贴。
评论