<div dir="ltr">Hi all,<br><br>I’m looking for best practices and design recommendations for using Keepalived (VRRP) in a setup with two BIRD-based routers running iBGP between each other.<br><br>Setup overview<br>- Two routers (R1 and R2), both running BIRD based on debian repo<br>- Direct interconnection via eno1 (1GE Base-T) used for iBGP session<br>- Each router has its own uplink and independent eBGP session<br>- There is a single IX service currently connected to R1<br>- Goal: ensure failover to R2 (via Keepalived/VRRP) if R1 goes down<br><br>Questions<br><br>1. VRRP traffic design<br>What is the recommended approach for VRRP packets in this kind of setup?<br>- Should VRRP run over a dedicated VLAN on the inter-router link (eno1)?<br>- Or is it better to run VRRP on the same interface where the VIP is configured (e.g., gateway interface for downstream hosts), possibly using a separate VLAN there?<br><br>I’m trying to understand what is considered cleaner and more robust in production environments.<br><br>2. Track scripts – best practices<br>What are the best practices when using track_script in Keepalived?<br>- What should be monitored in a BGP/BIRD context?<br>- BGP session state?<br>- Reachability (e.g., upstream via ping)?<br>- Interface/link state?<br>- IX availability?<br>- How do you typically avoid false positives / flapping?<br>- Any recommended patterns for integrating BIRD state with Keepalived?<br><br>3. Failover strategy for IX service<br>Given that:<br>- Only R1 is physically connected to the IX<br>- Both routers participate in BGP and exchange routes via iBGP<br><br>What is the recommended way to ensure that:<br>       •     Traffic and VIP failover cleanly to R2<br>        •     And ideally, the IX connectivity (logically) follows to R2 during failure?<br><br>Is this typically handled purely via VRRP + routing changes, or are there additional mechanisms commonly used?<br><br>Any real-world examples, configuration snippets, or design insights would be greatly appreciated.<br><br>Thanks!<div>Mike</div></div>