djbon2112

BIRD 3-node routed redundant ring

Sep 4th, 2015
481
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. # Main BIRD configuration; generated with Ansible.
  2. # Implements a 3-node direct connect redundant ring topology using OSPF and loopback interfaces
  3. # Assumes an interface called "lo:0" which has on it a /32 address which acts as a "cluster address",
  4. # and on which cluster services run.
  5. # Assumes two interfaces called "eth2" and "eth3", which form point-to-point links with the adjacent
  6. # nodes containing /30 subnets.
  7.  
  8. # Please log
  9. log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };
  10. router id {{ ansible_lo_0.ipv4.address }};
  11.  
  12. # Keep routes, and refresh the kernel table ever second. Import and export all routes.
  13. protocol kernel {
  14. persist;
  15. scan time 1;
  16. import all;
  17. export all;
  18. }
  19.  
  20. # Scan interfaces every second for state changes
  21. protocol device {
  22. scan time 1;
  23. }
  24.  
  25. # Static routes. These direct clients inbound from each point-to-point towards the cluster IP.
  26. # Export to be learned by OSPF neighbours.
  27. protocol static {
  28. export all;
  29. route {{ ansible_lo_0.ipv4.address }}/32 multipath
  30. via {{ ansible_eth2.ipv4.address }}
  31. via {{ ansible_eth3.ipv4.address }};
  32. }
  33.  
  34. # BFD monitor. Not 100% sure if this is needed but I started with it (still learning BIRD).
  35. protocol bfd monitor {
  36. interface "eth2" {
  37. interval 1 ms;
  38. min rx interval 10 ms;
  39. min tx interval 10 ms;
  40. idle tx interval 100 ms;
  41. multiplier 3;
  42. };
  43. interface "eth3" {
  44. interval 1 ms;
  45. min rx interval 10 ms;
  46. min tx interval 10 ms;
  47. idle tx interval 100 ms;
  48. multiplier 3;
  49. };
  50. multihop {
  51. interval 200 ms;
  52. multiplier 5;
  53. };
  54. }
  55.  
  56. # The OSPF ring, with both point-to-point interfaces in area 0 with equal cost.
  57. protocol ospf ring {
  58. rfc1583compat yes;
  59. tick 1;
  60. import all;
  61. export all;
  62. area 0 {
  63. interface "eth2" {
  64. cost 1;
  65. type pointopoint;
  66. hello 5; retransmit 2; wait 10; dead 20;
  67. authentication simple; password "testing";
  68. };
  69. interface "eth3" {
  70. cost 1;
  71. type pointopoint;
  72. hello 5; retransmit 2; wait 10; dead 20;
  73. authentication simple; password "testing";
  74. };
  75. };
  76. }
Advertisement
Add Comment
Please, Sign In to add comment