# Inter-area OSPF

#### Lab file

{% file src="/files/jM5LXkmtzDQzOWoYNYC6" %}

#### Startup configs

{% file src="/files/2EsLgf47wbxEm2mH8X8c" %}

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="/files/OudtH3NBoZjb7MI3mWCe" 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ccnp-sp.gitbook.io/studyguide/labs/lab-challenges/inter-area-ospf.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
