Goal: dial multiple PPPoE connections over a single broadband line and combine the speed
Result: downstream throughput near the theoretical multiple (whether it actually combines depends on your carrier's policy)
Prerequisite: the ONT is already in bridge mode and OpenWrt can dial successfully
Difficulty: medium to high — this needs config file edits, not a few clicks
Time needed: about 60 minutes
1. First, why does multi-dial actually add speed?
How carriers rate-limit
A broadband account's speed limit usually operates on two levels:
The principle behind multi-dial: open several PPPoE connections with the same account.
If the carrier allows it, each connection gets its own share of bandwidth,
and mwan3 then spreads traffic across those connections, so the total speed adds up.
But the key precondition is that the carrier must allow it
Many carriers restrict "one session per account" at the BRAS.
In that case you can only bring up one connection and multi-dial is a non-starter.
So the first step is not configuring OpenWrt — it is confirming whether your line supports multi-dial at all.
2. Checking the prerequisites (10 minutes)
1. The ONT must already be in bridge mode
This is a hard prerequisite. If the ONT is still in router mode, multi-dial is blocked at that layer.
For the full procedure, see the ONT bridge mode guide. The key points:
- Obtain the ONT super password
- Switch the internet VLAN to bridge mode and let your own router dial
- Back up the original configuration (important)
2. Test whether the carrier allows multi-dial
The simplest test:
- Connect a computer directly to the ONT's LAN port and dial with the broadband account (Windows broadband connection)
- Have the router dial at the same time (same account)
- If both come online → the carrier allows multi-dial
You can also test with a manual multi-dial in OpenWrt (see the method in section 4).
3. Prepare the hardware
The advantage of macvlan: no extra network card needed — one WAN port can spawn multiple virtual interfaces.
4. Check your OpenWrt version
This step matters — mwan3 comes in an iptables build and an nftables build:
# Check the firewall backend
opkg list-installed | grep -E 'iptables|nftables'
iptablesnftablesInstalling the wrong build means the rules never take effect — this is the most common trap.
3. Installing mwan3
SSH into OpenWrt and run:
opkg update
opkg install mwan3
opkg install luci-app-mwan3
If you need macvlan virtual interfaces (multi-dial on a single NIC):
opkg update
opkg install kmod-macvlan
These commands come from the official OpenWrt documentation.
4. Method one: macvlan multi-dial on a single line (recommended)
Step 1: create the macvlan virtual interface
Edit /etc/config/network and add the virtual device:
config device 'veth5'
option name 'veth5'
option type 'macvlan'
option ifname 'eth1' # change to your WAN port name
config device 'veth7'
option name 'veth7'
option type 'macvlan'
option ifname 'eth1'
Explanation (from the official documentation example):
veth5/veth7is the virtual interface name; you can choose your owntype 'macvlan'indicates this is a macvlan typeifname 'eth1'must be changed tothe physical port your ONT is actually connected to
How to find the physical port name:
ip link show
uci show network | grep ifname
Step 2: create a dial-up for each virtual interface
Continue editing /etc/config/network and add the extra WAN interfaces:
config interface 'wan1'
option ifname 'veth5'
option proto 'pppoe'
option username 'your_broadband_username'
option password 'your_broadband_password'
option ipv6 '1'
config interface 'wan2'
option ifname 'veth7'
option proto 'pppoe'
option username 'your_broadband_username' # the same account
option password 'your_broadband_password'
option ipv6 '1'
Note: the username and password match the main WAN (multi-dial uses the same account).
Step 3: verify that multi-dial worked
# Restart the network
/etc/init.d/network restart
# Wait 30 seconds, then check the interface status
ifstatus wan1 | grep -E 'up|address'
ifstatus wan2 | grep -E 'up|address'
# Or just look at whether they got different IPs
ip addr show veth5
ip addr show veth7
Signs of success:
- Both interfaces are
up - They obtained different public IPs (this is the key point)
If the second one will not come up:
- The carrier is limiting you to one session → this line cannot multi-dial
- Or you need to stagger the dial times (some BRAS units require it)
5. Method two: multiple physical NICs
If the router has several ports, you can run a cable from each to the ONT or switch:
config interface 'wan1'
option ifname 'eth1' # physical NIC
option proto 'pppoe'
option username 'username'
option password 'password'
config interface 'wan2'
option ifname 'eth2' # the other physical NIC
option proto 'pppoe'
option username 'username'
option password 'password'
Advantages: no macvlan needed, and it is more stable
Drawbacks: you need several ports, and all of them must reach the ONT's network
6. Configuring mwan3 load balancing
Once the interfaces are up, use mwan3 to spread traffic across the lines.
Step 1: identify the mwan3 interfaces
Edit /etc/config/mwan3:
config interface 'wan1'
option enabled '1'
list track_ip '1.0.0.1'
list track_ip '1.1.1.1'
list track_ip '208.67.222.222'
list track_ip '208.67.220.220'
option family 'ipv4'
config interface 'wan2'
option enabled '1'
list track_ip '1.0.0.1'
list track_ip '1.1.1.1'
list track_ip '208.67.222.222'
list track_ip '208.67.220.220'
option family 'ipv4'
What track_ip is: mwan3 uses these IPs for connectivity probing.
If one WAN fails its probe, mwan3 automatically shifts traffic to the other lines.
(These IPs are the examples from the official docs: Cloudflare's 1.1.1.1, OpenDNS's 208.67.x.x, and so on.)
Step 2: configure members and weights
config member 'wan1_m1_w3'
option interface 'wan1'
option metric '1'
option weight '3' # weight: 3 shares
config member 'wan2_m1_w3'
option interface 'wan2'
option metric '1'
option weight '3' # weight: 3 shares
weight sets how traffic is divided:
weight '3'wan1 is 3 and wan2 is 1If the two lines have different speeds (say 500M and 300M),
weighting them in proportion to speed works better.
Step 3: configure a policy
config policy 'balanced'
list use_member 'wan1_m1_w3'
list use_member 'wan2_m1_w3'
option last_resort 'unreachable'
Step 4: configure a rule
config rule 'default_rule_v4'
option dest_ip '0.0.0.0/0'
option family 'ipv4'
option use_policy 'balanced'
What this rule means: all outbound IPv4 traffic uses the balanced policy (load balancing).
Step 5: global settings
config globals 'globals'
option local_source 'lan'
option mmx_mask '0x3F00'
mmx_maskis the bitmask mwan3 uses to mark traffic; the official default is0x3F00.
Do not change it unless it conflicts with another plugin that also uses firewall marks.
Step 6: restart and verify
/etc/init.d/mwan3 restart
mwan3 status
mwan3 status should show:
- Both interfaces are
online - Traffic counters are present
Note: if it shows offline, it usually means track_ip fails its probe;
you can switch to a stable domestic IP instead (for example 223.5.5.5 Alibaba DNS).
7. Verifying the speed gain
Use a speed test tool
# Test from a LAN device (do not test on the router - the CPU becomes the bottleneck)
# Or use iperf3 for a multi-threaded test
iperf3 -c speedtest_server -P 8
Use a multi-threaded speed test (a single thread only uses one line, so it cannot show combining).
The key point: single-thread versus multi-thread
This explains a common confusion:
"I clearly got multi-dial working, so why is my download still 500M?"
— because you are using a single-threaded download, which only ever uses one line.
mwan3 balances loadper connection:
the same TCP connection always uses one line; only different connections get spread out.
Check whether the NAT type changed
Multi-dial can change your NAT type; check it with the NAT type test tool.
If it was NAT1 before, multi-dial may turn it into NAT3 — because traffic leaving via several lines produces inconsistent source addresses.
8. Side effects and risks of multi-dial
This section is rarely covered in other guides, but it matters.
1. Risk of the carrier blocking you
Some carriers prohibit multi-dial in their terms of service.
Advice:
- Do not dial too many (2–3 is usually safe; 10+ is easily detected)
- Do not saturate the link for long periods
- If you are rate-limited or cut off, turn multi-dial off first and then call support
2. Impact on IPTV
Multi-dial changes your network topology, which can cause:
- The IPTV VLAN being disturbed by multi-dial traffic
- The set-top box failing to join IGMP multicast
If you also use IPTV, we suggest:
- Exclude the IPTV interface from mwan3 (keep it out of load balancing)
- Or switch to multicast-to-unicast; see the NAS multicast-to-unicast guide and use multicast-to-unicast instead
3. Impact on IPv6
Multi-dial affects IPv6 fairly strongly:
- Each PPPoE connection receives a different IPv6 prefix (PD)
- Devices end up with several IPv6 addresses
- This can lead to confusing IPv6 routing
Advice:
- If you do not use IPv6 much, configure mwan3 to load-balance IPv4 only
- Use the IPv6 test tool to verify connectivity after multi-dial
4. Impact on remote NAS access
This is the most easily overlooked trap:
After multi-dial you have several public IPs, but DDNS can only resolve to one.
If the IP DDNS resolves to does not match your actual egress, remote access will fail.
Solutions:
- Create a port forwarding policy in mwan3 so specific traffic always uses one line
- Or attach DDNS to only one line and use the others purely for download acceleration
9. FAQ
Q1: The speed did not change after multi-dial?
Troubleshoot in order:
- Confirm multiple connections really came up —
mwan3 statuscheck that all show online - Confirm you got different public IPs — the same IP means multi-dial did not really happen
- Use a multi-threaded speed test — a single thread only uses one line
- Confirm the carrier is not applying an account-level limit
Q2: Why do only 1–2 connections come up?
The most common reason: the carrier limits concurrent sessions at the BRAS.
Other possibilities:
- MAC address conflicts in macvlan (each virtual port should have its own MAC)
- Dialling too frequently and getting temporarily blocked
- A session limit on the ONT itself
Q3: Will the carrier ban my account for multi-dial?
Possibly, depending on carrier policy.
Risk warning: some carriers explicitly prohibit multi-dial in their terms of service.
Keep it to 2–3 connections and avoid saturating the link for long periods.
If the carrier contacts you, stop multi-dial immediately.
Q4: IPTV stopped working after multi-dial?
Cause: multi-dial traffic is interfering with the IPTV VLAN.
Fix:
- Exclude the IPTV interface in mwan3
- Or see the NAS multicast-to-unicast guide
Q5: Will IPv6 be affected?
Yes. Multi-dial produces multiple IPv6 prefixes, which can confuse routing.
Advice: load-balance IPv4 only in mwan3.
Verification tool: IPv6 connectivity test
Q6: What hardware does a software router need?
Multi-dial is not CPU-intensive (it mainly loads the network forwarding path).
For benchmark data on specific models, see the NAS CPU performance ladder
Q7: Can I still do port forwarding after multi-dial?
Yes, but watch out for the egress IP problem.
With several public IPs, inbound access may only reach one of them.
Advice: use mwan3 rules to pin a specific service to one line.
Q8: What if mwan3 shows offline?
It usually means the track_ip probe is failing.
The official examples use foreign IPs (1.1.1.1, 208.67.x.x), which may be unreachable domestically.
Switch to stable domestic IPs:
list track_ip '223.5.5.5' # Alibaba DNS
list track_ip '119.29.29.29' # Tencent DNS
10. Summary
The three prerequisites for multi-dial
The three most common traps
- A single-threaded speed test shows no combining — mwan3 balances load per connection
- Installing the wrong mwan3 build — the iptables build does nothing on an nftables system
- DDNS points at only one IP — remote access may fail after multi-dial
One honest word
Multi-dial is not magic. Its results depend entirely on carrier policy:
- The carrier allows it → you may double your speed
- The carrier restricts it → not even one connection comes up
- The carrier tolerates it but shares bandwidth → connections come up, but speed does not improve
Before spending time on configuration, test whether multi-dial is possible using the method in section 2.
That can save you several hours.
