It is essential for routers that implement the Virtual Router Redundancy Protocol to be able to communicate with each other.
As the protocol defines, the master router needs to send multicast packets to the whole subnet and of course, the rest of the backup routers need to receive this announcements otherwise they will think that the master router is dead and will initiate an election of a master router.
If no router is able to receive this “multicasted” announcements they all will eventually think that they are the only ones alive and thus become master. All of them master. That brings networking issues.
This page covers how to define the rule(s) under shorewall firewall in order to allow this VRRP announcements pass-through.
Rule definition
VRRP’s announcement multicast packets have the following characteristics:
- They are sent to the following multicast IP address: 224.0.0.18
- They use the protocol vrrp
- They source IP address is a virtual router
Thus, a rule that allows all the incoming VRRP traffic would look like this:
ACCEPT net fw:224.0.0.18 vrrp
A rule that allows VRRP packets from a specific router would look like this:
ACCEPT net:OTHER_VIRTUAL_ROUTER_IP fw:224.0.0.18 vrrp
Example
Let’s imagine we have two routers implementing VRRP (using keepalived, for example). Their IPs are: 10.20.30.40 and 10.20.30.41. Their shorewall rules should include the following:
on 10.20.30.40:
ACCEPT net:10.20.30.41 fw:224.0.0.18 vrrp
on 10.20.30.41:
ACCEPT net:10.20.30.40 fw:224.0.0.18 vrrp
References
Comments
0 responses to “How to define shorewall rules to allow VRRP traffic”
Hi,
I saw your profile and experience from oDesk and I would like to meet up with you for possible consultation assignment. Please drop me a line at the email address I have provided… basically I am willing to meet you at any time and place that is convenient to you.
Thanks
Tom
Thank you so much Tom. I will get in touch with you ASAP.
unai