OpenWrt on a Cudyr700, with two ISPs


After my previous failure of trying openwrt on a rpi4 I switched back to my cudy r700, there’s openwrt support for that device, so I went that route. After some research I found this and was able to have it running.

Now, to have two ISPs I need to have two WAN interfaces, currently it has only one and LAN interfaces get internet from it

root@OpenWrt:~# uci show network
network.loopback=interface
network.loopback.device='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fd89:64b1:6ce4::/48'
network.globals.packet_steering='1'
network.@device[0]=device
network.@device[0].name='br-lan'
network.@device[0].type='bridge'
network.@device[0].ports='lan2' 'lan3' 'lan4' 'lan5' 'lan1'
network.lan=interface
network.lan.device='br-lan'
network.lan.proto='static'
network.lan.ip6assign='60'
network.lan.ipaddr='10.1.1.1/24'
network.lan.dns='1.1.1.1' '8.8.8.8'
network.wan=interface
network.wan.proto='dhcp'
network.wan.device='wan'

So I need to remove lan2 from the bridge and create wan2 on lan2

uci del_list network.@device[0].ports='lan2'
uci set network.wan2='interface'
uci set network.wan2.device='lan2'
uci set network.wan2.proto='dhcp'
uci commit network
service network reload

And now I got two WAN interfaces, each one with one ISP

root@OpenWrt:~# ip addr show dev lan2
7: lan2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 80:af:ca:ac:5d:8c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.35/24 brd 192.168.1.255 scope global lan2
       valid_lft forever preferred_lft forever
    inet6 fe80::82af:caff:feac:5d8c/64 scope link
       valid_lft forever preferred_lft forever
root@OpenWrt:~# ip addr show dev wan
3: wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 80:af:ca:ac:5d:8d brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.134/24 brd 192.168.3.255 scope global wan
       valid_lft forever preferred_lft forever
    inet6 fe80::82af:caff:feac:5d8d/64 scope link
       valid_lft forever preferred_lft forever

Then, according to documentation, a simple change will allow me to send traffic over ISP2

uci set network.wan.metric='20'
uci set network.wan2.metric='10'
uci commit network
ifup wan
ifup wan2

However it did not. After some research I found the firewall zone missing for WAN2

uci add_list firewall.@zone[1].network='wan2'
uci commit firewall
service firewall reload

And after that I just need to manually change metrics when I want one ISP to be up. Next step is to have an automated way to do it.

 

social links