If you use VLANs, then you need to configure an IP address for each of the router interfaces, so that clients in each subnet will be able to reach their own default gateways.
While you could do this using several physical interfaces, the recommended way consists in using one physical interface and multiple virtual subinterfaces.
Configure router subinterfaces
configure terminal interface gigabitEthernet 0/0.10 encapsulation dot1q $vlan ip address $ip $netmask
An alternative to this method consists in using a Layer 3 switch (which, thanks to ASIC, would be more performant than a router which does everything in software), but this is out of scope for the CCENT.
Configure static routing
ip route $destination_network $destination_netmask $next_hop_ip_address | $outgoing_interface
To configure a default route (which is going to be used anytime an incoming packet does not match any entry in the router’s routing table):
ip route 0.0.0.0 0.0.0.0 $isp_router_ip_address
Configure floating static routes
Floating static routes are nothing more than static routes with a manually set administrative distance. As such, they are very useful as a backup, for example as a backup of the default route.
ip route 0.0.0.0 0.0.0.0 1-255
router ospf 1 network $interface $wildcard area $area
network identifies the interfaces OSPF is going to send hello messages on (effectively, the interfaces on which you will form neighbour relationships) and will advertise that network to other routers.
So for example:
network 10.10.10.0 0.0.0.255 area 0
is going to send hello messages and advertise the every network starting with 10.10.10. Where the wildcard is 255, the value in that octet will be ignored.
To enable OSPF on every interface, the command would be
network 0.0.0.0 255.255.255.255 area 0
The more specific you get, the better, so something like the following is better than any of the previous commands:
network 10.10.10.1 0.0.0.0 area 0
To stop OSPF from sending hello messages on an interface but still make it advertise that network, set that interface to passive with the
passive-interface $interface command. For security reasons, it is recommended to set all interfaces to passive by default, and only manually enable the ones you want to send hello messages from:
in OSPF configuration mode, and to manually disable passive mode on the specific interfaces with the
no passive-interface command.
To check if OSPF is working, run
show ip ospf neighbor show ip protocols
Followed by a
show ip route