I am finding trouble getting static neighbor commands for EIGRP to work when I am studying in GNS3.
My understanding is that all I need to do is type neighbor 192.168.1.1 ser0/0 in router configuration mode and as long as:
1) Serial0/0 is part of the 192.168.1.0 subnet
2) The same thing is configured on the other end (since this command kills all eigrp multicasts on that interface)
the neighborship should come up.
However I find that when I type this command, despite the CLI not giving up an error message, the command does not stick ... i.e. when I do a show run the command is not there. Of course the neighborship does not come up.
What are the exact criteria for using this command?
Thanks in advance
It seems like you haven't configured the network statement. Before you can use a neighbor reachable through a particular interface, this interface must be added to EIGRP using the ordinary network statement. In other words, you can not define neighbors that are reachable through interfaces not added to EIGRP.
In your example, assuming that the S0/0 is configured in 192.168.1.0/24 network, you should first add network 192.168.1.0 0.0.0.255 command and only then you should define a static neighbor in this network.
The following is a quote directly from the CCNP ROUTE 642-902 Official Certification Guide on page 44:
"Configuring Static EIGRP Neighbors
To define a neighbor, both routers must configure the neighbor ip-address outgoing-interface EIGRP router subcommand. The IP address is the interface IP address of the neighboring router. Also, the configured IP address must be from the subnet connected to the interface listed in the neighbor command; otherwise, the command is rejected. Also, note that the EIGRP configuration does not have to include a network command that matches the interface; EIGRP will still advertise about the subnet connected to the interface."
Have I misread this or is this a typo?
I agree with what you say - it does seem that the network command is needed. However doesn't this defeat the point? If the network command is configured multicast hello packets will be sent and neighborships will form.
Or is that on Frame Relay networks, because EIGRP does not have network types like OSPF, even if you configure the network command for an interface, the multicast messages will not be sent given the non-broadcast nature of frame relay. Hence, this neighbor command is only really useful on NBMA type networks and must be used in conjunction with the network command. Does that sound right?
I believe that the book is wrong on the subject. It has been my experience on all IGP protocols supporting the neighbor command that an appropriate network had to be configured in order for the interface towards the particular neighbor to be active in the IGP. It was not sufficient to just specify a neighbor but not activate the IGP on the interface towards that neighbor. After all, that would not be logical - how should an IGP build relations to other routers over an interface that is not added to the IGP?
However doesn't this defeat the point? If the network command is configured multicast hello packets will be sent and neighborships will form.
In EIGRP's case in particular, the neighbor command also includes the name of the interface. As soon as you declare a particular neighbor on a particular interface statically, EIGRP will stop using multicasts on that interface. Still, however, the interface must be included into EIGRP, and that is done using the network command. The interface name in the neighbor command tells EIGRP which interface should be prevented from using multicasts but it does not actually add interfaces into EIGRP. Only the network command can do that.
Or is that on Frame Relay networks, because EIGRP does not have network types like OSPF, even if you configure the network command for an interface, the multicast messages will not be sent given the non-broadcast nature of frame relay.
This is not entirely true because even on Frame Relay networks, EIGRP's multicasts will be sent - thanks to the broadcast flag of InverseARP-discovered mappings. NBMA networks are not incapable of carrying multicast traffic, rather, they are incapable of replicating the multicast traffic. You as a sender must do the replication yourself. NBMA networks simply make no difference between unicasts and multicasts. Once you send something over a virtual circuit, it will arrive at its other end, be it unicast or multicast. However, it is up to you to send the same packet over multiple VCs, as the NBMA network will not replicate the multicast packet for you.
Hence, this neighbor command is only really useful on NBMA type networks and must be used in conjunction with the network command.
The neighbor command is usually used on NBMA networks but there is absolutely nothing wrong with using it on any other network type as well.
Does this make at least a little sense? Please feel welcome to ask further!
Bravo on your findings and proving the books worng once again. I have a number of times notice that authors have made mistakes while drafting the Cisco Press books. No offence to authors, but need to realise that Millions of our Cisco Students are gaining knowledge out of these books and things like these highly misguide them.
Thank you very much! Yes, sadly, the recent CCNP textbooks from Cisco Press seem to be quite heavily flawed. What a shame.