openwrt配置wireguard和mwan3负载均衡

为什么需要WIREGUARD-MWAN3负载均衡

wireguard添加多个peer不会自动负载均衡,而是只使用一个。

采用这种模式,利用多播的mwan3进行负载均衡。

 

mwan3

1. MWAN 支持最多 252 个物理或逻辑接口

2. MWAN 要求所有接口必须在 /etc/config/network 中设定唯一的网关跃点

3. 名称必须与 /etc/config/network 中的接口名称匹配

4. 名称允许包括 A-Z、a-z、0-9、_ 但是不能有空格

5. 接口不应该与成员、策略、规则中的任意一个设置项使用相同的名称

 

安装软件

安装dnsmasq-full,已经是full版的可以忽略

opkg update

opkg remove dnsmasq

rm /etc/config/dhcp

opkg install dnsmasq-full

其他必要软件

opkg update && opkg install iptables ipset ca-bundle curl coreutils-base64 bash libustream-openssl luci-i18n-mwan3-zh-cn luci-i18n-wireguard-zh-cn

搜索安装wireguard中文

 

生成白名单

gfwlist2dnsmasq

curl https://raw.githubusercontent.com/cokebar/gfwlist2dnsmasq/master/gfwlist2dnsmasq.sh -o /tmp/gfwlist2dnsmasq.sh && chmod u+x /tmp/gfwlist2dnsmasq.sh

/tmp/gfwlist2dnsmasq.sh -d 8.8.8.8 -p 53 -s gfwlist -o /tmp/dnsmasq.d/dnsmasq_gfwlist_ipset.conf \

&& ipset create gfwlist hash:ip 

/etc/init.d/dnsmasq restart

 

配置wireguard和mwan3

1. 配置wireguard,注意接口跃点

2. 配置mwan3

如果这一步不会,请参考以前的文章《Openwrt配置wireguard》、《Openwrt配置mwan3》

 

iptables

# wg1

# iptables -I FORWARD -o wg1 -j ACCEPT

# iptables -t nat -I POSTROUTING -o wg1 -j MASQUERADE

# wg2

# iptables -I FORWARD -o wg2 -j ACCEPT

# iptables -t nat -I POSTROUTING -o wg2 -j MASQUERADE

# wg3…以此类推

 

# 精简代码

for wginterface in $(wg | grep interface | cut -d ” ” -f2); do

    iptables -I FORWARD -o $wginterface -j ACCEPT

    iptables -t nat -I POSTROUTING -o $wginterface -j MASQUERADE

done

 

发表评论

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

滚动至顶部