# Inter-area OSPF

#### Lab file

{% file src="<https://1203572585-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgAMH3CMtmYTBkob03NUj%2Fuploads%2FZRiXjnTezyETNbvr33bd%2FChallenge%20-%20Inter-area%20OSPF.yaml?alt=media&token=8ac8aed3-6ad5-4b8c-9317-de5637971b8b>" %}

#### Startup configs

{% file src="<https://1203572585-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgAMH3CMtmYTBkob03NUj%2Fuploads%2FlkIXUlWkVu4HNH2GqA23%2Finter-area_ospf_initial_configs.zip?alt=media&token=a6ae15ad-dba2-45cb-94fe-29d47ab461e1>" %}

In this lab you will configure various features of inter-area OSPF routing. IP addressing, the underlying OSPF configuration, and BGP are all pre-configured. All transit links follow the forumla 10.X.Y.X/24. I’ve left them off the diagram to make it cleaner.

<figure><img src="https://1203572585-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgAMH3CMtmYTBkob03NUj%2Fuploads%2F81agiTlLbsiYqPMUnu82%2FUntitled.png?alt=media&#x26;token=19ad3c19-5cf5-419b-b712-14160c0f04c8" alt=""><figcaption></figcaption></figure>

1. Configure XR10 and R11 so that they inject a default route into OSPF, but only under certain conditions:
   * R11 should only inject a default route if it knows a default route via its eBGP peer, ISP2
   * XR10 should only inject a default route if it knows 12.12.12.12/32 via eBGP
     * (I cannot find a good way to match the 0/0 from eBGP and not iBGP in XR10)<br>

2. Configure area 3 so that the external routes can be injected, but summaries and externals are hidden. Then redistribute eBGP into OSPF on R3.<br>

3. R1 cannot ping R4 at 4.100.0.1. Why not? Fix this so that any router can ping R4’s Lo1.<br>

4. Configure area 1 so that R1 will not see the E2 route for 4.100.0.0/24<br>

5. Configure area 2 so that you achieve the output below on R2. R2 will not need to redistrbute externals into OSPF.

   ```
   R2#show ip route ospf | be Gateway
   Gateway of last resort is 10.2.6.6 to network 0.0.0.0

   O*IA  0.0.0.0/0 [110/2] via 10.2.6.6, 00:00:19, GigabitEthernet1
   ```

6. Achieve the following output on R8. Only configure ABRs or ASBRs.

   ```
   R8#show ip route 1.100.0.0 255.255.0.0 longer-prefixes | beg Gateway
   Gateway of last resort is 10.8.9.9 to network 0.0.0.0

         1.0.0.0/24 is subnetted, 2 subnets
   O IA     1.100.1.0 [110/3] via 10.5.8.5, 00:12:18, GigabitEthernet2
   O IA     1.100.2.0 [110/3] via 10.5.8.5, 00:12:18, GigabitEthernet2


   R8#show ip route 2.100.0.0 255.255.0.0 longer-prefixes | beg Gateway
   Gateway of last resort is 10.8.9.9 to network 0.0.0.0

         2.0.0.0/23 is subnetted, 1 subnets
   O IA     2.100.0.0 [110/3] via 10.6.8.6, 00:01:25, GigabitEthernet3

   R8#show ip route 4.100.0.0 255.255.0.0 longer-prefixes | beg Gateway
   Gateway of last resort is 10.8.9.9 to network 0.0.0.0

         4.0.0.0/22 is subnetted, 1 subnets
   O E2     4.100.0.0 [110/1] via 10.7.8.7, 00:00:02, GigabitEthernet4
   ```

### Answers <a href="#id-8b0609d9-791d-488d-8d0f-70abaf5573ae" id="id-8b0609d9-791d-488d-8d0f-70abaf5573ae"></a>

1. On R11, create a route-map that matches a prefix-list permitting only 0/0, and a next-hop of the eBGP peer (using an ACL). Under ospf, originate default-information refrencing this route-map.\
   \
   On XR10, I did the same procedure except I used a route-policy with **if rib-has-route** 12.12.12.12/32. You cannot use a route-policy matching on destination or next-hop and attach it to default-information originate under OSPF.<br>
2. On R3 add **area 3 nssa** under OSPF. On the ABRs (R6 and XR7) add **area 3 nssa no-summary**. When using **nssa**, the **no-summary** keyword filters Type 3 LSAs, and also adds a default route automatically into the area. Without **no-summary**, you must also use **area # nssa default-information originate** if you wish for the ABRs to inject a default route. The **no-summary** keyword makes the area *Totally NSSA*.\
   \
   On R3, redistribute BGP into OSPF. This creates a Type 7 LSA. The ABRs translate this into a Type 5 LSA that is flooded throughout the entire OSPF domain. However, only the ABR with the heighest router ID injects the Type 5 into the backbone. In this case it is XR7. R6 will only inject a Type 5 if XR7 goes down.<br>
3. You have multiple options for achieving this. You could create a static 0/0 route on R4 pointing to R3. You could inject a 0/0 into BGP on R3 and advertise the 0/0 to the neighbor, R4. You could also redistribute OSPF into BGP on R3. If you redistribute OSPF you still have to make sure you have **default-information originate** under BGP so that the 0/0 from OSPF will be injected into BGP.<br>
4. Configure area 1 as **stub**. This hides externals but allows summaries into the area. The ABR automatically injects a default route into the **stub** area as an inter-area route. In our case, we previously had the default as an E2 route. This is changed to an IA route now.<br>
5. Configure area 2 as **totally stub**. To do this, you configure R2 for **area 2 stub** and the ABR(s), in this case R6, as **area 2 stub no-summary**. The ABR will automatically inject an IA 0/0 route.<br>
6. On R8, 1.100.0.0/24 and 1.100.3.0/24 are missing. On XR5, filter these two prefixes from injection into the backbone by using **area 1 range 1.100.X.0/24 not-advertise.**\
   \
   On R8, 2.100.0.0/23 is aggregated from the two prefixes on Lo1 of R2. On R6, summarize these using **area 2 range 2.100.0.0 255.255.254.0.**\
   \
   On R8, 4.100.0.0/24 has become aggregated to 4.100.0.0/22. This is an NSSA external so you have two options to achieve this. You can configure a **summary-address** on R3, or you can configure a **summary-prefix** on XR7. (If you configure the **summary-address** on R6, it isn’t advertised because XR7 has a higher RID). Both commands achieve the same functionality - they aggregate/summarize or filter External routes. The **summary-prefix** command syntax is used on IOS-XR.
