]> git.proxmox.com Git - pve-docs.git/blob - vxlan-and-evpn.adoc
system requirements: use correct and modern acronym for Intel 64-bit
[pve-docs.git] / vxlan-and-evpn.adoc
1
2 ////
3
4 This is currently not included, because
5 - it requires ifupdown2
6 - routing needs more documentation
7
8 ////
9
10
11 VXLAN layer2 with vlan unware linux bridges
12 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13
14 VXLAN is an overlay network to carry Ethernet traffic over an existing IP network
15 while accommodating a very large number of tenants. It is defined in RFC 7348.
16 Each overlay network is known as a VXLAN Segment and identified by a unique
17 24-bit segment ID called a VXLAN Network Identifier (VNI).
18
19 VXLAN encapsulation add 50bytes overhead, so you need to increase mtu on your host
20 physical interfaces to 1550 at minimum. (or decrease mtu inside your vms to 1450)
21
22 For BUM traffic (broadcast / unknown unicast traffic, multicast),
23 we have 3 differents vxlan setup modes : multicast, unicast, bgp-evpn
24
25 image::images/vxlan-l2-vlanunaware.svg["vxlan l2 bridge vlan unaware",align="center"]
26
27 multicast mode
28 ^^^^^^^^^^^^^^
29
30 This scenario relies in head end replication, meaning that end host in case
31 of not having any entry for the destination MAC address will send out an ARP
32 to other devices / VTEPs in the VXLAN network.
33 This is done by sending the request to the VXLAN multicast group,
34 remote VTEPs will get the packet and answer accordingly direct to the originating VTEP.
35
36
37 * node1
38
39 ----
40 auto eno1
41 iface eno1 inet manual
42 mtu 1550
43
44 auto vmbr0
45 iface vmbr0 inet static
46 address 192.168.0.1
47 netmask 255.255.255.0
48 bridge_ports eno1
49 bridge_stp off
50 bridge_fd 0
51
52 auto vxlan2
53 iface vxlan2 inet manual
54 vxlan-id 2
55 vxlan-svcnodeip 225.20.1.1
56 vxlan-physdev eno1
57
58 auto vmbr2
59 iface vmbr2 inet manual
60 bridge_ports vxlan2
61 bridge_stp off
62 bridge_fd 0
63
64 auto vxlan3
65 iface vxlan3 inet manual
66 vxlan-id 3
67 vxlan-svcnodeip 225.20.1.1
68 vxlan-physdev eno1
69
70 auto vmbr3
71 iface vmbr3 inet manual
72 bridge_ports vxlan3
73 bridge_stp off
74 bridge_fd 0
75 ----
76
77
78 * node2
79
80 ----
81 auto eno1
82 iface eno1 inet manual
83 mtu 1550
84
85 auto vmbr0
86 iface vmbr0 inet static
87 address 192.168.0.2
88 netmask 255.255.255.0
89 bridge_ports eno1
90 bridge_stp off
91 bridge_fd 0
92
93 auto vxlan2
94 iface vxlan2 inet manual
95 vxlan-id 2
96 vxlan-svcnodeip 225.20.1.1
97 vxlan-physdev eno1
98
99 auto vmbr2
100 iface vmbr2 inet manual
101 bridge_ports vxlan2
102 bridge_stp off
103 bridge_fd 0
104
105
106 auto vxlan3
107 iface vxlan3 inet manual
108 vxlan-id 3
109 vxlan-svcnodeip 225.20.1.1
110 vxlan-physdev eno1
111
112 auto vmbr3
113 iface vmbr3 inet manual
114 bridge_ports vxlan3
115 bridge_stp off
116 bridge_fd 0
117 ----
118
119
120 * node3
121
122 ----
123 auto eno1
124 iface eno1 inet manual
125 mtu 1550
126
127 auto vmbr0
128 iface vmbr0 inet static
129 address 192.168.0.3
130 netmask 255.255.255.0
131 bridge_ports eno1
132 bridge_stp off
133 bridge_fd 0
134
135 auto vxlan2
136 iface vxlan2 inet manual
137 vxlan-id 2
138 vxlan-svcnodeip 225.20.1.1
139 vxlan-physdev eno1
140
141 auto vmbr2
142 iface vmbr2 inet manual
143 bridge_ports vxlan2
144 bridge_stp off
145 bridge_fd 0
146
147
148 auto vxlan3
149 iface vxlan3 inet manual
150 vxlan-id 3
151 vxlan-svcnodeip 225.20.1.1
152 vxlan-physdev eno1
153
154 auto vmbr3
155 iface vmbr3 inet manual
156 bridge_ports vxlan3
157 bridge_stp off
158 bridge_fd 0
159 ----
160
161
162 unicast mode
163 ^^^^^^^^^^^^
164
165 We can replace multicast by head-end replication of BUM frames to a statically configured lists of remote VTEPs.
166 The VXLAN is defined without a remote multicast group.
167 Instead, all the remote VTEPs are associated with the all-zero address:
168 a BUM frame will be duplicated to all these destinations.
169 The VXLAN device will still learn remote addresses automatically using source-address learning.
170
171 * node1
172
173 ----
174 auto eno1
175 iface eno1 inet manual
176 mtu 1550
177
178 auto vmbr0
179 iface vmbr0 inet static
180 address 192.168.0.1
181 netmask 255.255.255.0
182 bridge_ports eno1
183 bridge_stp off
184 bridge_fd 0
185
186
187 auto vxlan2
188 iface vxlan2 inet manual
189 vxlan-id 2
190 vxlan_remoteip 192.168.0.2
191 vxlan_remoteip 192.168.0.3
192
193
194 auto vmbr2
195 iface vmbr2 inet manual
196 bridge_ports vxlan2
197 bridge_stp off
198 bridge_fd 0
199
200
201 auto vxlan3
202 iface vxlan2 inet manual
203 vxlan-id 3
204 vxlan_remoteip 192.168.0.2
205 vxlan_remoteip 192.168.0.3
206
207
208 auto vmbr3
209 iface vmbr3 inet manual
210 bridge_ports vxlan3
211 bridge_stp off
212 bridge_fd 0
213 ----
214
215
216 * node2
217
218 ----
219 auto eno1
220 iface eno1 inet manual
221 mtu 1550
222
223 auto vmbr0
224 iface vmbr0 inet static
225 address 192.168.0.2
226 netmask 255.255.255.0
227 bridge_ports eno1
228 bridge_stp off
229 bridge_fd 0
230
231 auto vxlan2
232 iface vxlan2 inet manual
233 vxlan-id 2
234 vxlan_remoteip 192.168.0.1
235 vxlan_remoteip 192.168.0.3
236
237
238
239 auto vmbr2
240 iface vmbr2 inet manual
241 bridge_ports vxlan2
242 bridge_stp off
243 bridge_fd 0
244
245 auto vxlan3
246 iface vxlan2 inet manual
247 vxlan-id 3
248 vxlan_remoteip 192.168.0.1
249 vxlan_remoteip 192.168.0.3
250
251
252 auto vmbr3
253 iface vmbr3 inet manual
254 bridge_ports vxlan3
255 bridge_stp off
256 bridge_fd 0
257 ----
258
259
260 * node3
261
262 ----
263 auto eno1
264 iface eno1 inet manual
265 mtu 1550
266
267 auto vmbr0
268 iface vmbr0 inet static
269 address 192.168.0.3
270 netmask 255.255.255.0
271 bridge_ports eno1
272 bridge_stp off
273 bridge_fd 0
274
275 auto vxlan2
276 iface vxlan2 inet manual
277 vxlan-id 2
278 vxlan_remoteip 192.168.0.2
279 vxlan_remoteip 192.168.0.3
280
281
282
283 auto vmbr2
284 iface vmbr2 inet manual
285 bridge_ports vxlan2
286 bridge_stp off
287 bridge_fd 0
288
289 auto vxlan3
290 iface vxlan2 inet manual
291 vxlan-id 3
292 vxlan_remoteip 192.168.0.2
293 vxlan_remoteip 192.168.0.3
294
295
296 auto vmbr3
297 iface vmbr3 inet manual
298 bridge_ports vxlan3
299 bridge_stp off
300 bridge_fd 0
301 ----
302
303
304 bgp-evpn
305 ^^^^^^^^
306
307 VTEPs use control plane learning/distribution via BGP for remote MAC addresses instead of data plane learning.
308 VTEPs have the ability to suppress ARP flooding over VXLAN tunnels.
309
310 The control plane used here is FRR, a bgp routing software.
311 Each node in the proxmox cluster peer with each others nodes.
312 For bigger networks, or multiple proxmox clusters,
313 it's possible to use external bgp route reflector servers.
314
315 * node1
316
317 ----
318 auto eno1
319 iface eno1 inet manual
320 mtu 1550
321
322 auto vmbr0
323 iface vmbr0 inet static
324 address 192.168.0.1
325 netmask 255.255.255.0
326 bridge_ports eno1
327 bridge_stp off
328 bridge_fd 0
329
330 auto vxlan2
331 iface vxlan2 inet manual
332 vxlan-id 2
333 vxlan-local-tunnelip 192.168.0.1
334 bridge-learning off
335 bridge-arp-nd-suppress on
336 bridge-unicast-flood off
337 bridge-multicast-flood off
338
339
340 auto vmbr2
341 iface vmbr2 inet manual
342 bridge_ports vxlan2
343 bridge_stp off
344 bridge_fd 0
345
346
347 auto vxlan3
348 iface vxlan3 inet manual
349 vxlan-id 3
350 vxlan-local-tunnelip 192.168.0.1
351 bridge-learning off
352 bridge-arp-nd-suppress on
353 bridge-unicast-flood off
354 bridge-multicast-flood off
355
356
357 auto vmbr3
358 iface vmbr3 inet manual
359 bridge_ports vxlan3
360 bridge_stp off
361 bridge_fd 0
362 ----
363
364
365 /etc/frr/frr.conf
366
367 ----
368 router bgp 1234
369 no bgp default ipv4-unicast
370 coalesce-time 1000
371 neighbor 192.168.0.2 remote-as 1234
372 neighbor 192.168.0.3 remote-as 1234
373 !
374 address-family l2vpn evpn
375 neighbor 192.168.0.2 activate
376 neighbor 192.168.0.3 activate
377 advertise-all-vni
378 exit-address-family
379 !
380 line vty
381 !
382 ----
383
384
385 * node2
386
387 ----
388 auto eno1
389 iface eno1 inet manual
390 mtu 1550
391
392 auto vmbr0
393 iface vmbr0 inet static
394 address 192.168.0.2
395 netmask 255.255.255.0
396 bridge_ports eno1
397 bridge_stp off
398 bridge_fd 0
399
400 auto vxlan2
401 iface vxlan2 inet manual
402 vxlan-id 2
403 vxlan-local-tunnelip 192.168.0.2
404 bridge-learning off
405 bridge-arp-nd-suppress on
406 bridge-unicast-flood off
407 bridge-multicast-flood off
408
409
410 auto vmbr2
411 iface vmbr2 inet manual
412 bridge_ports vxlan2
413 bridge_stp off
414 bridge_fd 0
415
416 auto vxlan3
417 iface vxlan3 inet manual
418 vxlan-id 3
419 vxlan-local-tunnelip 192.168.0.2
420 bridge-learning off
421 bridge-arp-nd-suppress on
422 bridge-unicast-flood off
423 bridge-multicast-flood off
424
425
426 auto vmbr3
427 iface vmbr3 inet manual
428 bridge_ports vxlan3
429 bridge_stp off
430 bridge_fd 0
431 ----
432
433
434 /etc/frr/frr.conf
435
436 ----
437 router bgp 1234
438 no bgp default ipv4-unicast
439 coalesce-time 1000
440 neighbor 192.168.0.1 remote-as 1234
441 neighbor 192.168.0.3 remote-as 1234
442 !
443 address-family l2vpn evpn
444 neighbor 192.168.0.1 activate
445 neighbor 192.168.0.3 activate
446 advertise-all-vni
447 exit-address-family
448 !
449 line vty
450 !
451 ----
452
453
454 * node3
455
456 ----
457 auto eno1
458 iface eno1 inet manual
459 mtu 1550
460
461 auto vmbr0
462 iface vmbr0 inet static
463 address 192.168.0.2
464 netmask 255.255.255.0
465 bridge_ports eno1
466 bridge_stp off
467 bridge_fd 0
468
469 auto vxlan2
470 iface vxlan2 inet manual
471 vxlan-id 2
472 vxlan-local-tunnelip 192.168.0.3
473 bridge-learning off
474 bridge-arp-nd-suppress on
475 bridge-unicast-flood off
476 bridge-multicast-flood off
477
478
479 auto vmbr2
480 iface vmbr2 inet manual
481 bridge_ports vxlan2
482 bridge_stp off
483 bridge_fd 0
484
485 auto vxlan3
486 iface vxlan3 inet manual
487 vxlan-id 3
488 vxlan-local-tunnelip 192.168.0.3
489 bridge-learning off
490 bridge-arp-nd-suppress on
491 bridge-unicast-flood off
492 bridge-multicast-flood off
493
494
495 auto vmbr3
496 iface vmbr3 inet manual
497 bridge_ports vxlan3
498 bridge_stp off
499 bridge_fd 0
500 ----
501
502
503 /etc/frr/frr.conf
504
505
506 ----
507 router bgp 1234
508 no bgp default ipv4-unicast
509 coalesce-time 1000
510 neighbor 192.168.0.1 remote-as 1234
511 neighbor 192.168.0.2 remote-as 1234
512 !
513 address-family l2vpn evpn
514 neighbor 192.168.0.1 activate
515 neighbor 192.168.0.2 activate
516 advertise-all-vni
517 exit-address-family
518 !
519 line vty
520 !
521 ----
522
523 VXLAN layer3 routing with anycast gateway
524 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
525
526 With this need, each vmbr bridge will be the gateway for the vm.
527 Same vmbr on different node, will have same ip address and same mac address,
528 to have working vm live migration and no network disruption.
529
530 VXLAN layer3 routing only work with FRR and non-aware bridge.
531 (vlan aware bridge support is buggy currently).
532
533 asymmetric model
534 ^^^^^^^^^^^^^^^^
535
536 This is the simplest mode. To get it work, all vxlan need to be defined on all nodes.
537
538 The asymmetric model allows routing and bridging on the VXLAN tunnel ingress,
539 but only bridging on the egress.
540 This results in bi-directional VXLAN traffic traveling on different VNIs
541 in each direction (always the destination VNI) across the routed infrastructure.
542
543 image::images/vxlan-l3-asymmetric.svg["vxlan l3 asymmetric",align="center"]
544
545
546 sysctl.conf tuning
547
548 ----
549 #enable routing
550 net.ipv4.ip_forward=1
551 net.ipv6.conf.all.forwarding=1
552 ----
553
554 * node1
555
556 ----
557 auto eno1
558 iface eno1 inet manual
559 mtu 1550
560
561 auto vmbr0
562 iface vmbr0 inet static
563 address 192.168.0.1
564 netmask 255.255.255.0
565 bridge_ports eno1
566 bridge_stp off
567 bridge_fd 0
568
569 auto vxlan2
570 iface vxlan2 inet manual
571 vxlan-id 2
572 vxlan-local-tunnelip 192.168.0.1
573 bridge-learning off
574 bridge-arp-nd-suppress on
575 bridge-unicast-flood off
576 bridge-multicast-flood off
577
578
579 auto vmbr2
580 iface vmbr2 inet static
581 address 10.0.2.254
582 netmask 255.255.255.0
583 hwaddress 44:39:39:FF:40:94
584 bridge_ports vxlan2
585 bridge_stp off
586 bridge_fd 0
587
588
589 auto vxlan3
590 iface vxlan3 inet manual
591 vxlan-id 3
592 vxlan-local-tunnelip 192.168.0.1
593 bridge-learning off
594 bridge-arp-nd-suppress on
595 bridge-unicast-flood off
596 bridge-multicast-flood off
597
598
599 auto vmbr3
600 iface vmbr3 inet static
601 address 10.0.3.254
602 netmask 255.255.255.0
603 hwaddress 44:39:39:FF:40:94
604 bridge_ports vxlan3
605 bridge_stp off
606 bridge_fd 0
607 ----
608
609
610 frr.conf
611
612 ----
613 router bgp 1234
614 bgp router-id 192.168.0.1
615 no bgp default ipv4-unicast
616 coalesce-time 1000
617 neighbor 192.168.0.2 remote-as 1234
618 neighbor 192.168.0.3 remote-as 1234
619 !
620 address-family l2vpn evpn
621 neighbor 192.168.0.2 activate
622 neighbor 192.168.0.3 activate
623 advertise-all-vni
624 exit-address-family
625 !
626 line vty
627 !
628 ----
629
630
631 * node2
632
633 ----
634 auto eno1
635 iface eno1 inet manual
636 mtu 1550
637
638 auto vmbr0
639 iface vmbr0 inet static
640 address 192.168.0.2
641 netmask 255.255.255.0
642 bridge_ports eno1
643 bridge_stp off
644 bridge_fd 0
645
646 auto vxlan2
647 iface vxlan2 inet manual
648 vxlan-id 2
649 vxlan-local-tunnelip 192.168.0.2
650 bridge-learning off
651 bridge-arp-nd-suppress on
652 bridge-unicast-flood off
653 bridge-multicast-flood off
654
655
656 auto vmbr2
657 iface vmbr2 inet static
658 address 10.0.2.254
659 netmask 255.255.255.0
660 hwaddress 44:39:39:FF:40:94
661 bridge_ports vxlan2
662 bridge_stp off
663 bridge_fd 0
664
665
666 auto vxlan3
667 iface vxlan3 inet manual
668 vxlan-id 3
669 vxlan-local-tunnelip 192.168.0.2
670 bridge-learning off
671 bridge-arp-nd-suppress on
672 bridge-unicast-flood off
673 bridge-multicast-flood off
674
675
676 auto vmbr3
677 iface vmbr3 inet static
678 address 10.0.3.254
679 netmask 255.255.255.0
680 hwaddress 44:39:39:FF:40:94
681 bridge_ports vxlan3
682 bridge_stp off
683 bridge_fd 0
684 ----
685
686
687 frr.conf
688
689 ----
690 router bgp 1234
691 bgp router-id 192.168.0.2
692 no bgp default ipv4-unicast
693 coalesce-time 1000
694 neighbor 192.168.0.1 remote-as 1234
695 neighbor 192.168.0.3 remote-as 1234
696 !
697 address-family l2vpn evpn
698 neighbor 192.168.0.1 activate
699 neighbor 192.168.0.3 activate
700 advertise-all-vni
701 exit-address-family
702 !
703 line vty
704 !
705 ----
706
707
708 * node3
709
710 ----
711 auto eno1
712 iface eno1 inet manual
713 mtu 1550
714
715 auto vmbr0
716 iface vmbr0 inet static
717 address 192.168.0.3
718 netmask 255.255.255.0
719 bridge_ports eno1
720 bridge_stp off
721 bridge_fd 0
722
723 auto vxlan2
724 iface vxlan2 inet manual
725 vxlan-id 2
726 vxlan-local-tunnelip 192.168.0.3
727 bridge-learning off
728 bridge-arp-nd-suppress on
729 bridge-unicast-flood off
730 bridge-multicast-flood off
731
732
733 auto vmbr2
734 iface vmbr2 inet static
735 address 10.0.2.254
736 netmask 255.255.255.0
737 hwaddress 44:39:39:FF:40:94
738 bridge_ports vxlan2
739 bridge_stp off
740 bridge_fd 0
741
742
743 auto vxlan3
744 iface vxlan3 inet manual
745 vxlan-id 3
746 vxlan-local-tunnelip 192.168.0.3
747 bridge-learning off
748 bridge-arp-nd-suppress on
749 bridge-unicast-flood off
750 bridge-multicast-flood off
751
752
753 auto vmbr3
754 iface vmbr3 inet static
755 address 10.0.3.254
756 netmask 255.255.255.0
757 hwaddress 44:39:39:FF:40:94
758 bridge_ports vxlan3
759 bridge_stp off
760 bridge_fd 0
761 ----
762
763
764 frr.conf
765
766 ----
767 router bgp 1234
768 bgp router-id 192.168.0.3
769 no bgp default ipv4-unicast
770 coalesce-time 1000
771 neighbor 192.168.0.1 remote-as 1234
772 neighbor 192.168.0.2 remote-as 1234
773 !
774 address-family l2vpn evpn
775 neighbor 192.168.0.1 activate
776 neighbor 192.168.0.2 activate
777 advertise-all-vni
778 exit-address-family
779 !
780 line vty
781 !
782 ----
783
784
785 symmetric model
786 ^^^^^^^^^^^^^^^
787
788 With this model, you don't need to have all vxlan on all nodes.
789 This model will also be needed to route traffic to an external router.
790
791 The symmetric model routes and bridges on both the ingress and the egress leafs.
792 This results in bi-directional traffic being able to travel on the same VNI, hence the symmetric name.
793 However, a new specialty transit VNI is used for all routed VXLAN traffic, called the L3VNI.
794 All traffic that needs to be routed will be routed onto the L3VNI, tunneled across the layer 3 Infrastructure,
795 routed off the L3VNI to the appropriate VLAN and ultimately bridged to the destination.
796
797 A vrf is needed for the L3VNI, so all vmbr bridge need to be in the vrf if they want to be able to reach each others.
798
799 image::images/vxlan-l3-symmetric.svg["vxlan l3 symmetric",align="center"]
800
801 sysctl.conf tuning
802
803 ----
804 #enable routing
805 net.ipv4.ip_forward=1
806 net.ipv6.conf.all.forwarding=1
807 ----
808
809 * node1
810
811 ----
812 auto vrf1
813 iface vrf1
814 vrf-table auto
815
816 auto eno1
817 iface eno1 inet manual
818 mtu 1550
819
820 auto vmbr0
821 iface vmbr0 inet static
822 address 192.168.0.1
823 netmask 255.255.255.0
824 bridge_ports eno1
825 bridge_stp off
826 bridge_fd 0
827
828 auto vxlan2
829 iface vxlan2 inet manual
830 vxlan-id 2
831 vxlan-local-tunnelip 192.168.0.1
832 bridge-learning off
833 bridge-arp-nd-suppress on
834 bridge-unicast-flood off
835 bridge-multicast-flood off
836
837 auto vmbr2
838 iface vmbr2 inet static
839 bridge_ports vxlan2
840 bridge_stp off
841 bridge_fd 0
842 address 10.0.2.254
843 netmask 255.255.255.0
844 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
845 vrf vrf1
846
847 auto vxlan3
848 iface vxlan3 inet manual
849 vxlan-id 3
850 vxlan-local-tunnelip 192.168.0.1
851 bridge-learning off
852 bridge-arp-nd-suppress on
853 bridge-unicast-flood off
854 bridge-multicast-flood off
855
856 auto vmbr3
857 iface vmbr3 inet static
858 bridge_ports vxlan3
859 bridge_stp off
860 bridge_fd 0
861 address 10.0.3.254
862 netmask 255.255.255.0
863 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
864 vrf vrf1
865
866 #interconnect vxlan-vfr l3vni
867 auto vxlan4000
868 iface vxlan4000 inet manual
869 vxlan-id 4000
870 vxlan-local-tunnelip 192.168.0.1
871 bridge-learning off
872 bridge-arp-nd-suppress on
873 bridge-unicast-flood off
874 bridge-multicast-flood off
875
876
877 auto vmbr4000
878 iface vmbr4000 inet manual
879 bridge_ports vxlan4000
880 bridge_stp off
881 bridge_fd 0
882 hwaddress 44:39:39:FF:40:90 #must be different on each node
883 vrf vrf1
884 ----
885
886 frr.conf
887
888 ----
889 vrf vrf1
890 vni 4000
891 !
892 router bgp 1234
893 bgp router-id 192.168.0.1
894 no bgp default ipv4-unicast
895 coalesce-time 1000
896 neighbor 192.168.0.2 remote-as 1234
897 neighbor 192.168.0.3 remote-as 1234
898 !
899 address-family l2vpn evpn
900 neighbor 192.168.0.2 activate
901 neighbor 192.168.0.3 activate
902 advertise-all-vni
903 exit-address-family
904 !
905 router bgp 1234 vrf vrf1
906 !
907 bgp router-id 192.168.0.1
908 !
909 address-family ipv4 unicast
910 redistribute connected
911 exit-address-family
912 !
913 address-family l2vpn evpn
914 advertise ipv4 unicast
915 exit-address-family
916 !
917 line vty
918 !
919 ----
920
921
922 * node2
923
924 ----
925 auto vrf1
926 iface vrf1
927 vrf-table auto
928
929 auto eno1
930 iface eno1 inet manual
931 mtu 1550
932
933 auto vmbr0
934 iface vmbr0 inet static
935 address 192.168.0.2
936 netmask 255.255.255.0
937 bridge_ports eno1
938 bridge_stp off
939 bridge_fd 0
940
941 auto vxlan2
942 iface vxlan2 inet manual
943 vxlan-id 2
944 vxlan-local-tunnelip 192.168.0.2
945 bridge-learning off
946 bridge-arp-nd-suppress on
947 bridge-unicast-flood off
948 bridge-multicast-flood off
949
950 auto vmbr2
951 iface vmbr2 inet static
952 bridge_ports vxlan2
953 bridge_stp off
954 bridge_fd 0
955 address 10.0.2.254
956 netmask 255.255.255.0
957 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
958 vrf vrf1
959
960 auto vxlan3
961 iface vxlan3 inet manual
962 vxlan-id 3
963 vxlan-local-tunnelip 192.168.0.2
964 bridge-learning off
965 bridge-arp-nd-suppress on
966 bridge-unicast-flood off
967 bridge-multicast-flood off
968
969 auto vmbr3
970 iface vmbr3 inet static
971 bridge_ports vxlan3
972 bridge_stp off
973 bridge_fd 0
974 address 10.0.3.254
975 netmask 255.255.255.0
976 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
977 vrf vrf1
978
979 #interconnect vxlan-vfr l3vni
980 auto vxlan4000
981 iface vxlan4000 inet manual
982 vxlan-id 4000
983 vxlan-local-tunnelip 192.168.0.2
984 bridge-learning off
985 bridge-arp-nd-suppress on
986 bridge-unicast-flood off
987 bridge-multicast-flood off
988
989
990 auto vmbr4000
991 iface vmbr4000 inet manual
992 bridge_ports vxlan4000
993 bridge_stp off
994 bridge_fd 0
995 hwaddress 44:39:39:FF:40:91 #must be different on each node
996 vrf vrf1
997 ----
998
999
1000 frr.conf
1001
1002 ----
1003 vrf vrf1
1004 vni 4000
1005 !
1006 router bgp 1234
1007 bgp router-id 192.168.0.2
1008 no bgp default ipv4-unicast
1009 coalesce-time 1000
1010 neighbor 192.168.0.1 remote-as 1234
1011 neighbor 192.168.0.3 remote-as 1234
1012 !
1013 address-family l2vpn evpn
1014 neighbor 192.168.0.1 activate
1015 neighbor 192.168.0.3 activate
1016 advertise-all-vni
1017 exit-address-family
1018 !
1019 router bgp 1234 vrf vrf1
1020 !
1021 bgp router-id 192.168.0.2
1022 !
1023 address-family ipv4 unicast
1024 redistribute connected
1025 exit-address-family
1026 !
1027 address-family l2vpn evpn
1028 advertise ipv4 unicast
1029 exit-address-family
1030 !
1031 line vty
1032 !
1033 ----
1034
1035
1036 * node3
1037
1038 ----
1039 auto vrf1
1040 iface vrf1
1041 vrf-table auto
1042
1043 auto eno1
1044 iface eno1 inet manual
1045 mtu 1550
1046
1047 auto vmbr0
1048 iface vmbr0 inet static
1049 address 192.168.0.3
1050 netmask 255.255.255.0
1051 bridge_ports eno1
1052 bridge_stp off
1053 bridge_fd 0
1054
1055 auto vxlan2
1056 iface vxlan2 inet manual
1057 vxlan-id 2
1058 vxlan-local-tunnelip 192.168.0.3
1059 bridge-learning off
1060 bridge-arp-nd-suppress on
1061 bridge-unicast-flood off
1062 bridge-multicast-flood off
1063
1064 auto vmbr2
1065 iface vmbr2 inet static
1066 bridge_ports vxlan2
1067 bridge_stp off
1068 bridge_fd 0
1069 address 10.0.2.254
1070 netmask 255.255.255.0
1071 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1072 vrf vrf1
1073
1074 auto vxlan3
1075 iface vxlan3 inet manual
1076 vxlan-id 3
1077 vxlan-local-tunnelip 192.168.0.3
1078 bridge-learning off
1079 bridge-arp-nd-suppress on
1080 bridge-unicast-flood off
1081 bridge-multicast-flood off
1082
1083 auto vmbr3
1084 iface vmbr3 inet static
1085 bridge_ports vxlan3
1086 bridge_stp off
1087 bridge_fd 0
1088 address 10.0.3.254
1089 netmask 255.255.255.0
1090 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1091 vrf vrf1
1092
1093 #interconnect vxlan-vfr l3vni
1094 auto vxlan4000
1095 iface vxlan4000 inet manual
1096 vxlan-id 4000
1097 vxlan-local-tunnelip 192.168.0.3
1098 bridge-learning off
1099 bridge-arp-nd-suppress on
1100 bridge-unicast-flood off
1101 bridge-multicast-flood off
1102
1103
1104 auto vmbr4000
1105 iface vmbr4000 inet manual
1106 bridge_ports vxlan4000
1107 bridge_stp off
1108 bridge_fd 0
1109 hwaddress 44:39:39:FF:40:92 #must be different on each node
1110 vrf vrf1
1111 ----
1112
1113
1114 frr.conf
1115
1116 ----
1117 vrf vrf1
1118 vni 4000
1119 !
1120 router bgp 1234
1121 bgp router-id 192.168.0.3
1122 no bgp default ipv4-unicast
1123 coalesce-time 1000
1124 neighbor 192.168.0.1 remote-as 1234
1125 neighbor 192.168.0.2 remote-as 1234
1126 !
1127 address-family l2vpn evpn
1128 neighbor 192.168.0.1 activate
1129 neighbor 192.168.0.2 activate
1130 advertise-all-vni
1131 exit-address-family
1132 !
1133 router bgp 1234 vrf vrf1
1134 !
1135 bgp router-id 192.168.0.3
1136 !
1137 address-family ipv4 unicast
1138 redistribute connected
1139 exit-address-family
1140 !
1141 address-family l2vpn evpn
1142 advertise ipv4 unicast
1143 exit-address-family
1144 !
1145 line vty
1146 !
1147 ----
1148
1149 VXLAN layer3 routing with anycast gateway + routing to outside with external router
1150 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1151 Routing to outside need the symmetric model.
1152
1153 1 gateway node
1154 ^^^^^^^^^^^^^^
1155 In this example, we'll use only 1 proxmox node as exit gateway. (node1)
1156 This node have a simple default gw in the vrf to the external router (no bgp between router and node1)
1157 and announce this default gw to other proxmox nodes.
1158
1159
1160 *node1
1161
1162 ----
1163 auto vrf1
1164 iface vrf1
1165 vrf-table auto
1166
1167 auto eno1
1168 iface eno1 inet manual
1169 mtu 1550
1170
1171 auto vmbr0
1172 iface vmbr0 inet static
1173 address 192.168.0.1
1174 netmask 255.255.255.0
1175 bridge_ports eno1
1176 bridge_stp off
1177 bridge_fd 0
1178
1179 auto eno2
1180 iface eno2
1181 address 172.16.0.1
1182 netmask 255.255.255.0
1183 vrf vrf1
1184 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1185 #if you have multiple external routers, you can use ecmp balancing
1186 #post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
1187
1188 auto vxlan2
1189 iface vxlan2 inet manual
1190 vxlan-id 2
1191 vxlan-local-tunnelip 192.168.0.1
1192 bridge-learning off
1193 bridge-arp-nd-suppress on
1194 bridge-unicast-flood off
1195 bridge-multicast-flood off
1196
1197 auto vmbr2
1198 iface vmbr2 inet static
1199 bridge_ports vxlan2
1200 bridge_stp off
1201 bridge_fd 0
1202 address 10.0.2.254
1203 netmask 255.255.255.0
1204 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1205 vrf vrf1
1206
1207 auto vxlan3
1208 iface vxlan3 inet manual
1209 vxlan-id 3
1210 vxlan-local-tunnelip 192.168.0.1
1211 bridge-learning off
1212 bridge-arp-nd-suppress on
1213 bridge-unicast-flood off
1214 bridge-multicast-flood off
1215
1216 auto vmbr3
1217 iface vmbr3 inet static
1218 bridge_ports vxlan3
1219 bridge_stp off
1220 bridge_fd 0
1221 address 10.0.3.254
1222 netmask 255.255.255.0
1223 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1224 vrf vrf1
1225
1226 #interconnect vxlan-vfr l3vni
1227 auto vxlan4000
1228 iface vxlan4000 inet manual
1229 vxlan-id 4000
1230 vxlan-local-tunnelip 192.168.0.1
1231 bridge-learning off
1232 bridge-arp-nd-suppress on
1233 bridge-unicast-flood off
1234 bridge-multicast-flood off
1235
1236 auto vmbr4000
1237 iface vmbr4000 inet manual
1238 bridge_ports vxlan4000
1239 bridge_stp off
1240 bridge_fd 0
1241 hwaddress 44:39:39:FF:40:90 #must be different on each node
1242 vrf vrf1
1243 ----
1244
1245
1246 frr.conf
1247
1248 ----
1249 vrf vrf1
1250 vni 4000
1251 !
1252 router bgp 1234
1253 bgp router-id 192.168.0.1
1254 no bgp default ipv4-unicast
1255 coalesce-time 1000
1256 neighbor 192.168.0.2 remote-as 1234
1257 neighbor 192.168.0.3 remote-as 1234
1258 !
1259 address-family l2vpn evpn
1260 neighbor 192.168.0.2 activate
1261 neighbor 192.168.0.3 activate
1262 advertise-all-vni
1263 exit-address-family
1264 !
1265 router bgp 1234 vrf vrf1
1266 !
1267 bgp router-id 172.16.0.1
1268 !
1269 address-family ipv4 unicast
1270 redistribute connected
1271 redistribute kernel !announce your default gw to all nodes
1272 exit-address-family
1273 !
1274 address-family l2vpn evpn
1275 advertise ipv4 unicast
1276 exit-address-family
1277 !
1278 line vty
1279 !
1280 ----
1281
1282
1283 * node2
1284
1285 ----
1286 auto vrf1
1287 iface vrf1
1288 vrf-table auto
1289
1290 auto eno1
1291 iface eno1 inet manual
1292 mtu 1550
1293
1294 auto vmbr0
1295 iface vmbr0 inet static
1296 address 192.168.0.2
1297 netmask 255.255.255.0
1298 bridge_ports eno1
1299 bridge_stp off
1300 bridge_fd 0
1301
1302 auto vxlan2
1303 iface vxlan2 inet manual
1304 vxlan-id 2
1305 vxlan-local-tunnelip 192.168.0.2
1306 bridge-learning off
1307 bridge-arp-nd-suppress on
1308 bridge-unicast-flood off
1309 bridge-multicast-flood off
1310
1311 auto vmbr2
1312 iface vmbr2 inet static
1313 bridge_ports vxlan2
1314 bridge_stp off
1315 bridge_fd 0
1316 address 10.0.2.254
1317 netmask 255.255.255.0
1318 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1319 vrf vrf1
1320
1321 auto vxlan3
1322 iface vxlan3 inet manual
1323 vxlan-id 3
1324 vxlan-local-tunnelip 192.168.0.2
1325 bridge-learning off
1326 bridge-arp-nd-suppress on
1327 bridge-unicast-flood off
1328 bridge-multicast-flood off
1329
1330 auto vmbr3
1331 iface vmbr3 inet static
1332 bridge_ports vxlan3
1333 bridge_stp off
1334 bridge_fd 0
1335 address 10.0.3.254
1336 netmask 255.255.255.0
1337 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1338 vrf vrf1
1339
1340 #interconnect vxlan-vfr l3vni
1341 auto vxlan4000
1342 iface vxlan4000 inet manual
1343 vxlan-id 4000
1344 vxlan-local-tunnelip 192.168.0.2
1345 bridge-learning off
1346 bridge-arp-nd-suppress on
1347 bridge-unicast-flood off
1348 bridge-multicast-flood off
1349
1350
1351 auto vmbr4000
1352 iface vmbr4000 inet manual
1353 bridge_ports vxlan4000
1354 bridge_stp off
1355 bridge_fd 0
1356 hwaddress 44:39:39:FF:40:91 #must be different on each node
1357 vrf vrf1
1358 ----
1359
1360
1361 frr.conf
1362
1363 ----
1364 vrf vrf1
1365 vni 4000
1366 !
1367 router bgp 1234
1368 bgp router-id 192.168.0.2
1369 no bgp default ipv4-unicast
1370 coalesce-time 1000
1371 neighbor 192.168.0.1 remote-as 1234
1372 neighbor 192.168.0.3 remote-as 1234
1373 !
1374 address-family l2vpn evpn
1375 neighbor 192.168.0.1 activate
1376 neighbor 192.168.0.3 activate
1377 advertise-all-vni
1378 exit-address-family
1379 !
1380 router bgp 1234 vrf vrf1
1381 !
1382 bgp router-id 192.168.0.2
1383 !
1384 address-family ipv4 unicast
1385 redistribute connected
1386 exit-address-family
1387 !
1388 address-family l2vpn evpn
1389 advertise ipv4 unicast
1390 exit-address-family
1391 !
1392 line vty
1393 !
1394 ----
1395
1396
1397 * node3
1398
1399 ----
1400 auto vrf1
1401 iface vrf1
1402 vrf-table auto
1403
1404 auto eno1
1405 iface eno1 inet manual
1406 mtu 1550
1407
1408 auto vmbr0
1409 iface vmbr0 inet static
1410 address 192.168.0.3
1411 netmask 255.255.255.0
1412 bridge_ports eno1
1413 bridge_stp off
1414 bridge_fd 0
1415
1416 auto vxlan2
1417 iface vxlan2 inet manual
1418 vxlan-id 2
1419 vxlan-local-tunnelip 192.168.0.3
1420 bridge-learning off
1421 bridge-arp-nd-suppress on
1422 bridge-unicast-flood off
1423 bridge-multicast-flood off
1424
1425 auto vmbr2
1426 iface vmbr2 inet static
1427 bridge_ports vxlan2
1428 bridge_stp off
1429 bridge_fd 0
1430 address 10.0.2.254
1431 netmask 255.255.255.0
1432 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1433 vrf vrf1
1434
1435 auto vxlan3
1436 iface vxlan3 inet manual
1437 vxlan-id 3
1438 vxlan-local-tunnelip 192.168.0.3
1439 bridge-learning off
1440 bridge-arp-nd-suppress on
1441 bridge-unicast-flood off
1442 bridge-multicast-flood off
1443
1444 auto vmbr3
1445 iface vmbr3 inet static
1446 bridge_ports vxlan3
1447 bridge_stp off
1448 bridge_fd 0
1449 address 10.0.3.254
1450 netmask 255.255.255.0
1451 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1452 vrf vrf1
1453
1454 #interconnect vxlan-vfr l3vni
1455 auto vxlan4000
1456 iface vxlan4000 inet manual
1457 vxlan-id 4000
1458 vxlan-local-tunnelip 192.168.0.3
1459 bridge-learning off
1460 bridge-arp-nd-suppress on
1461 bridge-unicast-flood off
1462 bridge-multicast-flood off
1463
1464
1465 auto vmbr4000
1466 iface vmbr4000 inet manual
1467 bridge_ports vxlan4000
1468 bridge_stp off
1469 bridge_fd 0
1470 hwaddress 44:39:39:FF:40:92 #must be different on each node
1471 vrf vrf1
1472 ----
1473
1474
1475 frr.conf
1476
1477 ----
1478 vrf vrf1
1479 vni 4000
1480 !
1481 router bgp 1234
1482 bgp router-id 192.168.0.3
1483 no bgp default ipv4-unicast
1484 coalesce-time 1000
1485 neighbor 192.168.0.1 remote-as 1234
1486 neighbor 192.168.0.2 remote-as 1234
1487 !
1488 address-family l2vpn evpn
1489 neighbor 192.168.0.1 activate
1490 neighbor 192.168.0.2 activate
1491 advertise-all-vni
1492 exit-address-family
1493 !
1494 router bgp 1234 vrf vrf1
1495 !
1496 bgp router-id 192.168.0.3
1497 !
1498 address-family ipv4 unicast
1499 redistribute connected
1500 exit-address-family
1501 !
1502 address-family l2vpn evpn
1503 advertise ipv4 unicast
1504 exit-address-family
1505 !
1506 line vty
1507 !
1508 ----
1509
1510 multiple gateway nodes
1511 ^^^^^^^^^^^^^^^^^^^^^^
1512 In this example, all nodes will be used as exit gateway. (But you can use only 2 nodes if you want)
1513 All nodes have a simple default gw in the vrf to the external router (no bgp between router and node1)
1514 and announce this default gw.
1515 The external router have ecmp routes to all proxmox nodes.(balancing).
1516 If the router send the packet to a wrong node (vm is not on this node), this node will route through
1517 vxlan the packet to final destination.
1518
1519 *node1
1520
1521 ----
1522 auto vrf1
1523 iface vrf1
1524 vrf-table auto
1525
1526 auto eno1
1527 iface eno1 inet manual
1528 mtu 1550
1529
1530 auto vmbr0
1531 iface vmbr0 inet static
1532 address 192.168.0.1
1533 netmask 255.255.255.0
1534 bridge_ports eno1
1535 bridge_stp off
1536 bridge_fd 0
1537
1538 auto eno2
1539 iface eno2
1540 address 172.16.0.1
1541 netmask 255.255.255.0
1542 vrf vrf1
1543 mtu 1550
1544 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1545 #if you have multiple external routers, you can use ecmp balancing
1546 #post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
1547
1548 auto vxlan2
1549 iface vxlan2 inet manual
1550 vxlan-id 2
1551 vxlan-local-tunnelip 192.168.0.1
1552 bridge-learning off
1553 bridge-arp-nd-suppress on
1554 bridge-unicast-flood off
1555 bridge-multicast-flood off
1556
1557 auto vmbr2
1558 iface vmbr2 inet static
1559 bridge_ports vxlan2
1560 bridge_stp off
1561 bridge_fd 0
1562 address 10.0.2.254
1563 netmask 255.255.255.0
1564 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1565 vrf vrf1
1566
1567 auto vxlan3
1568 iface vxlan3 inet manual
1569 vxlan-id 3
1570 vxlan-local-tunnelip 192.168.0.1
1571 bridge-learning off
1572 bridge-arp-nd-suppress on
1573 bridge-unicast-flood off
1574 bridge-multicast-flood off
1575
1576 auto vmbr3
1577 iface vmbr3 inet static
1578 bridge_ports vxlan3
1579 bridge_stp off
1580 bridge_fd 0
1581 address 10.0.3.254
1582 netmask 255.255.255.0
1583 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1584 vrf vrf1
1585
1586 #interconnect vxlan-vfr l3vni
1587 auto vxlan4000
1588 iface vxlan4000 inet manual
1589 vxlan-id 4000
1590 vxlan-local-tunnelip 192.168.0.1
1591 bridge-learning off
1592 bridge-arp-nd-suppress on
1593 bridge-unicast-flood off
1594 bridge-multicast-flood off
1595
1596 auto vmbr4000
1597 iface vmbr4000 inet manual
1598 bridge_ports vxlan4000
1599 bridge_stp off
1600 bridge_fd 0
1601 hwaddress 44:39:39:FF:40:90 #must be different on each node
1602 vrf vrf1
1603 ----
1604
1605
1606 frr.conf
1607
1608 ----
1609 vrf vrf1
1610 vni 4000
1611 !
1612 router bgp 1234
1613 bgp router-id 192.168.0.1
1614 no bgp default ipv4-unicast
1615 coalesce-time 1000
1616 neighbor 192.168.0.2 remote-as 1234
1617 neighbor 192.168.0.3 remote-as 1234
1618 !
1619 address-family l2vpn evpn
1620 neighbor 192.168.0.2 activate
1621 neighbor 192.168.0.3 activate
1622 advertise-all-vni
1623 exit-address-family
1624 !
1625 router bgp 1234 vrf vrf1
1626 !
1627 bgp router-id 172.16.0.1
1628 !
1629 address-family ipv4 unicast
1630 redistribute connected
1631 redistribute kernel !announce your default gw to all nodes
1632 exit-address-family
1633 !
1634 address-family l2vpn evpn
1635 advertise ipv4 unicast
1636 exit-address-family
1637 !
1638 line vty
1639 !
1640 ----
1641
1642
1643 * node2
1644
1645 ----
1646 auto vrf1
1647 iface vrf1
1648 vrf-table auto
1649
1650 auto eno1
1651 iface eno1 inet manual
1652 mtu 1550
1653
1654 auto vmbr0
1655 iface vmbr0 inet static
1656 address 192.168.0.2
1657 netmask 255.255.255.0
1658 bridge_ports eno1
1659 bridge_stp off
1660 bridge_fd 0
1661
1662 auto eno2
1663 iface eno2
1664 address 172.16.0.3
1665 netmask 255.255.255.0
1666 vrf vrf1
1667 mtu 1550
1668 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1669 #if you have multiple external routers, you can use ecmp balancing
1670 #post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
1671
1672 auto vxlan2
1673 iface vxlan2 inet manual
1674 vxlan-id 2
1675 vxlan-local-tunnelip 192.168.0.2
1676 bridge-learning off
1677 bridge-arp-nd-suppress on
1678 bridge-unicast-flood off
1679 bridge-multicast-flood off
1680
1681 auto vmbr2
1682 iface vmbr2 inet static
1683 bridge_ports vxlan2
1684 bridge_stp off
1685 bridge_fd 0
1686 address 10.0.2.254
1687 netmask 255.255.255.0
1688 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1689 vrf vrf1
1690
1691 auto vxlan3
1692 iface vxlan3 inet manual
1693 vxlan-id 3
1694 vxlan-local-tunnelip 192.168.0.2
1695 bridge-learning off
1696 bridge-arp-nd-suppress on
1697 bridge-unicast-flood off
1698 bridge-multicast-flood off
1699
1700 auto vmbr3
1701 iface vmbr3 inet static
1702 bridge_ports vxlan3
1703 bridge_stp off
1704 bridge_fd 0
1705 address 10.0.3.254
1706 netmask 255.255.255.0
1707 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1708 vrf vrf1
1709
1710 #interconnect vxlan-vfr l3vni
1711 auto vxlan4000
1712 iface vxlan4000 inet manual
1713 vxlan-id 4000
1714 vxlan-local-tunnelip 192.168.0.2
1715 bridge-learning off
1716 bridge-arp-nd-suppress on
1717 bridge-unicast-flood off
1718 bridge-multicast-flood off
1719
1720
1721 auto vmbr4000
1722 iface vmbr4000 inet manual
1723 bridge_ports vxlan4000
1724 bridge_stp off
1725 bridge_fd 0
1726 hwaddress 44:39:39:FF:40:91 #must be different on each node
1727 vrf vrf1
1728 ----
1729
1730
1731 frr.conf
1732
1733 ----
1734 vrf vrf1
1735 vni 4000
1736 !
1737 router bgp 1234
1738 bgp router-id 192.168.0.2
1739 no bgp default ipv4-unicast
1740 coalesce-time 1000
1741 neighbor 192.168.0.1 remote-as 1234
1742 neighbor 192.168.0.3 remote-as 1234
1743 !
1744 address-family l2vpn evpn
1745 neighbor 192.168.0.1 activate
1746 neighbor 192.168.0.3 activate
1747 advertise-all-vni
1748 exit-address-family
1749 !
1750 router bgp 1234 vrf vrf1
1751 !
1752 bgp router-id 172.16.0.2
1753 !
1754 address-family ipv4 unicast
1755 redistribute connected
1756 redistribute kernel !announce your default gw to all nodes
1757 exit-address-family
1758 !
1759 address-family l2vpn evpn
1760 advertise ipv4 unicast
1761 exit-address-family
1762 !
1763 line vty
1764 !
1765 ----
1766
1767
1768 * node3
1769
1770 ----
1771 auto vrf1
1772 iface vrf1
1773 vrf-table auto
1774
1775 auto eno1
1776 iface eno1 inet manual
1777 mtu 1550
1778
1779 auto vmbr0
1780 iface vmbr0 inet static
1781 address 192.168.0.3
1782 netmask 255.255.255.0
1783 bridge_ports eno1
1784 bridge_stp off
1785 bridge_fd 0
1786
1787 auto eno2
1788 iface eno2
1789 address 172.16.0.3
1790 netmask 255.255.255.0
1791 vrf vrf1
1792 mtu 1550
1793 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1794 #if you have multiple external routers, you can use ecmp balancing
1795 #post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
1796
1797 auto vxlan2
1798 iface vxlan2 inet manual
1799 vxlan-id 2
1800 vxlan-local-tunnelip 192.168.0.3
1801 bridge-learning off
1802 bridge-arp-nd-suppress on
1803 bridge-unicast-flood off
1804 bridge-multicast-flood off
1805
1806 auto vmbr2
1807 iface vmbr2 inet static
1808 bridge_ports vxlan2
1809 bridge_stp off
1810 bridge_fd 0
1811 address 10.0.2.254
1812 netmask 255.255.255.0
1813 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1814 vrf vrf1
1815
1816 auto vxlan3
1817 iface vxlan3 inet manual
1818 vxlan-id 3
1819 vxlan-local-tunnelip 192.168.0.3
1820 bridge-learning off
1821 bridge-arp-nd-suppress on
1822 bridge-unicast-flood off
1823 bridge-multicast-flood off
1824
1825 auto vmbr3
1826 iface vmbr3 inet static
1827 bridge_ports vxlan3
1828 bridge_stp off
1829 bridge_fd 0
1830 address 10.0.3.254
1831 netmask 255.255.255.0
1832 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1833 vrf vrf1
1834
1835 #interconnect vxlan-vfr l3vni
1836 auto vxlan4000
1837 iface vxlan4000 inet manual
1838 vxlan-id 4000
1839 vxlan-local-tunnelip 192.168.0.3
1840 bridge-learning off
1841 bridge-arp-nd-suppress on
1842 bridge-unicast-flood off
1843 bridge-multicast-flood off
1844
1845
1846 auto vmbr4000
1847 iface vmbr4000 inet manual
1848 bridge_ports vxlan4000
1849 bridge_stp off
1850 bridge_fd 0
1851 hwaddress 44:39:39:FF:40:92 #must be different on each node
1852 vrf vrf1
1853 ----
1854
1855
1856 frr.conf
1857
1858 ----
1859 vrf vrf1
1860 vni 4000
1861 !
1862 router bgp 1234
1863 bgp router-id 192.168.0.3
1864 no bgp default ipv4-unicast
1865 coalesce-time 1000
1866 neighbor 192.168.0.1 remote-as 1234
1867 neighbor 192.168.0.2 remote-as 1234
1868 !
1869 address-family l2vpn evpn
1870 neighbor 192.168.0.1 activate
1871 neighbor 192.168.0.2 activate
1872 advertise-all-vni
1873 exit-address-family
1874 !
1875 router bgp 1234 vrf vrf1
1876 !
1877 bgp router-id 172.16.0.3
1878 !
1879 address-family ipv4 unicast
1880 redistribute connected
1881 redistribute kernel !announce your default gw to all nodes
1882 exit-address-family
1883 !
1884 address-family l2vpn evpn
1885 advertise ipv4 unicast
1886 exit-address-family
1887 !
1888 line vty
1889 !
1890 ----
1891
1892 Note
1893 ^^^^
1894
1895 If your external router don't support ecmp to reach multiple proxmox nodes,
1896 you can setup an HA floating vip on proxmox nodes with vrrp
1897
1898 I this example, we will setup an floating 172.16.0.10 ip on node1 and node2.
1899 Node1 is the primary and failover to node2 in case of failure.
1900
1901
1902 * node1
1903
1904 ----
1905 auto eno2
1906 iface eno2
1907 address 172.16.0.1
1908 netmask 255.255.255.0
1909 vrf vrf1
1910 mtu 1550
1911 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1912 vrrp-id 1
1913 vrrp-priority 1
1914 vrrp-virtual-ip 172.16.0.10
1915 ----
1916
1917 * node2
1918
1919 ----
1920 auto eno2
1921 iface eno2
1922 address 172.16.0.2
1923 netmask 255.255.255.0
1924 mtu 1550
1925 vrf vrf1
1926 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1927 vrrp-id 1
1928 vrrp-priority 2
1929 vrrp-virtual-ip 172.16.0.10
1930 ----
1931
1932