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