Firstly, a big thanks for the MultiWAN script. It's exactly what I was looking for.
I'm running it on OpenWRT Backfire 10.03 on a WGT634U. The WGT is connected to two TG585v7's, which are both in bridge mode.
My first ISP is PlusNet, and the second is TalkTalk. Both ISPs give me approx 6MBit/s downstream and 512kbps upstream.
I'm using MultiWAN 1.0.18 and the Luci stuff is 1.0.16.
I've been able to get the MultiWAN configuration to work pretty well, but have come up against a couple of issues:
1) My main goal with load balancing was to improve my NNTP download throughput. To this end, I've setup my mwanfw entries as follows:
config 'mwanfw'
option 'dst' 'secure.news.eu.easynews.com'
option 'wanrule' 'fastbalancer'
config 'mwanfw'
option 'dst' 'secure.news.us.easynews.com'
option 'wanrule' 'fastbalancer'
I then use SABnzbd to download from primarily secure.news.eu.easynews.com. Sometimes, I am clearly getting the combined throughput, as my download rate reaches about 1.4MB/sec. However, most of the time, I can see that only one link is being used (checked with ifstat).
I have also been messing about with the standard QoS stuff, and have found that installing, and then removing this seems to have changed the MultiWAN behaviour.
For example, on first boot of the router, I see the following:
root@OpenWrt:/etc/config# iptables -L MultiWanRules -t mangle -v
Chain MultiWanRules (1 references)
pkts bytes target prot opt in out source destination
0 0 FW1MARK icmp -- any any 192.168.0.3 anywhere mark match 0x0
643 45246 LoadBalancer all -- any any anywhere anywhere mark match 0x0
No matter what traffic passes through the router, this table doesn't change.
However, if I run /etc/init.d/multiwan restart, then the table becomes:
root@OpenWrt:/etc/config# iptables -L MultiWanRules -t mangle -v
Chain MultiWanRules (1 references)
pkts bytes target prot opt in out source destination
0 0 FW2MARK tcp -- any any 192.168.1.0/24 173-13-171-209-sfba.hfc.comcastbusiness.net mark match 0x0 multiport dports 21
0 0 FW1MARK icmp -- any any 192.168.0.3 anywhere mark match 0x0
0 0 FastBalancer all -- any any anywhere 199.89.233.72.static.reverse.ltdomains.com mark match 0x0
0 0 FastBalancer all -- any any anywhere 198.89.233.72.static.reverse.ltdomains.com mark match 0x0
0 0 FastBalancer all -- any any anywhere 197.89.233.72.static.reverse.ltdomains.com mark match 0x0
0 0 FastBalancer all -- any any anywhere 200.89.233.72.static.reverse.ltdomains.com mark match 0x0
0 0 FastBalancer all -- any any anywhere secure.news.eu.easynews.com mark match 0x0
0 0 FastBalancer all -- any any anywhere secure.news.dc1.easynews.com mark match 0x0
38 1889 LoadBalancer all -- any any anywhere anywhere mark match 0x0
which seems more in line with what is in my /etc/config/multiwan file:
config 'multiwan' 'config'
option 'default_route' 'balancer'
config 'interface' 'wan'
option 'weight' '10'
option 'health_interval' '10'
option 'icmp_hosts' 'dns'
option 'timeout' '3'
option 'health_fail_retries' '3'
option 'health_recovery_retries' '5'
option 'failover_to' 'wan1'
option 'dns' 'auto'
config 'interface' 'wan1'
option 'weight' '10'
option 'health_interval' '10'
option 'icmp_hosts' 'dns'
option 'timeout' '3'
option 'health_fail_retries' '3'
option 'health_recovery_retries' '5'
option 'failover_to' 'balancer'
option 'dns' 'auto'
config 'mwanfw'
option 'src' '192.168.1.0/24'
option 'dst' 'ftp.netlab7.com'
option 'proto' 'tcp'
option 'ports' '21'
option 'wanrule' 'wan1'
config 'mwanfw'
option 'src' '192.168.0.3'
option 'proto' 'icmp'
option 'wanrule' 'wan'
config 'mwanfw'
option 'dst' 'www.whatismyip.com'
option 'wanrule' 'fastbalancer'
config 'mwanfw'
option 'dst' 'secure.news.eu.easynews.com'
option 'wanrule' 'fastbalancer'
config 'mwanfw'
option 'dst' 'secure.news.us.easynews.com'
option 'wanrule' 'fastbalancer'
Has the QoS stuff messed up my configuration, or is there another explanation for the difference in mangle tables from bootup, and after a multiwan restart?
All I really want to achieve is load balanced throughput for my NNTP and HTTP downloads, combined with some QoS to prioritise my Cisco VPN traffic and other web browsing activities.
If anyone can give me some pointers to where I'm going wrong, then I'd much appreciate it.
Thanks,
Andy.
For reference, here are my /etc/config/network and /etc/config/firewall files:
#### VLAN configuration
config switch eth0
option enable 1
config switch_vlan eth0_0
option device "eth0"
option vlan 0
option ports "1 2 3 5"
config switch_vlan eth0_1
option device "eth0"
option vlan 1
option ports "4 5"
config switch_vlan eth0_2
option device "eth0"
option vlan 2
option ports "0 5"
#### Loopback configuration
config interface loopback
option ifname "lo"
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
#### LAN configuration
config interface lan
option type bridge
option ifname "eth0.0"
option proto static
option ipaddr 192.168.0.1
option netmask 255.255.255.0
#### WAN configuration
config 'interface' 'wan'
option 'ifname' 'eth0.1'
option 'username' 'bagpuss'
option 'password' 'letmein'
option 'vpi' '38'
option 'vci' '0'
option 'mtu' '1500'
option 'defaultroute' '0'
option 'ppp_redial' 'demand'
option 'proto' 'pppoe'
config 'interface' 'wan1'
option 'ifname' 'eth0.2'
option 'username' 'user@talktalk.net'
option 'password' 'password'
option 'vpi' '38'
option 'vci' '0'
option 'defaultroute' '0'
option 'ppp_redial' 'demand'
option 'proto' 'pppoe'
option 'mtu' '1432'
config 'defaults'
option 'syn_flood' '1'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
config 'zone'
option 'name' 'lan'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
config 'zone'
option 'name' 'wan'
option 'input' 'DROP'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'masq' '1'
option 'mtu_fix' '1'
option 'network' 'wan wan1'
config 'forwarding'
option 'src' 'lan'
option 'dest' 'wan'
config 'rule'
option 'src' 'wan'
option 'proto' 'udp'
option 'dest_port' '68'
option 'target' 'ACCEPT'
config 'rule'
option 'src' 'wan'
option 'proto' 'icmp'
option 'icmp_type' 'echo-request'
option 'target' 'DROP'
config 'include'
option 'path' '/etc/firewall.user'