I am following this guide to try to do failover between 3 WANs and some load balancing also.
I have all 3 interfaces configured: https://goo.gl/cy6kjJ
I have DHCP enabled on all 3 also, and they get IPs: https://goo.gl/ThDbBo
I have even removed these ports from the bridge: https://goo.gl/TPp8zL
However, I can only ping out on the first one, the others won’t ping: https://goo.gl/NJLSyu
Not enough information and many things may be wrong.
For example, each DHCP server offers a default gateway along with the other configration, and you have to use the gateway matching the interface when sending packets. Whenever you use several dhcp clients on a single system, you have to deal properly with these multiple gateways, where “properly” depends on a number of factors.
So please provide the output of “/export hide-sensitive” and also of “/ip route print”. The crystal ball is broken.
There is a number of issues in your configuration so maybe my comments will be a bit chaotic, sorry for that.
as you have a dhcp-client attached to both COMCAST-100M and DSL-45M, you cannot use these interfaces as routes’ gateways, you must use the IP addresses of the gateway devices connected to them. Assuming that the “default” gateways you get from the DHCP servers on these interfaces are static, you can configure the dhcp-clients for use-default-gateway=no and manually configure the gateway IP addresses you would normally receive as route gateways. If the gateway addresses change (which unlikely but possible), you would have to set the dhcp-clients to accept them with some high distance like 4 and use a dhcp-client script to copy the gateway addresses to the routing tables on each lease renewal.
Besides, recursive routes can not work with interface names as gateways even if the WAN links would be point-to-point ones - see later what recursive routes are and why you need them.
However, the interface list WAN has a single member:
/interface list member
add comment=defconf interface=COMCAST-100M list=WAN
This means that only packets leaving via COMCAST-100M are masqueraded. It is fine for packets sent by the Mikrotik itself but a disaster for packets from other devices on its LAN as these leave with the original source address so either the ISP will drop them or the responses from the recipients will go anywhere but back to your network.
3. Leaving aside that the two static routes with dst-address=0.0.0.0/0 wouldn’t work anyway as they use interface as a gateway, you have configured them with routing marks but you do not assign routing marks anywhere in your configuration (no “/ip firewall mangle” rules exist in your configuration at all). Without packet-marking rules, routing of any packet, locally sourced or forwarded one, can only choose from routes with no routing mark, which are the three ones dynamically created by dhcp clients. As all of them have the same priority (distance) and their respective interfaces are all up, only the first one by order of creation (or by lowest IP address value, don’t ask me which one is true) is active:
your firewall rules permit connection fasttracking which is incompatible with policy routing. So if the use of routing marks on the two routes is a stub of policy routing configuration (where particular categories of traffic would use their own order of preference for the three WAN links), you have to limit fasttracking only to connections using the default routing table because otherwise your connections would be initiated via one WAN and continue via another one (or not at all if there would be no route for them in the default routing table), so they would fail.
your LAN IP address configuration is attached to ether6 which is a member port of bridge “bridge”. I am surprised that it works at all. It may be a result of configuration migration during upgrade, but you should change the interface in the /ip address configuration from “ether6” to “bridge” to avoid possible ghostly effects.
So to test that all WAN links are working, always disable two of the three dynamic routes with dst-address=0.0.0.0/0 and try to ping something in the internet (like 8.8.8.8 ) without specifying the interface. Then enable another “default” route and disable the already tested one.
Next, I wonder which tutorial have you used for configuring the WAN failover? The usual approach is to use recursive routes, see this article which explains both why and how.