{"id":1992,"date":"2010-07-12T01:57:45","date_gmt":"2010-07-12T07:57:45","guid":{"rendered":"http:\/\/gregsowell.com\/?p=1992"},"modified":"2010-07-11T23:05:44","modified_gmt":"2010-07-12T05:05:44","slug":"mikrotik-vrrp-hardware-redundancy","status":"publish","type":"post","link":"https:\/\/gregsowell.com\/?p=1992","title":{"rendered":"Mikrotik VRRP &#8211; Hardware Redundancy"},"content":{"rendered":"<p>So working for a datacenter, I hear plenty of buzz words&#8230;what good sales guy doesn&#8217;t work one in every other sentence?  One of those phrases you hear is &#8220;concurrently maintainable&#8221;.  What does this mean?  It means you can sustain loss in your infrastructure and still be up.  We are talking about hardware redundancy.<\/p>\n<p>In our DC if you aren&#8217;t doing BGP with us, you would do well to use VRRP&#8230;what is VRRP?  <a href=\"http:\/\/en.wikipedia.org\/wiki\/Virtual_Router_Redundancy_Protocol\">Here&#8217;s wikipedia&#8217;s definition<\/a>.  In essence it works like such.  You have two of your routers connected to the same layer 2 segment.  You have a subnet configured that is \/29 or larger.  You configure a physical IP on the interfaces, then you create a VRRP interface on each router associated with those connected interfaces.  You then assign the same VRRP IP address on both routers to the VRRP interface.<\/p>\n<p>The VRRP router that has the higher priority(default is 100) is the master.  The master responds to ARP requests for the VRRP IP.  If the master router fails, then the backup router takes over and owns the VRRP IP.  Soooo, your default gateway points towards the VRRP IP so that if the master fails and the backup takes over your default route is still valid!  There is also a concept of premption.  By default preemption will migrate the VRRP IP over to the router with the highest priority.<\/p>\n<p>Here are some examples:<br \/>\n<a href=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/11.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/11.png\" alt=\"\" title=\"uno\" width=\"262\" height=\"444\" class=\"alignnone size-full wp-image-1993\" srcset=\"https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/11.png 262w, https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/11-177x300.png 177w\" sizes=\"auto, (max-width: 262px) 100vw, 262px\" \/><\/a><br \/>\n<a href=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/21.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/21.png\" alt=\"\" title=\"2\" width=\"265\" height=\"446\" class=\"alignnone size-full wp-image-1994\" srcset=\"https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/21.png 265w, https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/21-178x300.png 178w\" sizes=\"auto, (max-width: 265px) 100vw, 265px\" \/><\/a><br \/>\n<a href=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/3.png\" alt=\"\" title=\"Number C\" width=\"260\" height=\"444\" class=\"alignnone size-full wp-image-1995\" srcset=\"https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/3.png 260w, https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/3-175x300.png 175w\" sizes=\"auto, (max-width: 260px) 100vw, 260px\" \/><\/a><br \/>\n<a href=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/4.png\" alt=\"\" title=\"Shick Quatro\" width=\"260\" height=\"446\" class=\"alignnone size-full wp-image-1996\" \/><\/a><\/p>\n<p>So here&#8217;s our demo config:<br \/>\n<a href=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/5.png\" alt=\"\" title=\"Base config\" width=\"345\" height=\"445\" class=\"alignnone size-full wp-image-1997\" srcset=\"https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/5.png 345w, https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/5-232x300.png 232w\" sizes=\"auto, (max-width: 345px) 100vw, 345px\" \/><\/a><\/p>\n<p>So what happens when one of our providers fail?<br \/>\n<figure id=\"attachment_1998\" aria-describedby=\"caption-attachment-1998\" style=\"width: 346px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/7.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/7.png\" alt=\"\" title=\"7\" width=\"346\" height=\"446\" class=\"size-full wp-image-1998\" srcset=\"https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/7.png 346w, https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/7-232x300.png 232w\" sizes=\"auto, (max-width: 346px) 100vw, 346px\" \/><\/a><figcaption id=\"caption-attachment-1998\" class=\"wp-caption-text\">Provider fails on one link.  The backup guy takes over the VRRP IP.  Our default route points to 10.0.0.1 so we still route out!<\/figcaption><\/figure><br \/>\n<figure id=\"attachment_1999\" aria-describedby=\"caption-attachment-1999\" style=\"width: 343px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/8.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/8.png\" alt=\"\" title=\"8\" width=\"343\" height=\"444\" class=\"size-full wp-image-1999\" srcset=\"https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/8.png 343w, https:\/\/gregsowell.com\/wp-content\/uploads\/2010\/07\/8-231x300.png 231w\" sizes=\"auto, (max-width: 343px) 100vw, 343px\" \/><\/a><figcaption id=\"caption-attachment-1999\" class=\"wp-caption-text\">We drop half of our network gear, but have no fear.  The ISP was pointing towards 10.0.0.6 to route to me, so all is good in the hood.<\/figcaption><\/figure><\/p>\n<p><strong>Router 10.0.0.4<\/strong><br \/>\nCreate the VRRP interface *assign it higher priority &#8211; default is 100*:<\/p>\n<pre class=\"gs-code\"><code class=\"language-plaintext\">\/interface vrrp\r\nadd arp=enabled authentication=none comment=&quot;&quot; disabled=no interface=ether1 \\\r\n    interval=1 mtu=1500 name=vrrp1 on-backup=&quot;&quot; on-master=&quot;&quot; password=&quot;&quot; \\\r\n    preemption-mode=yes priority=150 vrid=1<\/code><\/pre>\n<p>Configure our IPs:<\/p>\n<pre class=\"gs-code\"><code class=\"language-plaintext\">\/ip address\r\nadd address=10.0.0.4\/29 broadcast=10.0.0.7 comment=&quot;&quot; disabled=no interface=\\\r\n    ether1 network=10.0.0.0\r\nadd address=10.0.0.6\/32 broadcast=10.0.0.6 comment=&quot;&quot; disabled=no interface=\\\r\n    vrrp1 network=10.0.0.6<\/code><\/pre>\n<p>Our default route:<\/p>\n<pre class=\"gs-code\"><code class=\"language-plaintext\">\/ip route\r\nadd comment=&quot;&quot; disabled=no distance=1 dst-address=0.0.0.0\/0 gateway=10.0.0.1 \\\r\n    scope=30 target-scope=10<\/code><\/pre>\n<p><strong>Router 10.0.0.5<\/strong><br \/>\nCreate the VRRP interface:<\/p>\n<pre class=\"gs-code\"><code class=\"language-plaintext\">\/interface vrrp\r\nadd arp=enabled authentication=none comment=&quot;&quot; disabled=no interface=ether1 \\\r\n    interval=1 mtu=1500 name=vrrp1 on-backup=&quot;&quot; on-master=&quot;&quot; password=&quot;&quot; \\\r\n    preemption-mode=yes priority=100 vrid=1<\/code><\/pre>\n<p>Configure our IPs:<\/p>\n<pre class=\"gs-code\"><code class=\"language-plaintext\">\/ip address\r\nadd address=10.0.0.5\/29 broadcast=10.0.0.7 comment=&quot;&quot; disabled=no interface=\\\r\n    ether1 network=10.0.0.0\r\nadd address=10.0.0.6\/32 broadcast=10.0.0.6 comment=&quot;&quot; disabled=no interface=\\\r\n    vrrp1 network=10.0.0.6<\/code><\/pre>\n<p>Our default route:<\/p>\n<pre class=\"gs-code\"><code class=\"language-plaintext\">\/ip route\r\nadd comment=&quot;&quot; disabled=no distance=1 dst-address=0.0.0.0\/0 gateway=10.0.0.1 \\\r\n    scope=30 target-scope=10<\/code><\/pre>\n<p>This is great for the WAN side, but is quite often used for the LAN also!<br \/>\nYou can also run two separate VRRP groups on a single interface which will allow you to load balance with redundancy.<\/p>\n<p>Go forth and route my peoples!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So working for a datacenter, I hear plenty of buzz words&#8230;what good sales guy doesn&#8217;t work one in every other sentence? One of those\u2026<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,6],"tags":[],"class_list":["post-1992","post","type-post","status-publish","format-standard","hentry","category-hardware","category-mikrotik"],"_links":{"self":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts\/1992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1992"}],"version-history":[{"count":9,"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts\/1992\/revisions"}],"predecessor-version":[{"id":2006,"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts\/1992\/revisions\/2006"}],"wp:attachment":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}