]> git.proxmox.com Git - pve-docs.git/blame - vxlan-and-evpn.adoc
vxlan: reword and add a bit
[pve-docs.git] / vxlan-and-evpn.adoc
CommitLineData
445822a9
DM
1
2////
3
4This is currently not included, because
5- it requires ifupdown2
6- routing needs more documentation
7
8////
9
10
11VXLAN layer2 with vlan unware linux bridges
12~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13
14VXLAN is an overlay network to carry Ethernet traffic over an existing IP network
15while accommodating a very large number of tenants. It is defined in RFC 7348.
16Each overlay network is known as a VXLAN Segment and identified by a unique
1724-bit segment ID called a VXLAN Network Identifier (VNI).
18
47cf2d10
AD
19VXLAN encapsulation add 50bytes overhead, so you need to increase mtu on your host
20physical interfaces to 1550 at minimum. (or decrease mtu inside your vms to 1450)
21
445822a9
DM
22For BUM traffic (broadcast / unknown unicast traffic, multicast),
23we have 3 differents vxlan setup modes : multicast, unicast, bgp-evpn
24
25image::images/vxlan-l2-vlanunaware.svg["vxlan l2 bridge vlan unaware",align="center"]
26
27multicast mode
28^^^^^^^^^^^^^^
29
30This scenario relies in head end replication, meaning that end host in case
31of not having any entry for the destination MAC address will send out an ARP
32to other devices / VTEPs in the VXLAN network.
33This is done by sending the request to the VXLAN multicast group,
34remote VTEPs will get the packet and answer accordingly direct to the originating VTEP.
35
36
37* node1
38
39----
40auto eno1
41iface eno1 inet manual
47cf2d10 42 mtu 1550
445822a9
DM
43
44auto vmbr0
45iface 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
52auto vxlan2
53iface vxlan2 inet manual
edcf2118 54 vxlan-id 2
445822a9
DM
55 vxlan-svcnodeip 225.20.1.1
56 vxlan-physdev eno1
57
58auto vmbr2
59iface vmbr2 inet manual
60 bridge_ports vxlan2
61 bridge_stp off
62 bridge_fd 0
63
64auto vxlan3
65iface vxlan3 inet manual
edcf2118 66 vxlan-id 3
445822a9
DM
67 vxlan-svcnodeip 225.20.1.1
68 vxlan-physdev eno1
69
70auto vmbr3
71iface vmbr3 inet manual
72 bridge_ports vxlan3
73 bridge_stp off
74 bridge_fd 0
75----
76
77
78* node2
79
80----
81auto eno1
82iface eno1 inet manual
47cf2d10 83 mtu 1550
445822a9
DM
84
85auto vmbr0
86iface 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
93auto vxlan2
94iface vxlan2 inet manual
edcf2118 95 vxlan-id 2
445822a9
DM
96 vxlan-svcnodeip 225.20.1.1
97 vxlan-physdev eno1
98
99auto vmbr2
100iface vmbr2 inet manual
101 bridge_ports vxlan2
102 bridge_stp off
103 bridge_fd 0
104
105
106auto vxlan3
107iface vxlan3 inet manual
edcf2118 108 vxlan-id 3
445822a9
DM
109 vxlan-svcnodeip 225.20.1.1
110 vxlan-physdev eno1
111
112auto vmbr3
113iface vmbr3 inet manual
114 bridge_ports vxlan3
115 bridge_stp off
116 bridge_fd 0
117----
118
119
120* node3
121
122----
123auto eno1
124iface eno1 inet manual
47cf2d10 125 mtu 1550
445822a9
DM
126
127auto vmbr0
128iface 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
135auto vxlan2
136iface vxlan2 inet manual
edcf2118 137 vxlan-id 2
445822a9
DM
138 vxlan-svcnodeip 225.20.1.1
139 vxlan-physdev eno1
140
141auto vmbr2
142iface vmbr2 inet manual
143 bridge_ports vxlan2
144 bridge_stp off
145 bridge_fd 0
146
147
148auto vxlan3
149iface vxlan3 inet manual
edcf2118 150 vxlan-id 3
445822a9
DM
151 vxlan-svcnodeip 225.20.1.1
152 vxlan-physdev eno1
153
154auto vmbr3
155iface vmbr3 inet manual
156 bridge_ports vxlan3
157 bridge_stp off
158 bridge_fd 0
159----
160
161
162unicast mode
163^^^^^^^^^^^^
164
165We can replace multicast by head-end replication of BUM frames to a statically configured lists of remote VTEPs.
166The VXLAN is defined without a remote multicast group.
167Instead, all the remote VTEPs are associated with the all-zero address:
168a BUM frame will be duplicated to all these destinations.
169The VXLAN device will still learn remote addresses automatically using source-address learning.
170
171* node1
172
173----
174auto eno1
175iface eno1 inet manual
47cf2d10 176 mtu 1550
445822a9
DM
177
178auto vmbr0
179iface 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
187auto vxlan2
188iface vxlan2 inet manual
edcf2118 189 vxlan-id 2
445822a9
DM
190 vxlan_remoteip 192.168.0.2
191 vxlan_remoteip 192.168.0.3
192
193
194auto vmbr2
195iface vmbr2 inet manual
196 bridge_ports vxlan2
197 bridge_stp off
198 bridge_fd 0
199
200
201auto vxlan3
202iface vxlan2 inet manual
edcf2118 203 vxlan-id 3
445822a9
DM
204 vxlan_remoteip 192.168.0.2
205 vxlan_remoteip 192.168.0.3
206
207
208auto vmbr3
209iface vmbr3 inet manual
210 bridge_ports vxlan3
211 bridge_stp off
212 bridge_fd 0
213----
214
215
216* node2
217
218----
219auto eno1
220iface eno1 inet manual
47cf2d10 221 mtu 1550
445822a9
DM
222
223auto vmbr0
224iface 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
231auto vxlan2
232iface vxlan2 inet manual
edcf2118 233 vxlan-id 2
445822a9
DM
234 vxlan_remoteip 192.168.0.1
235 vxlan_remoteip 192.168.0.3
236
237
238
239auto vmbr2
240iface vmbr2 inet manual
241 bridge_ports vxlan2
242 bridge_stp off
243 bridge_fd 0
244
245auto vxlan3
246iface vxlan2 inet manual
edcf2118 247 vxlan-id 3
445822a9
DM
248 vxlan_remoteip 192.168.0.1
249 vxlan_remoteip 192.168.0.3
250
251
252auto vmbr3
253iface vmbr3 inet manual
254 bridge_ports vxlan3
255 bridge_stp off
256 bridge_fd 0
257----
258
259
260* node3
261
262----
263auto eno1
264iface eno1 inet manual
47cf2d10 265 mtu 1550
445822a9
DM
266
267auto vmbr0
268iface 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
275auto vxlan2
276iface vxlan2 inet manual
edcf2118 277 vxlan-id 2
445822a9
DM
278 vxlan_remoteip 192.168.0.2
279 vxlan_remoteip 192.168.0.3
280
281
282
283auto vmbr2
284iface vmbr2 inet manual
285 bridge_ports vxlan2
286 bridge_stp off
287 bridge_fd 0
288
289auto vxlan3
290iface vxlan2 inet manual
edcf2118 291 vxlan-id 3
445822a9
DM
292 vxlan_remoteip 192.168.0.2
293 vxlan_remoteip 192.168.0.3
294
295
296auto vmbr3
297iface vmbr3 inet manual
298 bridge_ports vxlan3
299 bridge_stp off
300 bridge_fd 0
301----
302
303
304bgp-evpn
305^^^^^^^^
306
307VTEPs use control plane learning/distribution via BGP for remote MAC addresses instead of data plane learning.
308VTEPs have the ability to suppress ARP flooding over VXLAN tunnels.
309
310The control plane used here is FRR, a bgp routing software.
311Each node in the proxmox cluster peer with each others nodes.
312For bigger networks, or multiple proxmox clusters,
313it's possible to use external bgp route reflector servers.
314
315* node1
316
317----
318auto eno1
319iface eno1 inet manual
47cf2d10 320 mtu 1550
445822a9
DM
321
322auto vmbr0
323iface 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
330auto vxlan2
331iface vxlan2 inet manual
edcf2118 332 vxlan-id 2
445822a9
DM
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
340auto vmbr2
341iface vmbr2 inet manual
342 bridge_ports vxlan2
343 bridge_stp off
344 bridge_fd 0
345
346
347auto vxlan3
348iface vxlan3 inet manual
edcf2118 349 vxlan-id 3
445822a9
DM
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
357auto vmbr3
358iface 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----
368router 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!
380line vty
381!
382----
383
384
385* node2
386
387----
388auto eno1
389iface eno1 inet manual
47cf2d10 390 mtu 1550
445822a9
DM
391
392auto vmbr0
393iface 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
400auto vxlan2
401iface vxlan2 inet manual
edcf2118 402 vxlan-id 2
445822a9
DM
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
410auto vmbr2
411iface vmbr2 inet manual
412 bridge_ports vxlan2
413 bridge_stp off
414 bridge_fd 0
415
416auto vxlan3
417iface vxlan3 inet manual
edcf2118 418 vxlan-id 3
445822a9
DM
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
426auto vmbr3
427iface 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----
437router 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!
449line vty
450!
451----
452
453
454* node3
455
456----
457auto eno1
458iface eno1 inet manual
47cf2d10 459 mtu 1550
445822a9
DM
460
461auto vmbr0
462iface 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
469auto vxlan2
470iface vxlan2 inet manual
edcf2118 471 vxlan-id 2
445822a9
DM
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
479auto vmbr2
480iface vmbr2 inet manual
481 bridge_ports vxlan2
482 bridge_stp off
483 bridge_fd 0
484
485auto vxlan3
486iface vxlan3 inet manual
edcf2118 487 vxlan-id 3
445822a9
DM
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
495auto vmbr3
496iface 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----
507router 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!
519line vty
520!
521----
522
1821b137
AD
523VXLAN layer3 routing with anycast gateway
524~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
525
526With this need, each vmbr bridge will be the gateway for the vm.
527Same vmbr on different node, will have same ip address and same mac address,
528to have working vm live migration and no network disruption.
529
4d3f6a2e 530VXLAN layer3 routing only work with FRR and non-aware bridge.
1821b137
AD
531(vlan aware bridge support is buggy currently).
532
1821b137
AD
533asymmetric model
534^^^^^^^^^^^^^^^^
535
536This is the simplest mode. To get it work, all vxlan need to be defined on all nodes.
537
4d3f6a2e
TL
538The asymmetric model allows routing and bridging on the VXLAN tunnel ingress,
539but only bridging on the egress.
540This results in bi-directional VXLAN traffic traveling on different VNIs
1821b137
AD
541in each direction (always the destination VNI) across the routed infrastructure.
542
543image::images/vxlan-l3-asymmetric.svg["vxlan l3 asymmetric",align="center"]
544
545
ccecb4f9
AD
546sysctl.conf tuning
547
548----
549#enable routing
550net.ipv4.ip_forward=1
551net.ipv6.conf.all.forwarding=1
552----
553
1821b137
AD
554* node1
555
556----
557auto eno1
558iface eno1 inet manual
47cf2d10 559 mtu 1550
4d3f6a2e 560
1821b137
AD
561auto vmbr0
562iface 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
4d3f6a2e 568
1821b137
AD
569auto vxlan2
570iface vxlan2 inet manual
edcf2118 571 vxlan-id 2
1821b137
AD
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
579auto vmbr2
580iface 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
589auto vxlan3
590iface vxlan3 inet manual
edcf2118 591 vxlan-id 3
1821b137
AD
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
599auto vmbr3
600iface 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
610frr.conf
611
612----
613router 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
4d3f6a2e 623 advertise-all-vni
1821b137
AD
624 exit-address-family
625!
626line vty
627!
628----
629
630
631* node2
632
633----
634auto eno1
635iface eno1 inet manual
47cf2d10 636 mtu 1550
4d3f6a2e 637
1821b137
AD
638auto vmbr0
639iface 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
4d3f6a2e 645
1821b137
AD
646auto vxlan2
647iface vxlan2 inet manual
edcf2118 648 vxlan-id 2
1821b137
AD
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
656auto vmbr2
657iface 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
666auto vxlan3
667iface vxlan3 inet manual
edcf2118 668 vxlan-id 3
1821b137
AD
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
676auto vmbr3
677iface 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
687frr.conf
688
689----
690router 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
4d3f6a2e 700 advertise-all-vni
1821b137
AD
701 exit-address-family
702!
703line vty
704!
705----
706
707
708* node3
709
710----
711auto eno1
712iface eno1 inet manual
47cf2d10 713 mtu 1550
4d3f6a2e 714
1821b137
AD
715auto vmbr0
716iface 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
4d3f6a2e 722
1821b137
AD
723auto vxlan2
724iface vxlan2 inet manual
edcf2118 725 vxlan-id 2
1821b137
AD
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
733auto vmbr2
734iface 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
743auto vxlan3
744iface vxlan3 inet manual
edcf2118 745 vxlan-id 3
1821b137
AD
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
753auto vmbr3
754iface 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
764frr.conf
765
766----
767router 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
4d3f6a2e 777 advertise-all-vni
1821b137
AD
778 exit-address-family
779!
780line vty
781!
782----
783
784
785symmetric model
786^^^^^^^^^^^^^^^
787
788With this model, you don't need to have all vxlan on all nodes.
4d3f6a2e 789This model will also be needed to route traffic to an external router.
1821b137 790
4d3f6a2e
TL
791The symmetric model routes and bridges on both the ingress and the egress leafs.
792This results in bi-directional traffic being able to travel on the same VNI, hence the symmetric name.
793However, a new specialty transit VNI is used for all routed VXLAN traffic, called the L3VNI.
794All traffic that needs to be routed will be routed onto the L3VNI, tunneled across the layer 3 Infrastructure,
1821b137
AD
795routed off the L3VNI to the appropriate VLAN and ultimately bridged to the destination.
796
797A 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
799image::images/vxlan-l3-symmetric.svg["vxlan l3 symmetric",align="center"]
800
ccecb4f9
AD
801sysctl.conf tuning
802
803----
804#enable routing
805net.ipv4.ip_forward=1
806net.ipv6.conf.all.forwarding=1
ccecb4f9 807----
1821b137
AD
808
809* node1
810
811----
812auto vrf1
813iface vrf1
814 vrf-table auto
815
816auto eno1
817iface eno1 inet manual
47cf2d10 818 mtu 1550
4d3f6a2e 819
1821b137
AD
820auto vmbr0
821iface 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
828auto vxlan2
829iface vxlan2 inet manual
edcf2118 830 vxlan-id 2
1821b137
AD
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
837auto vmbr2
838iface 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
847auto vxlan3
848iface vxlan3 inet manual
edcf2118 849 vxlan-id 3
1821b137
AD
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
856auto vmbr3
857iface 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
867auto vxlan4000
868iface vxlan4000 inet manual
edcf2118 869 vxlan-id 4000
1821b137
AD
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
877auto vmbr4000
878iface vmbr4000 inet manual
879 bridge_ports vxlan4000
880 bridge_stp off
881 bridge_fd 0
1821b137
AD
882 vrf vrf1
883----
884
885frr.conf
886
887----
888vrf vrf1
889 vni 4000
250e8aa6 890 exit-vrf
1821b137
AD
891!
892router 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!
1821b137
AD
905line vty
906!
907----
908
909
910* node2
911
912----
913auto vrf1
914iface vrf1
915 vrf-table auto
916
917auto eno1
918iface eno1 inet manual
47cf2d10 919 mtu 1550
4d3f6a2e 920
1821b137
AD
921auto vmbr0
922iface vmbr0 inet static
923 address 192.168.0.2
924 netmask 255.255.255.0
925 bridge_ports eno1
926 bridge_stp off
927 bridge_fd 0
928
929auto vxlan2
930iface vxlan2 inet manual
edcf2118 931 vxlan-id 2
1821b137
AD
932 vxlan-local-tunnelip 192.168.0.2
933 bridge-learning off
934 bridge-arp-nd-suppress on
935 bridge-unicast-flood off
936 bridge-multicast-flood off
937
938auto vmbr2
939iface vmbr2 inet static
940 bridge_ports vxlan2
941 bridge_stp off
942 bridge_fd 0
943 address 10.0.2.254
944 netmask 255.255.255.0
945 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
946 vrf vrf1
947
948auto vxlan3
949iface vxlan3 inet manual
edcf2118 950 vxlan-id 3
1821b137
AD
951 vxlan-local-tunnelip 192.168.0.2
952 bridge-learning off
953 bridge-arp-nd-suppress on
954 bridge-unicast-flood off
955 bridge-multicast-flood off
956
957auto vmbr3
958iface vmbr3 inet static
959 bridge_ports vxlan3
960 bridge_stp off
961 bridge_fd 0
962 address 10.0.3.254
963 netmask 255.255.255.0
964 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
965 vrf vrf1
966
967#interconnect vxlan-vfr l3vni
968auto vxlan4000
969iface vxlan4000 inet manual
edcf2118 970 vxlan-id 4000
1821b137
AD
971 vxlan-local-tunnelip 192.168.0.2
972 bridge-learning off
973 bridge-arp-nd-suppress on
974 bridge-unicast-flood off
975 bridge-multicast-flood off
976
977
978auto vmbr4000
979iface vmbr4000 inet manual
980 bridge_ports vxlan4000
981 bridge_stp off
982 bridge_fd 0
1821b137
AD
983 vrf vrf1
984----
985
986
987frr.conf
988
989----
990vrf vrf1
991 vni 4000
250e8aa6 992 exit-vrf
1821b137
AD
993!
994router bgp 1234
995 bgp router-id 192.168.0.2
996 no bgp default ipv4-unicast
997 coalesce-time 1000
998 neighbor 192.168.0.1 remote-as 1234
999 neighbor 192.168.0.3 remote-as 1234
1000 !
1001 address-family l2vpn evpn
1002 neighbor 192.168.0.1 activate
1003 neighbor 192.168.0.3 activate
1004 advertise-all-vni
1005 exit-address-family
1006!
1821b137
AD
1007line vty
1008!
1009----
1010
1011
1012* node3
1013
1014----
1015auto vrf1
1016iface vrf1
1017 vrf-table auto
1018
1019auto eno1
1020iface eno1 inet manual
47cf2d10 1021 mtu 1550
4d3f6a2e 1022
1821b137
AD
1023auto vmbr0
1024iface vmbr0 inet static
1025 address 192.168.0.3
1026 netmask 255.255.255.0
1027 bridge_ports eno1
1028 bridge_stp off
1029 bridge_fd 0
1030
1031auto vxlan2
1032iface vxlan2 inet manual
edcf2118 1033 vxlan-id 2
1821b137
AD
1034 vxlan-local-tunnelip 192.168.0.3
1035 bridge-learning off
1036 bridge-arp-nd-suppress on
1037 bridge-unicast-flood off
1038 bridge-multicast-flood off
1039
1040auto vmbr2
1041iface vmbr2 inet static
1042 bridge_ports vxlan2
1043 bridge_stp off
1044 bridge_fd 0
1045 address 10.0.2.254
1046 netmask 255.255.255.0
1047 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1048 vrf vrf1
1049
1050auto vxlan3
1051iface vxlan3 inet manual
edcf2118 1052 vxlan-id 3
1821b137
AD
1053 vxlan-local-tunnelip 192.168.0.3
1054 bridge-learning off
1055 bridge-arp-nd-suppress on
1056 bridge-unicast-flood off
1057 bridge-multicast-flood off
1058
1059auto vmbr3
1060iface vmbr3 inet static
1061 bridge_ports vxlan3
1062 bridge_stp off
1063 bridge_fd 0
1064 address 10.0.3.254
1065 netmask 255.255.255.0
1066 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1067 vrf vrf1
1068
1069#interconnect vxlan-vfr l3vni
1070auto vxlan4000
1071iface vxlan4000 inet manual
edcf2118 1072 vxlan-id 4000
1821b137
AD
1073 vxlan-local-tunnelip 192.168.0.3
1074 bridge-learning off
1075 bridge-arp-nd-suppress on
1076 bridge-unicast-flood off
1077 bridge-multicast-flood off
1078
1079
1080auto vmbr4000
1081iface vmbr4000 inet manual
1082 bridge_ports vxlan4000
1083 bridge_stp off
1084 bridge_fd 0
1821b137
AD
1085 vrf vrf1
1086----
1087
1088
1089frr.conf
1090
1091----
1092vrf vrf1
1093 vni 4000
250e8aa6 1094 exit-vrf
1821b137
AD
1095!
1096router bgp 1234
1097 bgp router-id 192.168.0.3
1098 no bgp default ipv4-unicast
1099 coalesce-time 1000
1100 neighbor 192.168.0.1 remote-as 1234
1101 neighbor 192.168.0.2 remote-as 1234
1102 !
1103 address-family l2vpn evpn
1104 neighbor 192.168.0.1 activate
1105 neighbor 192.168.0.2 activate
1106 advertise-all-vni
1107 exit-address-family
1108!
1821b137
AD
1109line vty
1110!
1111----
76b6e857
AD
1112
1113VXLAN layer3 routing with anycast gateway + routing to outside with external router
1114~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1115Routing to outside need the symmetric model.
1116
11171 gateway node
1118^^^^^^^^^^^^^^
1119In this example, we'll use only 1 proxmox node as exit gateway. (node1)
250e8aa6 1120This node announce the default gw in vrf1 (default originate) and forward to his own default gateway (192.168.0.254) (no bgp between router and node1)
76b6e857
AD
1121
1122
1123*node1
1124
1125----
1126auto vrf1
1127iface vrf1
1128 vrf-table auto
1129
1130auto eno1
1131iface eno1 inet manual
47cf2d10 1132 mtu 1550
76b6e857
AD
1133
1134auto vmbr0
1135iface vmbr0 inet static
1136 address 192.168.0.1
1137 netmask 255.255.255.0
250e8aa6 1138 gateway 192.168.0.254
76b6e857
AD
1139 bridge_ports eno1
1140 bridge_stp off
1141 bridge_fd 0
1142
76b6e857
AD
1143auto vxlan2
1144iface vxlan2 inet manual
edcf2118 1145 vxlan-id 2
76b6e857
AD
1146 vxlan-local-tunnelip 192.168.0.1
1147 bridge-learning off
1148 bridge-arp-nd-suppress on
1149 bridge-unicast-flood off
1150 bridge-multicast-flood off
1151
1152auto vmbr2
1153iface vmbr2 inet static
1154 bridge_ports vxlan2
1155 bridge_stp off
1156 bridge_fd 0
1157 address 10.0.2.254
1158 netmask 255.255.255.0
1159 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1160 vrf vrf1
1161
1162auto vxlan3
1163iface vxlan3 inet manual
edcf2118 1164 vxlan-id 3
76b6e857
AD
1165 vxlan-local-tunnelip 192.168.0.1
1166 bridge-learning off
1167 bridge-arp-nd-suppress on
1168 bridge-unicast-flood off
1169 bridge-multicast-flood off
1170
1171auto vmbr3
1172iface vmbr3 inet static
1173 bridge_ports vxlan3
1174 bridge_stp off
1175 bridge_fd 0
1176 address 10.0.3.254
1177 netmask 255.255.255.0
1178 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1179 vrf vrf1
1180
1181#interconnect vxlan-vfr l3vni
1182auto vxlan4000
1183iface vxlan4000 inet manual
edcf2118 1184 vxlan-id 4000
76b6e857
AD
1185 vxlan-local-tunnelip 192.168.0.1
1186 bridge-learning off
1187 bridge-arp-nd-suppress on
1188 bridge-unicast-flood off
1189 bridge-multicast-flood off
1190
1191auto vmbr4000
1192iface vmbr4000 inet manual
1193 bridge_ports vxlan4000
1194 bridge_stp off
1195 bridge_fd 0
76b6e857
AD
1196 vrf vrf1
1197----
1198
1199
1200frr.conf
1201
1202----
1203vrf vrf1
1204 vni 4000
250e8aa6 1205 exit-vrf
76b6e857
AD
1206!
1207router bgp 1234
1208 bgp router-id 192.168.0.1
1209 no bgp default ipv4-unicast
1210 coalesce-time 1000
1211 neighbor 192.168.0.2 remote-as 1234
1212 neighbor 192.168.0.3 remote-as 1234
1213 !
250e8aa6
AD
1214 address-family ipv4 unicast
1215 import vrf vrf1
1216 exit-address-family
1217 !
76b6e857
AD
1218 address-family l2vpn evpn
1219 neighbor 192.168.0.2 activate
1220 neighbor 192.168.0.3 activate
1221 advertise-all-vni
1222 exit-address-family
1223!
1224router bgp 1234 vrf vrf1
1225!
76b6e857 1226 address-family l2vpn evpn
250e8aa6 1227 default-originate ipv4
76b6e857
AD
1228 exit-address-family
1229!
1230line vty
1231!
1232----
1233
1234
1235* node2
1236
1237----
1238auto vrf1
1239iface vrf1
1240 vrf-table auto
1241
1242auto eno1
1243iface eno1 inet manual
47cf2d10 1244 mtu 1550
4d3f6a2e 1245
76b6e857
AD
1246auto vmbr0
1247iface vmbr0 inet static
1248 address 192.168.0.2
1249 netmask 255.255.255.0
1250 bridge_ports eno1
1251 bridge_stp off
1252 bridge_fd 0
1253
1254auto vxlan2
1255iface vxlan2 inet manual
edcf2118 1256 vxlan-id 2
76b6e857
AD
1257 vxlan-local-tunnelip 192.168.0.2
1258 bridge-learning off
1259 bridge-arp-nd-suppress on
1260 bridge-unicast-flood off
1261 bridge-multicast-flood off
1262
1263auto vmbr2
1264iface vmbr2 inet static
1265 bridge_ports vxlan2
1266 bridge_stp off
1267 bridge_fd 0
1268 address 10.0.2.254
1269 netmask 255.255.255.0
1270 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1271 vrf vrf1
1272
1273auto vxlan3
1274iface vxlan3 inet manual
edcf2118 1275 vxlan-id 3
76b6e857
AD
1276 vxlan-local-tunnelip 192.168.0.2
1277 bridge-learning off
1278 bridge-arp-nd-suppress on
1279 bridge-unicast-flood off
1280 bridge-multicast-flood off
1281
1282auto vmbr3
1283iface vmbr3 inet static
1284 bridge_ports vxlan3
1285 bridge_stp off
1286 bridge_fd 0
1287 address 10.0.3.254
1288 netmask 255.255.255.0
1289 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1290 vrf vrf1
1291
1292#interconnect vxlan-vfr l3vni
1293auto vxlan4000
1294iface vxlan4000 inet manual
edcf2118 1295 vxlan-id 4000
76b6e857
AD
1296 vxlan-local-tunnelip 192.168.0.2
1297 bridge-learning off
1298 bridge-arp-nd-suppress on
1299 bridge-unicast-flood off
1300 bridge-multicast-flood off
1301
1302
1303auto vmbr4000
1304iface vmbr4000 inet manual
1305 bridge_ports vxlan4000
1306 bridge_stp off
1307 bridge_fd 0
76b6e857
AD
1308 vrf vrf1
1309----
1310
1311
1312frr.conf
1313
1314----
1315vrf vrf1
1316 vni 4000
250e8aa6 1317 exit-vrf
76b6e857
AD
1318!
1319router bgp 1234
1320 bgp router-id 192.168.0.2
1321 no bgp default ipv4-unicast
1322 coalesce-time 1000
1323 neighbor 192.168.0.1 remote-as 1234
1324 neighbor 192.168.0.3 remote-as 1234
1325 !
1326 address-family l2vpn evpn
1327 neighbor 192.168.0.1 activate
1328 neighbor 192.168.0.3 activate
1329 advertise-all-vni
1330 exit-address-family
1331!
76b6e857
AD
1332line vty
1333!
1334----
1335
1336
1337* node3
1338
1339----
1340auto vrf1
1341iface vrf1
1342 vrf-table auto
1343
1344auto eno1
1345iface eno1 inet manual
47cf2d10 1346 mtu 1550
4d3f6a2e 1347
76b6e857
AD
1348auto vmbr0
1349iface vmbr0 inet static
1350 address 192.168.0.3
1351 netmask 255.255.255.0
1352 bridge_ports eno1
1353 bridge_stp off
1354 bridge_fd 0
1355
1356auto vxlan2
1357iface vxlan2 inet manual
edcf2118 1358 vxlan-id 2
76b6e857
AD
1359 vxlan-local-tunnelip 192.168.0.3
1360 bridge-learning off
1361 bridge-arp-nd-suppress on
1362 bridge-unicast-flood off
1363 bridge-multicast-flood off
1364
1365auto vmbr2
1366iface vmbr2 inet static
1367 bridge_ports vxlan2
1368 bridge_stp off
1369 bridge_fd 0
1370 address 10.0.2.254
1371 netmask 255.255.255.0
1372 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1373 vrf vrf1
1374
1375auto vxlan3
1376iface vxlan3 inet manual
edcf2118 1377 vxlan-id 3
76b6e857
AD
1378 vxlan-local-tunnelip 192.168.0.3
1379 bridge-learning off
1380 bridge-arp-nd-suppress on
1381 bridge-unicast-flood off
1382 bridge-multicast-flood off
1383
1384auto vmbr3
1385iface vmbr3 inet static
1386 bridge_ports vxlan3
1387 bridge_stp off
1388 bridge_fd 0
1389 address 10.0.3.254
1390 netmask 255.255.255.0
1391 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1392 vrf vrf1
1393
1394#interconnect vxlan-vfr l3vni
1395auto vxlan4000
1396iface vxlan4000 inet manual
edcf2118 1397 vxlan-id 4000
76b6e857
AD
1398 vxlan-local-tunnelip 192.168.0.3
1399 bridge-learning off
1400 bridge-arp-nd-suppress on
1401 bridge-unicast-flood off
1402 bridge-multicast-flood off
1403
1404
1405auto vmbr4000
1406iface vmbr4000 inet manual
1407 bridge_ports vxlan4000
1408 bridge_stp off
1409 bridge_fd 0
76b6e857
AD
1410 vrf vrf1
1411----
1412
1413
1414frr.conf
1415
1416----
1417vrf vrf1
1418 vni 4000
250e8aa6 1419 exit-vrf
76b6e857
AD
1420!
1421router bgp 1234
1422 bgp router-id 192.168.0.3
1423 no bgp default ipv4-unicast
1424 coalesce-time 1000
1425 neighbor 192.168.0.1 remote-as 1234
1426 neighbor 192.168.0.2 remote-as 1234
1427 !
1428 address-family l2vpn evpn
1429 neighbor 192.168.0.1 activate
1430 neighbor 192.168.0.2 activate
1431 advertise-all-vni
1432 exit-address-family
1433!
76b6e857
AD
1434line vty
1435!
1436----
1437
1438multiple gateway nodes
1439^^^^^^^^^^^^^^^^^^^^^^
1440In this example, all nodes will be used as exit gateway. (But you can use only 2 nodes if you want)
250e8aa6
AD
1441All nodes have a a default gw to the external router (192.168.0.254) (no bgp between router and node1)
1442and announce this default gw in the vrf (default originate)
76b6e857
AD
1443The external router have ecmp routes to all proxmox nodes.(balancing).
1444If the router send the packet to a wrong node (vm is not on this node), this node will route through
1445vxlan the packet to final destination.
1446
1447*node1
1448
1449----
1450auto vrf1
1451iface vrf1
1452 vrf-table auto
1453
1454auto eno1
1455iface eno1 inet manual
47cf2d10 1456 mtu 1550
76b6e857
AD
1457
1458auto vmbr0
1459iface vmbr0 inet static
1460 address 192.168.0.1
1461 netmask 255.255.255.0
250e8aa6 1462 gateway 192.168.0.254
76b6e857
AD
1463 bridge_ports eno1
1464 bridge_stp off
1465 bridge_fd 0
1466
76b6e857
AD
1467auto vxlan2
1468iface vxlan2 inet manual
edcf2118 1469 vxlan-id 2
76b6e857
AD
1470 vxlan-local-tunnelip 192.168.0.1
1471 bridge-learning off
1472 bridge-arp-nd-suppress on
1473 bridge-unicast-flood off
1474 bridge-multicast-flood off
1475
1476auto vmbr2
1477iface vmbr2 inet static
1478 bridge_ports vxlan2
1479 bridge_stp off
1480 bridge_fd 0
1481 address 10.0.2.254
1482 netmask 255.255.255.0
1483 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1484 vrf vrf1
1485
1486auto vxlan3
1487iface vxlan3 inet manual
edcf2118 1488 vxlan-id 3
76b6e857
AD
1489 vxlan-local-tunnelip 192.168.0.1
1490 bridge-learning off
1491 bridge-arp-nd-suppress on
1492 bridge-unicast-flood off
1493 bridge-multicast-flood off
1494
1495auto vmbr3
1496iface vmbr3 inet static
1497 bridge_ports vxlan3
1498 bridge_stp off
1499 bridge_fd 0
1500 address 10.0.3.254
1501 netmask 255.255.255.0
1502 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1503 vrf vrf1
1504
1505#interconnect vxlan-vfr l3vni
1506auto vxlan4000
1507iface vxlan4000 inet manual
edcf2118 1508 vxlan-id 4000
76b6e857
AD
1509 vxlan-local-tunnelip 192.168.0.1
1510 bridge-learning off
1511 bridge-arp-nd-suppress on
1512 bridge-unicast-flood off
1513 bridge-multicast-flood off
1514
1515auto vmbr4000
1516iface vmbr4000 inet manual
1517 bridge_ports vxlan4000
1518 bridge_stp off
1519 bridge_fd 0
76b6e857
AD
1520 vrf vrf1
1521----
1522
1523
1524frr.conf
1525
1526----
1527vrf vrf1
1528 vni 4000
250e8aa6 1529 exit-vrf
76b6e857
AD
1530!
1531router bgp 1234
1532 bgp router-id 192.168.0.1
1533 no bgp default ipv4-unicast
1534 coalesce-time 1000
1535 neighbor 192.168.0.2 remote-as 1234
1536 neighbor 192.168.0.3 remote-as 1234
1537 !
250e8aa6
AD
1538 address-family ipv4 unicast
1539 import vrf vrf1
1540 exit-address-family
1541 !
76b6e857
AD
1542 address-family l2vpn evpn
1543 neighbor 192.168.0.2 activate
1544 neighbor 192.168.0.3 activate
1545 advertise-all-vni
1546 exit-address-family
1547!
1548router bgp 1234 vrf vrf1
1549!
76b6e857 1550 address-family l2vpn evpn
250e8aa6 1551 default-originate ipv4
76b6e857
AD
1552 exit-address-family
1553!
1554line vty
1555!
1556----
1557
1558
1559* node2
1560
1561----
1562auto vrf1
1563iface vrf1
1564 vrf-table auto
1565
1566auto eno1
1567iface eno1 inet manual
47cf2d10 1568 mtu 1550
4d3f6a2e 1569
76b6e857
AD
1570auto vmbr0
1571iface vmbr0 inet static
1572 address 192.168.0.2
1573 netmask 255.255.255.0
250e8aa6 1574 gateway 192.168.0.254
76b6e857
AD
1575 bridge_ports eno1
1576 bridge_stp off
1577 bridge_fd 0
1578
76b6e857
AD
1579auto vxlan2
1580iface vxlan2 inet manual
edcf2118 1581 vxlan-id 2
76b6e857
AD
1582 vxlan-local-tunnelip 192.168.0.2
1583 bridge-learning off
1584 bridge-arp-nd-suppress on
1585 bridge-unicast-flood off
1586 bridge-multicast-flood off
1587
1588auto vmbr2
1589iface vmbr2 inet static
1590 bridge_ports vxlan2
1591 bridge_stp off
1592 bridge_fd 0
1593 address 10.0.2.254
1594 netmask 255.255.255.0
1595 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1596 vrf vrf1
1597
1598auto vxlan3
1599iface vxlan3 inet manual
edcf2118 1600 vxlan-id 3
76b6e857
AD
1601 vxlan-local-tunnelip 192.168.0.2
1602 bridge-learning off
1603 bridge-arp-nd-suppress on
1604 bridge-unicast-flood off
1605 bridge-multicast-flood off
1606
1607auto vmbr3
1608iface vmbr3 inet static
1609 bridge_ports vxlan3
1610 bridge_stp off
1611 bridge_fd 0
1612 address 10.0.3.254
1613 netmask 255.255.255.0
1614 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1615 vrf vrf1
1616
1617#interconnect vxlan-vfr l3vni
1618auto vxlan4000
1619iface vxlan4000 inet manual
edcf2118 1620 vxlan-id 4000
76b6e857
AD
1621 vxlan-local-tunnelip 192.168.0.2
1622 bridge-learning off
1623 bridge-arp-nd-suppress on
1624 bridge-unicast-flood off
1625 bridge-multicast-flood off
1626
1627
1628auto vmbr4000
1629iface vmbr4000 inet manual
1630 bridge_ports vxlan4000
1631 bridge_stp off
1632 bridge_fd 0
76b6e857
AD
1633 vrf vrf1
1634----
1635
1636
1637frr.conf
1638
1639----
1640vrf vrf1
1641 vni 4000
250e8aa6 1642 exit-vrf
76b6e857
AD
1643!
1644router bgp 1234
1645 bgp router-id 192.168.0.2
1646 no bgp default ipv4-unicast
1647 coalesce-time 1000
1648 neighbor 192.168.0.1 remote-as 1234
1649 neighbor 192.168.0.3 remote-as 1234
1650 !
250e8aa6
AD
1651 address-family ipv4 unicast
1652 import vrf vrf1
1653 exit-address-family
1654 !
76b6e857
AD
1655 address-family l2vpn evpn
1656 neighbor 192.168.0.1 activate
1657 neighbor 192.168.0.3 activate
1658 advertise-all-vni
1659 exit-address-family
1660!
76b6e857 1661 address-family l2vpn evpn
250e8aa6 1662 default-originate ipv4
76b6e857
AD
1663 exit-address-family
1664!
1665line vty
1666!
1667----
1668
1669
1670* node3
1671
1672----
1673auto vrf1
1674iface vrf1
1675 vrf-table auto
1676
1677auto eno1
1678iface eno1 inet manual
47cf2d10
AD
1679 mtu 1550
1680
76b6e857
AD
1681auto vmbr0
1682iface vmbr0 inet static
1683 address 192.168.0.3
1684 netmask 255.255.255.0
250e8aa6 1685 gateway 192.168.0.254
76b6e857
AD
1686 bridge_ports eno1
1687 bridge_stp off
1688 bridge_fd 0
1689
76b6e857
AD
1690auto vxlan2
1691iface vxlan2 inet manual
edcf2118 1692 vxlan-id 2
76b6e857
AD
1693 vxlan-local-tunnelip 192.168.0.3
1694 bridge-learning off
1695 bridge-arp-nd-suppress on
1696 bridge-unicast-flood off
1697 bridge-multicast-flood off
1698
1699auto vmbr2
1700iface vmbr2 inet static
1701 bridge_ports vxlan2
1702 bridge_stp off
1703 bridge_fd 0
1704 address 10.0.2.254
1705 netmask 255.255.255.0
1706 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1707 vrf vrf1
1708
1709auto vxlan3
1710iface vxlan3 inet manual
edcf2118 1711 vxlan-id 3
76b6e857
AD
1712 vxlan-local-tunnelip 192.168.0.3
1713 bridge-learning off
1714 bridge-arp-nd-suppress on
1715 bridge-unicast-flood off
1716 bridge-multicast-flood off
1717
1718auto vmbr3
1719iface vmbr3 inet static
1720 bridge_ports vxlan3
1721 bridge_stp off
1722 bridge_fd 0
1723 address 10.0.3.254
1724 netmask 255.255.255.0
1725 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1726 vrf vrf1
1727
1728#interconnect vxlan-vfr l3vni
1729auto vxlan4000
1730iface vxlan4000 inet manual
edcf2118 1731 vxlan-id 4000
76b6e857
AD
1732 vxlan-local-tunnelip 192.168.0.3
1733 bridge-learning off
1734 bridge-arp-nd-suppress on
1735 bridge-unicast-flood off
1736 bridge-multicast-flood off
1737
1738
1739auto vmbr4000
1740iface vmbr4000 inet manual
1741 bridge_ports vxlan4000
1742 bridge_stp off
1743 bridge_fd 0
76b6e857
AD
1744 vrf vrf1
1745----
1746
1747
1748frr.conf
1749
1750----
1751vrf vrf1
1752 vni 4000
250e8aa6 1753 exit-vrf
76b6e857
AD
1754!
1755router bgp 1234
1756 bgp router-id 192.168.0.3
1757 no bgp default ipv4-unicast
1758 coalesce-time 1000
1759 neighbor 192.168.0.1 remote-as 1234
1760 neighbor 192.168.0.2 remote-as 1234
1761 !
250e8aa6
AD
1762 address-family ipv4 unicast
1763 import vrf vrf1
1764 exit-address-family
1765 !
76b6e857
AD
1766 address-family l2vpn evpn
1767 neighbor 192.168.0.1 activate
1768 neighbor 192.168.0.2 activate
1769 advertise-all-vni
1770 exit-address-family
1771!
1772router bgp 1234 vrf vrf1
1773!
76b6e857 1774 address-family l2vpn evpn
250e8aa6 1775 default-originate ipv4
76b6e857
AD
1776 exit-address-family
1777!
1778line vty
1779!
1780----
1781
1782Note
1783^^^^
1784
8adeb0eb
TL
1785If your external router doesn't support 'ECMP static routes' to reach multiple
1786{pve} nodes, you can setup an HA floating vip on proxmox nodes by using the
1787Virtual Router Redundancy Protocol (VRRP).
76b6e857 1788
8adeb0eb
TL
1789In this example, we will setup an floating 192.168.0.10 IP on node1 and node2.
1790Node1 is the primary with failover to node2 in case of outage.
76b6e857 1791
8adeb0eb 1792This setup currently needs 'vrrpd' package (`apt install vrrpd`).
250e8aa6 1793#TODO : It should be possible to do it with frr directly with last version.
76b6e857
AD
1794
1795* node1
1796
1797----
250e8aa6
AD
1798auto vmbr0
1799iface vmbr0 inet static
1800 address 192.168.0.1
1801 netmask 255.255.255.0
1802 gateway 192.168.0.254
1803 bridge_ports eno1
1804 bridge_stp off
1805 bridge_fd 0
1806 vrrp-id 1
1807 vrrp-priority 1
1808 vrrp-virtual-ip 192.168.0.10
76b6e857
AD
1809----
1810
1811* node2
1812
1813----
250e8aa6
AD
1814auto vmbr0
1815iface vmbr0 inet static
1816 address 192.168.0.2
1817 netmask 255.255.255.0
1818 gateway 192.168.0.254
1819 bridge_ports eno1
1820 bridge_stp off
1821 bridge_fd 0
1822 vrrp-id 1
1823 vrrp-priority 2
1824 vrrp-virtual-ip 192.168.0.10
76b6e857
AD
1825----
1826
1827
8adeb0eb 1828Route Reflectors
846e9430 1829^^^^^^^^^^^^^^^^
8adeb0eb
TL
1830If you have a lot of proxmox nodes, or multiple proxmox clusters, you may want
1831to avoid that all node peers with each others nodes.
1832For this, you can create dedicated route reflectors (RR) servers. As a RR is a
1833single point of failure, a minimum of two servers acting as an RR is highly
1834recommended for redundancy.
1835
1836Below is an example of configuration with 'frr', with `rrserver1
1837(192.168.0.200)' and `rrserver2 (192.168.0.201)`.
846e9430
AD
1838
1839rrserver1
1840----
1841router bgp 1234
1842 bgp router-id 192.168.0.200
4d3f6a2e 1843 bgp cluster-id 1.1.1.1 #cluster-id must be the same on each route reflector
846e9430
AD
1844 bgp log-neighbor-changes
1845 no bgp default ipv4-unicast
1846 neighbor fabric peer-group
1847 neighbor fabric remote-as 1234
1848 neighbor fabric capability extended-nexthop
1849 neighbor fabric update-source 192.168.0.200
1850 bgp listen range 192.168.0.0/24 peer-group fabric #allow any proxmoxnode client in the network range
1851 !
1852 address-family l2vpn evpn
1853 neighbor fabric activate
1854 neighbor fabric route-reflector-client
1855 neighbor fabric allowas-in
1856 exit-address-family
1857 !
1858 exit
1859!
1860---
1861
1862rrserver2
1863----
1864router bgp 1234
1865 bgp router-id 192.168.0.201
4d3f6a2e 1866 bgp cluster-id 1.1.1.1
846e9430
AD
1867 bgp log-neighbor-changes
1868 no bgp default ipv4-unicast
1869 neighbor fabric peer-group
1870 neighbor fabric remote-as 1234
1871 neighbor fabric capability extended-nexthop
1872 neighbor fabric update-source 192.168.0.201
1873 bgp listen range 192.168.0.0/24 peer-group fabric
1874 !
1875 address-family l2vpn evpn
1876 neighbor fabric activate
1877 neighbor fabric route-reflector-client
1878 neighbor fabric allowas-in
1879 exit-address-family
1880 !
1881 exit
1882!
1883---
1884
1885proxmoxnode(s)
1886----
1887router bgp 1234
1888 bgp router-id 192.168.0.x
1889 no bgp default ipv4-unicast
1890 coalesce-time 1000
1891 neighbor 192.168.0.200 remote-as 1234
1892 neighbor 192.168.0.201 remote-as 1234
1893 !
1894 address-family ipv4 unicast
1895 import vrf vrf1
1896 exit-address-family
1897 !
1898 address-family l2vpn evpn
1899 neighbor 192.168.0.200 activate
1900 neighbor 192.168.0.201 activate
1901 advertise-all-vni
1902 exit-address-family
1903!
1904----
1905
250e8aa6 1906#TODO : Documentation with bgp upstream router.