When you use the network command in OSPF, two things will happen:
- All interfaces that have a network that falls within the range of the network command will be advertised in OSPF.
- OSPF hello packets are sent on these interfaces.
Sometimes it’s undesirable to send OSPF hello packets on certain interfaces. Take a look at the image below:
R1 and R2 are configured for OSPF. R1 is connected to network 192.168.10 /24 which has some computers connected to a switch. R1 wants to advertise this network to R2.
Once we use the network command to advertise 192.168.10.0 /24 in OSPF, R1 will also send OSPF hello packets towards the switch. This is a bad idea, first of all because there are no routers on this network but it’s also a security risk. If someone on the computer starts an application that replies with OSPF hello packets then R1 will try to become neighbors. An attacker could advertise fake routes using this technique.
To prevent this from happening, we can use the passive-interface command. This command tells OSPF not to send hello packets on certain interfaces. Let’s see how it works…
Here’s the OSPF configuration of R1 and R2:
R1(config)#router ospf 1 R1(config-router)#network 192.168.12.0 0.0.0.255 area 0 R1(config-router)#network 192.168.10.0 0.0.0.255 area 0
R2(config)#router ospf 1 R2(config-router)#network 192.168.12.0 0.0.0.255 area 0
With the above configuration, R2 will learn network 192.168.10.0 /24:
R2#show ip route ospf O 192.168.10.0/24 [110/20] via 192.168.12.1, 00:03:21, FastEthernet0/0
This is great but a side-effect of this configuration is that R1 will send hello packets on its FastEthernet 0/1 interface. We can see this with a debug:
R1#debug ip ospf hello OSPF hello events debugging is on OSPF: Send hello to 220.127.116.11 area 0 on FastEthernet0/1 from 192.168.10.254 OSPF: Send hello to 18.104.22.168 area 0 on FastEthernet0/0 from 192.168.12.1
Above you can see that hello packets are sent in both directions.
Let’s fix this. We will configure OSPF to stop the hello packets towards the switch:
R1(config)#router ospf 1 R1(config-router)#passive-interface FastEthernet 0/1
You only have to use the passive-interface command under the OSPF process. You can verify our work with the following command: