I made this topology and some of the links are red, I enabled all the interfaces though
Simple, you need to use "Straight Cable"
Usually use straight cable to connect different type of devices. This type of cable will be used most of the time and can be used to:
1) Connect a computer to a switch/hub's normal port.
2) Connect a computer to a cable/DSL modem's LAN port.
3) Connect a router's WAN port to a cable/DSL modem's LAN port.
4) Connect a router's LAN port to a switch/hub's uplink port. (Normally used for expanding network)
5) Connect two switches/hubs with one of the switch/hub using an uplink port and the other one using normal port.
If you need to check how straight cable looks like, it's easy. Both sides (side A and side B) of cable have wire arrangement with same color.
Sometimes you will use crossover cable, it's usually used to connect same type of devices. A crossover cable can be used to:
1) Connect two computers directly.
2) Connect a router's LAN port to a switch/hub's normal port. (Normally used for expanding network)
3) Connect two switches/hubs by using normal port in both switches/hubs.
Source:Check This Link
Your problem is that you are using a crossover cable instead of a straight-through cable. Remedy this by changing the cable type or using a router/switch that supports auto-mdix.
When automatic medium-dependent interface crossover (auto-MDIX) is enabled on an interface, the interface automatically detects the required cable connection type (straight through or crossover) and configures the connection appropriately. When connecting switches without the auto-MDIX feature, you must use straight-through cables to connect to devices such as servers, workstations, or routers and crossover cables to connect to other switches or repeaters. With auto-MDIX enabled, you can use either type of cable to connect to other devices, and the interface automatically corrects for any incorrect cabling. For more information about cabling requirements, see the hardware installation guide. source