校园网(伪)多播速度叠加

目前校园网可以认证3个设备,既然都搞了一个NAT,就想到了伪多播来实现多线程下载速度叠加。

Linux VM使用Debian 11,路由器使用OpenWrt 22.03。

上文:传送门

注意:本篇非常不严谨,属于能动就行的水平

Linux VM(负责网页认证)部分:

由于校园网使用网页认证,因此需要新开一个VM来登录网页进行认证,由于bridge后两个VM有不同的mac地址,因此连接校园网的端口不需要进行特殊处理。

对于连接到路由器的端口,由于2个VM要复用一个端口,客户端(路由器)wan口仅有一个mac地址,这里使用VLAN(802.1q)来进行复用。

安装vlan包

apt update
apt install vlan

加载VLAN内核模块

modprobe 8021q

/etc/modules添加一行使vlan模块开机自动加载

8021q

修改网络配置文件(/etc/network/interfaces),这里使用VLAN 2,静态IP(192.168.252.1/24fd90:90a4:5a46::1/64):

iface eth1.2 inet static
    address 192.168.252.1
    netmask 255.255.255.0
iface eth1.2 inet6 static
    address fd90:90a4:5a46::1
    netmask 64

启用该端口

ifup eth1.2

修改后的完整nat.sh

# POSTROUTING can be handled by MASQUERADE
# PREROUTING need specify network card (wan ip -> (forward) -> lan ip)
# tcp 4001 -> 192.168.252.2:4001
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 4001 -j DNAT --to-destination 192.168.252.2:4001
# iptables -t nat -A POSTROUTING -p tcp -d 192.168.252.2 --dport 4001 -j SNAT --to-source 192.168.252.1

# udp 4001 -> 192.168.252.2:4001
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 4001 -j DNAT --to-destination 192.168.252.2:4001
# iptables -t nat -A POSTROUTING -p udp -d 192.168.252.2 --dport 4001 -j SNAT --to-source 192.168.252.1

# enable eth1.2
ifup eth1.2
# route to eth0
ip -6 route add default dev eth0
# eth1.2 -> (forward) -> eth0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1.2 -o eth0 -j ACCEPT
ip6tables -t nat -A POSTROUTING -s fd90:90a4:5a46::/64 -j MASQUERADE
ip6tables -A FORWARD -i eth1.2 -o eth0 -j ACCEPT

路由器方面:

首先需要在Network -> Interfaces -> Devices中,添加VLAN (802.1q)项,VLAN ID为2,名称我这里用的是wan.2

接着在Interfaces中添加相应的接口(防火墙在wan域中),我这里使用的wanb(192.168.252.2/24)、wanb6(fd90:90a4:5a46::2/64),静态地址;原接口为wan、wan6,对应未启用VLAN的拨号VM

其中,由于mwan3要求个接口跃点数不同,因此需要将wan、wan6、wanb、wanb6的跃点数分别更改为不同值,我这里分别为10、11、20、21。

使用mwan3来处理伪多播,因此需要安装mwan3相关包

mwan3
luci-app-mwan3

安装完成后,在mwan3设置界面的Interface中,分别添加四个接口对应4个wan接口

由于这里我们要进行网速叠加,因此Member选项卡中,添加的对应每个接口的跃点数和权重应设置为相同值(这里全为1

Policy选项卡中,将所有member添加至balanced策略中,并将balanced策略设置为默认策略

最后在规则中,将ipv4和ipv6的默认策略更改为balanced

最后,由于mwan3目前不会自动进行nat66,因此需要我们在防火墙中加入MASQUERADE规则,否则客户端将不能使用ipv6网络

ip6tables -t nat -A POSTROUTING -o wan -j MASQUERADE
ip6tables -t nat -A POSTROUTING -o wan.2 -j MASQUERADE

至此,添加第二个拨号VM结束,速度应该为两个拨号速度的和,添加更多拨号大同小异

参考:

[OpenWrt Wiki] mwan3 (Multi WAN load balancing/failover)

How To Configure VLAN Interface on Debian 10/11 – TechViewLeo

makefile – Load linux kernel module at boot – Stack Overflow

Visits: 17

发布者:Tabing010102

???

加入对话

1条评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据