]> git.proxmox.com Git - pve-docs.git/blame - vxlan-and-evpn.adoc
backup: update information about performance settings
[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 22For BUM traffic (broadcast / unknown unicast traffic, multicast),
c7941ea5 23we have 3 different VXLAN setup modes : multicast, unicast, bgp-evpn
445822a9
DM
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
1821b137
AD
545* node1
546
547----
548auto eno1
549iface eno1 inet manual
47cf2d10 550 mtu 1550
4d3f6a2e 551
1821b137
AD
552auto vmbr0
553iface vmbr0 inet static
554 address 192.168.0.1
555 netmask 255.255.255.0
556 bridge_ports eno1
557 bridge_stp off
558 bridge_fd 0
4d3f6a2e 559
1821b137
AD
560auto vxlan2
561iface vxlan2 inet manual
edcf2118 562 vxlan-id 2
1821b137
AD
563 vxlan-local-tunnelip 192.168.0.1
564 bridge-learning off
565 bridge-arp-nd-suppress on
566 bridge-unicast-flood off
567 bridge-multicast-flood off
568
569
570auto vmbr2
571iface vmbr2 inet static
572 address 10.0.2.254
573 netmask 255.255.255.0
574 hwaddress 44:39:39:FF:40:94
575 bridge_ports vxlan2
576 bridge_stp off
577 bridge_fd 0
fc8f7b53
AD
578 ip-forward on
579 ip6-forward on
580 arp-accept on
1821b137
AD
581
582auto vxlan3
583iface vxlan3 inet manual
edcf2118 584 vxlan-id 3
1821b137
AD
585 vxlan-local-tunnelip 192.168.0.1
586 bridge-learning off
587 bridge-arp-nd-suppress on
588 bridge-unicast-flood off
589 bridge-multicast-flood off
590
591
592auto vmbr3
593iface vmbr3 inet static
594 address 10.0.3.254
595 netmask 255.255.255.0
596 hwaddress 44:39:39:FF:40:94
597 bridge_ports vxlan3
598 bridge_stp off
599 bridge_fd 0
fc8f7b53
AD
600 ip-forward on
601 ip6-forward on
602 arp-accept on
1821b137
AD
603----
604
605
606frr.conf
607
608----
609router bgp 1234
610 bgp router-id 192.168.0.1
611 no bgp default ipv4-unicast
612 coalesce-time 1000
613 neighbor 192.168.0.2 remote-as 1234
614 neighbor 192.168.0.3 remote-as 1234
615 !
616 address-family l2vpn evpn
617 neighbor 192.168.0.2 activate
618 neighbor 192.168.0.3 activate
4d3f6a2e 619 advertise-all-vni
1821b137
AD
620 exit-address-family
621!
622line vty
623!
624----
625
626
627* node2
628
629----
630auto eno1
631iface eno1 inet manual
47cf2d10 632 mtu 1550
4d3f6a2e 633
1821b137
AD
634auto vmbr0
635iface vmbr0 inet static
636 address 192.168.0.2
637 netmask 255.255.255.0
638 bridge_ports eno1
639 bridge_stp off
640 bridge_fd 0
4d3f6a2e 641
1821b137
AD
642auto vxlan2
643iface vxlan2 inet manual
edcf2118 644 vxlan-id 2
1821b137
AD
645 vxlan-local-tunnelip 192.168.0.2
646 bridge-learning off
647 bridge-arp-nd-suppress on
648 bridge-unicast-flood off
649 bridge-multicast-flood off
650
651
652auto vmbr2
653iface vmbr2 inet static
654 address 10.0.2.254
655 netmask 255.255.255.0
656 hwaddress 44:39:39:FF:40:94
657 bridge_ports vxlan2
658 bridge_stp off
659 bridge_fd 0
fc8f7b53
AD
660 ip-forward on
661 ip6-forward on
662 arp-accept on
1821b137
AD
663
664
665auto vxlan3
666iface vxlan3 inet manual
edcf2118 667 vxlan-id 3
1821b137
AD
668 vxlan-local-tunnelip 192.168.0.2
669 bridge-learning off
670 bridge-arp-nd-suppress on
671 bridge-unicast-flood off
672 bridge-multicast-flood off
673
674
675auto vmbr3
676iface vmbr3 inet static
677 address 10.0.3.254
678 netmask 255.255.255.0
679 hwaddress 44:39:39:FF:40:94
680 bridge_ports vxlan3
681 bridge_stp off
682 bridge_fd 0
fc8f7b53
AD
683 ip-forward on
684 ip6-forward on
685 arp-accept on
1821b137
AD
686----
687
688
689frr.conf
690
691----
692router bgp 1234
693 bgp router-id 192.168.0.2
694 no bgp default ipv4-unicast
695 coalesce-time 1000
696 neighbor 192.168.0.1 remote-as 1234
697 neighbor 192.168.0.3 remote-as 1234
698 !
699 address-family l2vpn evpn
700 neighbor 192.168.0.1 activate
701 neighbor 192.168.0.3 activate
4d3f6a2e 702 advertise-all-vni
1821b137
AD
703 exit-address-family
704!
705line vty
706!
707----
708
709
710* node3
711
712----
713auto eno1
714iface eno1 inet manual
47cf2d10 715 mtu 1550
4d3f6a2e 716
1821b137
AD
717auto vmbr0
718iface vmbr0 inet static
719 address 192.168.0.3
720 netmask 255.255.255.0
721 bridge_ports eno1
722 bridge_stp off
723 bridge_fd 0
4d3f6a2e 724
1821b137
AD
725auto vxlan2
726iface vxlan2 inet manual
edcf2118 727 vxlan-id 2
1821b137
AD
728 vxlan-local-tunnelip 192.168.0.3
729 bridge-learning off
730 bridge-arp-nd-suppress on
731 bridge-unicast-flood off
732 bridge-multicast-flood off
733
734
735auto vmbr2
736iface vmbr2 inet static
737 address 10.0.2.254
738 netmask 255.255.255.0
739 hwaddress 44:39:39:FF:40:94
740 bridge_ports vxlan2
741 bridge_stp off
742 bridge_fd 0
fc8f7b53
AD
743 ip-forward on
744 ip6-forward on
745 arp-accept on
1821b137
AD
746
747auto vxlan3
748iface vxlan3 inet manual
edcf2118 749 vxlan-id 3
1821b137
AD
750 vxlan-local-tunnelip 192.168.0.3
751 bridge-learning off
752 bridge-arp-nd-suppress on
753 bridge-unicast-flood off
754 bridge-multicast-flood off
755
1821b137
AD
756auto vmbr3
757iface vmbr3 inet static
758 address 10.0.3.254
759 netmask 255.255.255.0
760 hwaddress 44:39:39:FF:40:94
761 bridge_ports vxlan3
762 bridge_stp off
763 bridge_fd 0
fc8f7b53
AD
764 ip-forward on
765 ip6-forward on
766 arp-accept on
1821b137
AD
767----
768
769
770frr.conf
771
772----
773router bgp 1234
774 bgp router-id 192.168.0.3
775 no bgp default ipv4-unicast
776 coalesce-time 1000
777 neighbor 192.168.0.1 remote-as 1234
778 neighbor 192.168.0.2 remote-as 1234
779 !
780 address-family l2vpn evpn
781 neighbor 192.168.0.1 activate
782 neighbor 192.168.0.2 activate
4d3f6a2e 783 advertise-all-vni
1821b137
AD
784 exit-address-family
785!
786line vty
787!
788----
789
790
791symmetric model
792^^^^^^^^^^^^^^^
793
794With this model, you don't need to have all vxlan on all nodes.
4d3f6a2e 795This model will also be needed to route traffic to an external router.
1821b137 796
4d3f6a2e
TL
797The symmetric model routes and bridges on both the ingress and the egress leafs.
798This results in bi-directional traffic being able to travel on the same VNI, hence the symmetric name.
799However, a new specialty transit VNI is used for all routed VXLAN traffic, called the L3VNI.
800All traffic that needs to be routed will be routed onto the L3VNI, tunneled across the layer 3 Infrastructure,
1821b137
AD
801routed off the L3VNI to the appropriate VLAN and ultimately bridged to the destination.
802
803A 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.
804
805image::images/vxlan-l3-symmetric.svg["vxlan l3 symmetric",align="center"]
806
1821b137
AD
807* node1
808
809----
810auto vrf1
811iface vrf1
812 vrf-table auto
813
814auto eno1
815iface eno1 inet manual
47cf2d10 816 mtu 1550
4d3f6a2e 817
1821b137
AD
818auto vmbr0
819iface vmbr0 inet static
820 address 192.168.0.1
821 netmask 255.255.255.0
822 bridge_ports eno1
823 bridge_stp off
824 bridge_fd 0
825
826auto vxlan2
827iface vxlan2 inet manual
edcf2118 828 vxlan-id 2
1821b137
AD
829 vxlan-local-tunnelip 192.168.0.1
830 bridge-learning off
831 bridge-arp-nd-suppress on
832 bridge-unicast-flood off
833 bridge-multicast-flood off
834
835auto vmbr2
836iface vmbr2 inet static
837 bridge_ports vxlan2
838 bridge_stp off
839 bridge_fd 0
840 address 10.0.2.254
841 netmask 255.255.255.0
842 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
843 vrf vrf1
fc8f7b53
AD
844 ip-forward on
845 ip6-forward on
846 arp-accept on
1821b137
AD
847
848auto vxlan3
849iface vxlan3 inet manual
edcf2118 850 vxlan-id 3
1821b137
AD
851 vxlan-local-tunnelip 192.168.0.1
852 bridge-learning off
853 bridge-arp-nd-suppress on
854 bridge-unicast-flood off
855 bridge-multicast-flood off
856
857auto vmbr3
858iface vmbr3 inet static
859 bridge_ports vxlan3
860 bridge_stp off
861 bridge_fd 0
862 address 10.0.3.254
863 netmask 255.255.255.0
864 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
865 vrf vrf1
fc8f7b53
AD
866 ip-forward on
867 ip6-forward on
868 arp-accept on
1821b137
AD
869
870#interconnect vxlan-vfr l3vni
871auto vxlan4000
872iface vxlan4000 inet manual
edcf2118 873 vxlan-id 4000
1821b137
AD
874 vxlan-local-tunnelip 192.168.0.1
875 bridge-learning off
876 bridge-arp-nd-suppress on
877 bridge-unicast-flood off
878 bridge-multicast-flood off
879
880
881auto vmbr4000
882iface vmbr4000 inet manual
883 bridge_ports vxlan4000
884 bridge_stp off
885 bridge_fd 0
1821b137
AD
886 vrf vrf1
887----
888
889frr.conf
890
891----
892vrf vrf1
893 vni 4000
250e8aa6 894 exit-vrf
1821b137
AD
895!
896router bgp 1234
897 bgp router-id 192.168.0.1
898 no bgp default ipv4-unicast
899 coalesce-time 1000
900 neighbor 192.168.0.2 remote-as 1234
901 neighbor 192.168.0.3 remote-as 1234
902 !
903 address-family l2vpn evpn
904 neighbor 192.168.0.2 activate
905 neighbor 192.168.0.3 activate
906 advertise-all-vni
907 exit-address-family
908!
1821b137
AD
909line vty
910!
911----
912
913
914* node2
915
916----
917auto vrf1
918iface vrf1
919 vrf-table auto
920
921auto eno1
922iface eno1 inet manual
47cf2d10 923 mtu 1550
4d3f6a2e 924
1821b137
AD
925auto vmbr0
926iface vmbr0 inet static
927 address 192.168.0.2
928 netmask 255.255.255.0
929 bridge_ports eno1
930 bridge_stp off
931 bridge_fd 0
932
933auto vxlan2
934iface vxlan2 inet manual
edcf2118 935 vxlan-id 2
1821b137
AD
936 vxlan-local-tunnelip 192.168.0.2
937 bridge-learning off
938 bridge-arp-nd-suppress on
939 bridge-unicast-flood off
940 bridge-multicast-flood off
941
942auto vmbr2
943iface vmbr2 inet static
944 bridge_ports vxlan2
945 bridge_stp off
946 bridge_fd 0
947 address 10.0.2.254
948 netmask 255.255.255.0
949 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
950 vrf vrf1
fc8f7b53
AD
951 ip-forward on
952 ip6-forward on
953 arp-accept on
1821b137
AD
954
955auto vxlan3
956iface vxlan3 inet manual
edcf2118 957 vxlan-id 3
1821b137
AD
958 vxlan-local-tunnelip 192.168.0.2
959 bridge-learning off
960 bridge-arp-nd-suppress on
961 bridge-unicast-flood off
962 bridge-multicast-flood off
963
964auto vmbr3
965iface vmbr3 inet static
966 bridge_ports vxlan3
967 bridge_stp off
968 bridge_fd 0
969 address 10.0.3.254
970 netmask 255.255.255.0
971 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
972 vrf vrf1
fc8f7b53
AD
973 ip-forward on
974 ip6-forward on
975 arp-accept on
1821b137
AD
976
977#interconnect vxlan-vfr l3vni
978auto vxlan4000
979iface vxlan4000 inet manual
edcf2118 980 vxlan-id 4000
1821b137
AD
981 vxlan-local-tunnelip 192.168.0.2
982 bridge-learning off
983 bridge-arp-nd-suppress on
984 bridge-unicast-flood off
985 bridge-multicast-flood off
986
987
988auto vmbr4000
989iface vmbr4000 inet manual
990 bridge_ports vxlan4000
991 bridge_stp off
992 bridge_fd 0
1821b137
AD
993 vrf vrf1
994----
995
996
997frr.conf
998
999----
1000vrf vrf1
1001 vni 4000
250e8aa6 1002 exit-vrf
1821b137
AD
1003!
1004router bgp 1234
1005 bgp router-id 192.168.0.2
1006 no bgp default ipv4-unicast
1007 coalesce-time 1000
1008 neighbor 192.168.0.1 remote-as 1234
1009 neighbor 192.168.0.3 remote-as 1234
1010 !
1011 address-family l2vpn evpn
1012 neighbor 192.168.0.1 activate
1013 neighbor 192.168.0.3 activate
1014 advertise-all-vni
1015 exit-address-family
1016!
1821b137
AD
1017line vty
1018!
1019----
1020
1021
1022* node3
1023
1024----
1025auto vrf1
1026iface vrf1
1027 vrf-table auto
1028
1029auto eno1
1030iface eno1 inet manual
47cf2d10 1031 mtu 1550
4d3f6a2e 1032
1821b137
AD
1033auto vmbr0
1034iface vmbr0 inet static
1035 address 192.168.0.3
1036 netmask 255.255.255.0
1037 bridge_ports eno1
1038 bridge_stp off
1039 bridge_fd 0
1040
1041auto vxlan2
1042iface vxlan2 inet manual
edcf2118 1043 vxlan-id 2
1821b137
AD
1044 vxlan-local-tunnelip 192.168.0.3
1045 bridge-learning off
1046 bridge-arp-nd-suppress on
1047 bridge-unicast-flood off
1048 bridge-multicast-flood off
1049
1050auto vmbr2
1051iface vmbr2 inet static
1052 bridge_ports vxlan2
1053 bridge_stp off
1054 bridge_fd 0
1055 address 10.0.2.254
1056 netmask 255.255.255.0
1057 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1058 vrf vrf1
fc8f7b53
AD
1059 ip-forward on
1060 ip6-forward on
1061 arp-accept on
1821b137
AD
1062
1063auto vxlan3
1064iface vxlan3 inet manual
edcf2118 1065 vxlan-id 3
1821b137
AD
1066 vxlan-local-tunnelip 192.168.0.3
1067 bridge-learning off
1068 bridge-arp-nd-suppress on
1069 bridge-unicast-flood off
1070 bridge-multicast-flood off
1071
1072auto vmbr3
1073iface vmbr3 inet static
1074 bridge_ports vxlan3
1075 bridge_stp off
1076 bridge_fd 0
1077 address 10.0.3.254
1078 netmask 255.255.255.0
1079 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1080 vrf vrf1
fc8f7b53
AD
1081 ip-forward on
1082 ip6-forward on
1083 arp-accept on
1821b137
AD
1084
1085#interconnect vxlan-vfr l3vni
1086auto vxlan4000
1087iface vxlan4000 inet manual
edcf2118 1088 vxlan-id 4000
1821b137
AD
1089 vxlan-local-tunnelip 192.168.0.3
1090 bridge-learning off
1091 bridge-arp-nd-suppress on
1092 bridge-unicast-flood off
1093 bridge-multicast-flood off
1094
1095
1096auto vmbr4000
1097iface vmbr4000 inet manual
1098 bridge_ports vxlan4000
1099 bridge_stp off
1100 bridge_fd 0
1821b137
AD
1101 vrf vrf1
1102----
1103
1104
1105frr.conf
1106
1107----
1108vrf vrf1
1109 vni 4000
250e8aa6 1110 exit-vrf
1821b137
AD
1111!
1112router bgp 1234
1113 bgp router-id 192.168.0.3
1114 no bgp default ipv4-unicast
1115 coalesce-time 1000
1116 neighbor 192.168.0.1 remote-as 1234
1117 neighbor 192.168.0.2 remote-as 1234
1118 !
1119 address-family l2vpn evpn
1120 neighbor 192.168.0.1 activate
1121 neighbor 192.168.0.2 activate
1122 advertise-all-vni
1123 exit-address-family
1124!
1821b137
AD
1125line vty
1126!
1127----
76b6e857 1128
3e25ae61
AD
1129VXLAN layer3 routing with anycast gateway + routing to outside with external router with static default gw
1130~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76b6e857
AD
1131Routing to outside need the symmetric model.
1132
11331 gateway node
1134^^^^^^^^^^^^^^
1135In this example, we'll use only 1 proxmox node as exit gateway. (node1)
250e8aa6 1136This 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
1137
1138
1139*node1
1140
1141----
1142auto vrf1
1143iface vrf1
1144 vrf-table auto
1145
1146auto eno1
1147iface eno1 inet manual
47cf2d10 1148 mtu 1550
76b6e857
AD
1149
1150auto vmbr0
1151iface vmbr0 inet static
1152 address 192.168.0.1
1153 netmask 255.255.255.0
250e8aa6 1154 gateway 192.168.0.254
76b6e857
AD
1155 bridge_ports eno1
1156 bridge_stp off
1157 bridge_fd 0
ae2687d3
AD
1158 ip-forward on
1159 ip6-forward on
76b6e857 1160
76b6e857
AD
1161auto vxlan2
1162iface vxlan2 inet manual
edcf2118 1163 vxlan-id 2
76b6e857
AD
1164 vxlan-local-tunnelip 192.168.0.1
1165 bridge-learning off
1166 bridge-arp-nd-suppress on
1167 bridge-unicast-flood off
1168 bridge-multicast-flood off
1169
1170auto vmbr2
1171iface vmbr2 inet static
1172 bridge_ports vxlan2
1173 bridge_stp off
1174 bridge_fd 0
1175 address 10.0.2.254
1176 netmask 255.255.255.0
1177 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1178 vrf vrf1
fc8f7b53
AD
1179 ip-forward on
1180 ip6-forward on
1181 arp-accept on
76b6e857
AD
1182
1183auto vxlan3
1184iface vxlan3 inet manual
edcf2118 1185 vxlan-id 3
76b6e857
AD
1186 vxlan-local-tunnelip 192.168.0.1
1187 bridge-learning off
1188 bridge-arp-nd-suppress on
1189 bridge-unicast-flood off
1190 bridge-multicast-flood off
1191
1192auto vmbr3
1193iface vmbr3 inet static
1194 bridge_ports vxlan3
1195 bridge_stp off
1196 bridge_fd 0
1197 address 10.0.3.254
1198 netmask 255.255.255.0
1199 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1200 vrf vrf1
fc8f7b53
AD
1201 ip-forward on
1202 ip6-forward on
1203 arp-accept on
76b6e857
AD
1204
1205#interconnect vxlan-vfr l3vni
1206auto vxlan4000
1207iface vxlan4000 inet manual
edcf2118 1208 vxlan-id 4000
76b6e857
AD
1209 vxlan-local-tunnelip 192.168.0.1
1210 bridge-learning off
1211 bridge-arp-nd-suppress on
1212 bridge-unicast-flood off
1213 bridge-multicast-flood off
1214
1215auto vmbr4000
1216iface vmbr4000 inet manual
1217 bridge_ports vxlan4000
1218 bridge_stp off
1219 bridge_fd 0
76b6e857
AD
1220 vrf vrf1
1221----
1222
1223
1224frr.conf
1225
1226----
1227vrf vrf1
1228 vni 4000
250e8aa6 1229 exit-vrf
76b6e857
AD
1230!
1231router bgp 1234
1232 bgp router-id 192.168.0.1
1233 no bgp default ipv4-unicast
1234 coalesce-time 1000
1235 neighbor 192.168.0.2 remote-as 1234
1236 neighbor 192.168.0.3 remote-as 1234
1237 !
250e8aa6
AD
1238 address-family ipv4 unicast
1239 import vrf vrf1
1240 exit-address-family
1241 !
2b7934c1
AD
1242 address-family ipv6 unicast
1243 import vrf vrf1
1244 exit-address-family
1245 !
76b6e857
AD
1246 address-family l2vpn evpn
1247 neighbor 192.168.0.2 activate
1248 neighbor 192.168.0.3 activate
1249 advertise-all-vni
1250 exit-address-family
1251!
1252router bgp 1234 vrf vrf1
1253!
ae2687d3
AD
1254 address-family ipv4 unicast
1255 redistribute connected
1256 exit-address-family
1257 !
2b7934c1
AD
1258 address-family ipv6 unicast
1259 redistribute connected
1260 exit-address-family
1261 !
76b6e857 1262 address-family l2vpn evpn
250e8aa6 1263 default-originate ipv4
2b7934c1 1264 default-originate ipv6
76b6e857
AD
1265 exit-address-family
1266!
1267line vty
1268!
1269----
1270
1271
1272* node2
1273
1274----
1275auto vrf1
1276iface vrf1
1277 vrf-table auto
1278
1279auto eno1
1280iface eno1 inet manual
47cf2d10 1281 mtu 1550
4d3f6a2e 1282
76b6e857
AD
1283auto vmbr0
1284iface vmbr0 inet static
1285 address 192.168.0.2
1286 netmask 255.255.255.0
1287 bridge_ports eno1
1288 bridge_stp off
1289 bridge_fd 0
1290
1291auto vxlan2
1292iface vxlan2 inet manual
edcf2118 1293 vxlan-id 2
76b6e857
AD
1294 vxlan-local-tunnelip 192.168.0.2
1295 bridge-learning off
1296 bridge-arp-nd-suppress on
1297 bridge-unicast-flood off
1298 bridge-multicast-flood off
1299
1300auto vmbr2
1301iface vmbr2 inet static
1302 bridge_ports vxlan2
1303 bridge_stp off
1304 bridge_fd 0
1305 address 10.0.2.254
1306 netmask 255.255.255.0
1307 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1308 vrf vrf1
fc8f7b53
AD
1309 ip-forward on
1310 ip6-forward on
1311 arp-accept on
76b6e857
AD
1312
1313auto vxlan3
1314iface vxlan3 inet manual
edcf2118 1315 vxlan-id 3
76b6e857
AD
1316 vxlan-local-tunnelip 192.168.0.2
1317 bridge-learning off
1318 bridge-arp-nd-suppress on
1319 bridge-unicast-flood off
1320 bridge-multicast-flood off
1321
1322auto vmbr3
1323iface vmbr3 inet static
1324 bridge_ports vxlan3
1325 bridge_stp off
1326 bridge_fd 0
1327 address 10.0.3.254
1328 netmask 255.255.255.0
1329 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1330 vrf vrf1
fc8f7b53
AD
1331 ip-forward on
1332 ip6-forward on
1333 arp-accept on
76b6e857
AD
1334
1335#interconnect vxlan-vfr l3vni
1336auto vxlan4000
1337iface vxlan4000 inet manual
edcf2118 1338 vxlan-id 4000
76b6e857
AD
1339 vxlan-local-tunnelip 192.168.0.2
1340 bridge-learning off
1341 bridge-arp-nd-suppress on
1342 bridge-unicast-flood off
1343 bridge-multicast-flood off
1344
1345
1346auto vmbr4000
1347iface vmbr4000 inet manual
1348 bridge_ports vxlan4000
1349 bridge_stp off
1350 bridge_fd 0
76b6e857
AD
1351 vrf vrf1
1352----
1353
1354
1355frr.conf
1356
1357----
1358vrf vrf1
1359 vni 4000
250e8aa6 1360 exit-vrf
76b6e857
AD
1361!
1362router bgp 1234
1363 bgp router-id 192.168.0.2
1364 no bgp default ipv4-unicast
1365 coalesce-time 1000
1366 neighbor 192.168.0.1 remote-as 1234
1367 neighbor 192.168.0.3 remote-as 1234
1368 !
1369 address-family l2vpn evpn
1370 neighbor 192.168.0.1 activate
1371 neighbor 192.168.0.3 activate
1372 advertise-all-vni
1373 exit-address-family
1374!
76b6e857
AD
1375line vty
1376!
1377----
1378
1379
1380* node3
1381
1382----
1383auto vrf1
1384iface vrf1
1385 vrf-table auto
1386
1387auto eno1
1388iface eno1 inet manual
47cf2d10 1389 mtu 1550
4d3f6a2e 1390
76b6e857
AD
1391auto vmbr0
1392iface vmbr0 inet static
1393 address 192.168.0.3
1394 netmask 255.255.255.0
1395 bridge_ports eno1
1396 bridge_stp off
1397 bridge_fd 0
1398
1399auto vxlan2
1400iface vxlan2 inet manual
edcf2118 1401 vxlan-id 2
76b6e857
AD
1402 vxlan-local-tunnelip 192.168.0.3
1403 bridge-learning off
1404 bridge-arp-nd-suppress on
1405 bridge-unicast-flood off
1406 bridge-multicast-flood off
1407
1408auto vmbr2
1409iface vmbr2 inet static
1410 bridge_ports vxlan2
1411 bridge_stp off
1412 bridge_fd 0
1413 address 10.0.2.254
1414 netmask 255.255.255.0
1415 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1416 vrf vrf1
fc8f7b53
AD
1417 ip-forward on
1418 ip6-forward on
1419 arp-accept on
76b6e857
AD
1420
1421auto vxlan3
1422iface vxlan3 inet manual
edcf2118 1423 vxlan-id 3
76b6e857
AD
1424 vxlan-local-tunnelip 192.168.0.3
1425 bridge-learning off
1426 bridge-arp-nd-suppress on
1427 bridge-unicast-flood off
1428 bridge-multicast-flood off
1429
1430auto vmbr3
1431iface vmbr3 inet static
1432 bridge_ports vxlan3
1433 bridge_stp off
1434 bridge_fd 0
1435 address 10.0.3.254
1436 netmask 255.255.255.0
1437 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1438 vrf vrf1
fc8f7b53
AD
1439 ip-forward on
1440 ip6-forward on
1441 arp-accept on
76b6e857
AD
1442
1443#interconnect vxlan-vfr l3vni
1444auto vxlan4000
1445iface vxlan4000 inet manual
edcf2118 1446 vxlan-id 4000
76b6e857
AD
1447 vxlan-local-tunnelip 192.168.0.3
1448 bridge-learning off
1449 bridge-arp-nd-suppress on
1450 bridge-unicast-flood off
1451 bridge-multicast-flood off
1452
1453
1454auto vmbr4000
1455iface vmbr4000 inet manual
1456 bridge_ports vxlan4000
1457 bridge_stp off
1458 bridge_fd 0
76b6e857
AD
1459 vrf vrf1
1460----
1461
1462
1463frr.conf
1464
1465----
1466vrf vrf1
1467 vni 4000
250e8aa6 1468 exit-vrf
76b6e857
AD
1469!
1470router bgp 1234
1471 bgp router-id 192.168.0.3
1472 no bgp default ipv4-unicast
1473 coalesce-time 1000
1474 neighbor 192.168.0.1 remote-as 1234
1475 neighbor 192.168.0.2 remote-as 1234
1476 !
1477 address-family l2vpn evpn
1478 neighbor 192.168.0.1 activate
1479 neighbor 192.168.0.2 activate
1480 advertise-all-vni
1481 exit-address-family
1482!
76b6e857
AD
1483line vty
1484!
1485----
1486
1487multiple gateway nodes
1488^^^^^^^^^^^^^^^^^^^^^^
1489In this example, all nodes will be used as exit gateway. (But you can use only 2 nodes if you want)
250e8aa6
AD
1490All nodes have a a default gw to the external router (192.168.0.254) (no bgp between router and node1)
1491and announce this default gw in the vrf (default originate)
76b6e857
AD
1492The external router have ecmp routes to all proxmox nodes.(balancing).
1493If the router send the packet to a wrong node (vm is not on this node), this node will route through
1494vxlan the packet to final destination.
1495
c21bc66f
AD
1496If you have multiple gateway nodes, disable rp_filter as packet could incoming in a 1 node, and outgoing
1497to another node.
1498
1499sysctl.conf tuning
1500-----
1501net.ipv4.conf.default.rp_filter=0
1502net.ipv4.conf.all.rp_filter=0
1503-----
1504
1505
76b6e857
AD
1506*node1
1507
1508----
1509auto vrf1
1510iface vrf1
1511 vrf-table auto
1512
1513auto eno1
1514iface eno1 inet manual
47cf2d10 1515 mtu 1550
76b6e857
AD
1516
1517auto vmbr0
1518iface vmbr0 inet static
1519 address 192.168.0.1
1520 netmask 255.255.255.0
250e8aa6 1521 gateway 192.168.0.254
76b6e857
AD
1522 bridge_ports eno1
1523 bridge_stp off
1524 bridge_fd 0
ae2687d3
AD
1525 ip-forward on
1526 ip6-forward on
76b6e857 1527
76b6e857
AD
1528auto vxlan2
1529iface vxlan2 inet manual
edcf2118 1530 vxlan-id 2
76b6e857
AD
1531 vxlan-local-tunnelip 192.168.0.1
1532 bridge-learning off
1533 bridge-arp-nd-suppress on
1534 bridge-unicast-flood off
1535 bridge-multicast-flood off
1536
1537auto vmbr2
1538iface vmbr2 inet static
1539 bridge_ports vxlan2
1540 bridge_stp off
1541 bridge_fd 0
1542 address 10.0.2.254
1543 netmask 255.255.255.0
1544 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1545 vrf vrf1
fc8f7b53
AD
1546 ip-forward on
1547 ip6-forward on
1548 arp-accept on
76b6e857
AD
1549
1550auto vxlan3
1551iface vxlan3 inet manual
edcf2118 1552 vxlan-id 3
76b6e857
AD
1553 vxlan-local-tunnelip 192.168.0.1
1554 bridge-learning off
1555 bridge-arp-nd-suppress on
1556 bridge-unicast-flood off
1557 bridge-multicast-flood off
1558
1559auto vmbr3
1560iface vmbr3 inet static
1561 bridge_ports vxlan3
1562 bridge_stp off
1563 bridge_fd 0
1564 address 10.0.3.254
1565 netmask 255.255.255.0
1566 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1567 vrf vrf1
fc8f7b53
AD
1568 ip-forward on
1569 ip6-forward on
1570 arp-accept on
76b6e857
AD
1571
1572#interconnect vxlan-vfr l3vni
1573auto vxlan4000
1574iface vxlan4000 inet manual
edcf2118 1575 vxlan-id 4000
76b6e857
AD
1576 vxlan-local-tunnelip 192.168.0.1
1577 bridge-learning off
1578 bridge-arp-nd-suppress on
1579 bridge-unicast-flood off
1580 bridge-multicast-flood off
1581
1582auto vmbr4000
1583iface vmbr4000 inet manual
1584 bridge_ports vxlan4000
1585 bridge_stp off
1586 bridge_fd 0
76b6e857
AD
1587 vrf vrf1
1588----
1589
1590
1591frr.conf
1592
1593----
1594vrf vrf1
1595 vni 4000
250e8aa6 1596 exit-vrf
76b6e857
AD
1597!
1598router bgp 1234
1599 bgp router-id 192.168.0.1
1600 no bgp default ipv4-unicast
1601 coalesce-time 1000
1602 neighbor 192.168.0.2 remote-as 1234
1603 neighbor 192.168.0.3 remote-as 1234
1604 !
250e8aa6
AD
1605 address-family ipv4 unicast
1606 import vrf vrf1
1607 exit-address-family
1608 !
2b7934c1
AD
1609 address-family ipv6 unicast
1610 import vrf vrf1
1611 exit-address-family
1612 !
76b6e857
AD
1613 address-family l2vpn evpn
1614 neighbor 192.168.0.2 activate
1615 neighbor 192.168.0.3 activate
1616 advertise-all-vni
1617 exit-address-family
1618!
1619router bgp 1234 vrf vrf1
1620!
ae2687d3
AD
1621 address-family ipv4 unicast
1622 redistribute connected
1623 exit-address-family
1624 !
2b7934c1
AD
1625 address-family ipv6 unicast
1626 redistribute connected
1627 exit-address-family
1628 !
76b6e857 1629 address-family l2vpn evpn
250e8aa6 1630 default-originate ipv4
2b7934c1 1631 default-originate ipv6
76b6e857
AD
1632 exit-address-family
1633!
1634line vty
1635!
1636----
1637
1638
1639* node2
1640
1641----
1642auto vrf1
1643iface vrf1
1644 vrf-table auto
1645
1646auto eno1
1647iface eno1 inet manual
47cf2d10 1648 mtu 1550
4d3f6a2e 1649
76b6e857
AD
1650auto vmbr0
1651iface vmbr0 inet static
1652 address 192.168.0.2
1653 netmask 255.255.255.0
250e8aa6 1654 gateway 192.168.0.254
76b6e857
AD
1655 bridge_ports eno1
1656 bridge_stp off
1657 bridge_fd 0
ae2687d3
AD
1658 ip-forward on
1659 ip6-forward on
76b6e857 1660
76b6e857
AD
1661auto vxlan2
1662iface vxlan2 inet manual
edcf2118 1663 vxlan-id 2
76b6e857
AD
1664 vxlan-local-tunnelip 192.168.0.2
1665 bridge-learning off
1666 bridge-arp-nd-suppress on
1667 bridge-unicast-flood off
1668 bridge-multicast-flood off
1669
1670auto vmbr2
1671iface vmbr2 inet static
1672 bridge_ports vxlan2
1673 bridge_stp off
1674 bridge_fd 0
1675 address 10.0.2.254
1676 netmask 255.255.255.0
1677 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1678 vrf vrf1
fc8f7b53
AD
1679 ip-forward on
1680 ip6-forward on
1681 arp-accept on
76b6e857
AD
1682
1683auto vxlan3
1684iface vxlan3 inet manual
edcf2118 1685 vxlan-id 3
76b6e857
AD
1686 vxlan-local-tunnelip 192.168.0.2
1687 bridge-learning off
1688 bridge-arp-nd-suppress on
1689 bridge-unicast-flood off
1690 bridge-multicast-flood off
1691
1692auto vmbr3
1693iface vmbr3 inet static
1694 bridge_ports vxlan3
1695 bridge_stp off
1696 bridge_fd 0
1697 address 10.0.3.254
1698 netmask 255.255.255.0
1699 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1700 vrf vrf1
fc8f7b53
AD
1701 ip-forward on
1702 ip6-forward on
1703 arp-accept on
76b6e857
AD
1704
1705#interconnect vxlan-vfr l3vni
1706auto vxlan4000
1707iface vxlan4000 inet manual
edcf2118 1708 vxlan-id 4000
76b6e857
AD
1709 vxlan-local-tunnelip 192.168.0.2
1710 bridge-learning off
1711 bridge-arp-nd-suppress on
1712 bridge-unicast-flood off
1713 bridge-multicast-flood off
1714
1715
1716auto vmbr4000
1717iface vmbr4000 inet manual
1718 bridge_ports vxlan4000
1719 bridge_stp off
1720 bridge_fd 0
76b6e857
AD
1721 vrf vrf1
1722----
1723
1724
1725frr.conf
1726
1727----
1728vrf vrf1
1729 vni 4000
250e8aa6 1730 exit-vrf
76b6e857
AD
1731!
1732router bgp 1234
1733 bgp router-id 192.168.0.2
1734 no bgp default ipv4-unicast
1735 coalesce-time 1000
1736 neighbor 192.168.0.1 remote-as 1234
1737 neighbor 192.168.0.3 remote-as 1234
1738 !
250e8aa6
AD
1739 address-family ipv4 unicast
1740 import vrf vrf1
1741 exit-address-family
1742 !
2b7934c1
AD
1743 address-family ipv6 unicast
1744 import vrf vrf1
1745 exit-address-family
1746 !
76b6e857
AD
1747 address-family l2vpn evpn
1748 neighbor 192.168.0.1 activate
1749 neighbor 192.168.0.3 activate
1750 advertise-all-vni
1751 exit-address-family
1752!
ae2687d3
AD
1753 address-family ipv4 unicast
1754 redistribute connected
1755 exit-address-family
1756 !
2b7934c1
AD
1757 address-family ipv6 unicast
1758 redistribute connected
1759 exit-address-family
1760 !
76b6e857 1761 address-family l2vpn evpn
250e8aa6 1762 default-originate ipv4
2b7934c1 1763 default-originate ipv6
76b6e857
AD
1764 exit-address-family
1765!
1766line vty
1767!
1768----
1769
1770
1771* node3
1772
1773----
1774auto vrf1
1775iface vrf1
1776 vrf-table auto
1777
1778auto eno1
1779iface eno1 inet manual
47cf2d10
AD
1780 mtu 1550
1781
76b6e857
AD
1782auto vmbr0
1783iface vmbr0 inet static
1784 address 192.168.0.3
1785 netmask 255.255.255.0
250e8aa6 1786 gateway 192.168.0.254
76b6e857
AD
1787 bridge_ports eno1
1788 bridge_stp off
1789 bridge_fd 0
ae2687d3
AD
1790 ip-forward on
1791 ip6-forward on
76b6e857 1792
76b6e857
AD
1793auto vxlan2
1794iface vxlan2 inet manual
edcf2118 1795 vxlan-id 2
76b6e857
AD
1796 vxlan-local-tunnelip 192.168.0.3
1797 bridge-learning off
1798 bridge-arp-nd-suppress on
1799 bridge-unicast-flood off
1800 bridge-multicast-flood off
1801
1802auto vmbr2
1803iface vmbr2 inet static
1804 bridge_ports vxlan2
1805 bridge_stp off
1806 bridge_fd 0
1807 address 10.0.2.254
1808 netmask 255.255.255.0
1809 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1810 vrf vrf1
fc8f7b53
AD
1811 ip-forward on
1812 ip6-forward on
1813 arp-accept on
76b6e857
AD
1814
1815auto vxlan3
1816iface vxlan3 inet manual
edcf2118 1817 vxlan-id 3
76b6e857
AD
1818 vxlan-local-tunnelip 192.168.0.3
1819 bridge-learning off
1820 bridge-arp-nd-suppress on
1821 bridge-unicast-flood off
1822 bridge-multicast-flood off
1823
1824auto vmbr3
1825iface vmbr3 inet static
1826 bridge_ports vxlan3
1827 bridge_stp off
1828 bridge_fd 0
1829 address 10.0.3.254
1830 netmask 255.255.255.0
1831 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1832 vrf vrf1
fc8f7b53
AD
1833 ip-forward on
1834 ip6-forward on
1835 arp-accept on
76b6e857
AD
1836
1837#interconnect vxlan-vfr l3vni
1838auto vxlan4000
1839iface vxlan4000 inet manual
edcf2118 1840 vxlan-id 4000
76b6e857
AD
1841 vxlan-local-tunnelip 192.168.0.3
1842 bridge-learning off
1843 bridge-arp-nd-suppress on
1844 bridge-unicast-flood off
1845 bridge-multicast-flood off
1846
1847
1848auto vmbr4000
1849iface vmbr4000 inet manual
1850 bridge_ports vxlan4000
1851 bridge_stp off
1852 bridge_fd 0
76b6e857
AD
1853 vrf vrf1
1854----
1855
1856
1857frr.conf
1858
1859----
1860vrf vrf1
1861 vni 4000
250e8aa6 1862 exit-vrf
76b6e857
AD
1863!
1864router bgp 1234
1865 bgp router-id 192.168.0.3
1866 no bgp default ipv4-unicast
1867 coalesce-time 1000
1868 neighbor 192.168.0.1 remote-as 1234
1869 neighbor 192.168.0.2 remote-as 1234
1870 !
250e8aa6
AD
1871 address-family ipv4 unicast
1872 import vrf vrf1
1873 exit-address-family
1874 !
2b7934c1
AD
1875 address-family ipv6 unicast
1876 import vrf vrf1
1877 exit-address-family
1878 !
76b6e857
AD
1879 address-family l2vpn evpn
1880 neighbor 192.168.0.1 activate
1881 neighbor 192.168.0.2 activate
1882 advertise-all-vni
1883 exit-address-family
1884!
1885router bgp 1234 vrf vrf1
1886!
ae2687d3
AD
1887 address-family ipv4 unicast
1888 redistribute connected
1889 exit-address-family
1890 !
2b7934c1
AD
1891 address-family ipv6 unicast
1892 redistribute connected
1893 exit-address-family
1894 !
76b6e857 1895 address-family l2vpn evpn
250e8aa6 1896 default-originate ipv4
2b7934c1 1897 default-originate ipv6
76b6e857
AD
1898 exit-address-family
1899!
1900line vty
1901!
1902----
1903
1904Note
1905^^^^
1906
8adeb0eb
TL
1907If your external router doesn't support 'ECMP static routes' to reach multiple
1908{pve} nodes, you can setup an HA floating vip on proxmox nodes by using the
1909Virtual Router Redundancy Protocol (VRRP).
76b6e857 1910
8adeb0eb
TL
1911In this example, we will setup an floating 192.168.0.10 IP on node1 and node2.
1912Node1 is the primary with failover to node2 in case of outage.
76b6e857 1913
8adeb0eb 1914This setup currently needs 'vrrpd' package (`apt install vrrpd`).
250e8aa6 1915#TODO : It should be possible to do it with frr directly with last version.
76b6e857
AD
1916
1917* node1
1918
1919----
250e8aa6
AD
1920auto vmbr0
1921iface vmbr0 inet static
1922 address 192.168.0.1
1923 netmask 255.255.255.0
1924 gateway 192.168.0.254
1925 bridge_ports eno1
1926 bridge_stp off
1927 bridge_fd 0
1928 vrrp-id 1
1929 vrrp-priority 1
1930 vrrp-virtual-ip 192.168.0.10
76b6e857
AD
1931----
1932
1933* node2
1934
1935----
250e8aa6
AD
1936auto vmbr0
1937iface vmbr0 inet static
1938 address 192.168.0.2
1939 netmask 255.255.255.0
1940 gateway 192.168.0.254
1941 bridge_ports eno1
1942 bridge_stp off
1943 bridge_fd 0
1944 vrrp-id 1
1945 vrrp-priority 2
1946 vrrp-virtual-ip 192.168.0.10
76b6e857
AD
1947----
1948
1949
3e25ae61
AD
1950
1951gateway node(s) with a upstream bgp router
1952~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1953Setup is almost the same than with a static gateway, but we'll connect to an upstream bgp router.
1954
1955example with node1 as gateway (192.168.0.1) for evpn-bgp, and an upstream bgp router (running frr too) 192.168.0.254.
1956
1957* node1
1958
1959frr.conf
1960----
1961vrf vrf1
1962 vni 4000
1963 exit-vrf
1964!
1965router bgp 1234
1966 bgp router-id 192.168.0.1
1967 no bgp default ipv4-unicast
3e25ae61
AD
1968 coalesce-time 1000
1969 neighbor 192.168.0.2 remote-as 1234
1970 neighbor 192.168.0.3 remote-as 1234
1971 neighbor 192.168.0.254 remote-as external
1972 !
1973 address-family ipv4 unicast
1974 import vrf vrf1
1975 neighbor 192.168.0.254 activate
1976 exit-address-family
1977 !
1978 address-family ipv6 unicast
1979 import vrf vrf1
1980 neighbor 192.168.0.254 activate
1981 exit-address-family
1982 !
1983 address-family l2vpn evpn
1984 neighbor 192.168.0.1 activate
1985 neighbor 192.168.0.2 activate
1986 neighbor 192.168.0.254 activate
1987 advertise-all-vni
1988 exit-address-family
1989!
1990router bgp 1234 vrf vrf1
1991!
1992 address-family ipv4 unicast
1993 redistribute connected
1994 exit-address-family
1995 !
1996 address-family ipv6 unicast
1997 redistribute connected
1998 exit-address-family
1999 !
2000 address-family l2vpn evpn
2001 default-originate ipv4
2002 default-originate ipv6
2003 exit-address-family
2004!
2005line vty
2006!
2007----
2008
2009* bgp router
2010
2011frr.conf
2012----
2013ip prefix-list NO32 seq 10 permit 0.0.0.0/0 ge 8 le 24
2014ip prefix-list NO32 seq 20 deny any
2015!
2016router bgp 25253
2017 bgp router-id 192.168.0.254
2018 bgp bestpath as-path multipath-relax
2019 neighbor 192.168.0.1 remote-as external
2020 neighbor 192.168.0.1 capability extended-nexthop
2021 !
2022 address-family ipv4 unicast
2023 neighbor 192.168.0.1 default-originate
2024 neighbor 192.168.0.1 prefix-list NO32 in #don't import /32 route from evpn
2025 exit-address-family
2026 !
2027 address-family ipv6 unicast
2028 neighbor 192.168.0.1 default-originate
2029 neighbor 192.168.0.1 prefix-list NO32 in #don't import /32 route from evpn
2030 exit-address-family
2031 !
2032!
2033---
2034
8adeb0eb 2035Route Reflectors
846e9430 2036^^^^^^^^^^^^^^^^
8adeb0eb
TL
2037If you have a lot of proxmox nodes, or multiple proxmox clusters, you may want
2038to avoid that all node peers with each others nodes.
2039For this, you can create dedicated route reflectors (RR) servers. As a RR is a
2040single point of failure, a minimum of two servers acting as an RR is highly
2041recommended for redundancy.
2042
2043Below is an example of configuration with 'frr', with `rrserver1
2044(192.168.0.200)' and `rrserver2 (192.168.0.201)`.
846e9430
AD
2045
2046rrserver1
2047----
2048router bgp 1234
2049 bgp router-id 192.168.0.200
4d3f6a2e 2050 bgp cluster-id 1.1.1.1 #cluster-id must be the same on each route reflector
846e9430
AD
2051 bgp log-neighbor-changes
2052 no bgp default ipv4-unicast
2053 neighbor fabric peer-group
2054 neighbor fabric remote-as 1234
2055 neighbor fabric capability extended-nexthop
2056 neighbor fabric update-source 192.168.0.200
2057 bgp listen range 192.168.0.0/24 peer-group fabric #allow any proxmoxnode client in the network range
2058 !
2059 address-family l2vpn evpn
2060 neighbor fabric activate
2061 neighbor fabric route-reflector-client
2062 neighbor fabric allowas-in
2063 exit-address-family
2064 !
2065 exit
2066!
2067---
2068
2069rrserver2
2070----
2071router bgp 1234
2072 bgp router-id 192.168.0.201
4d3f6a2e 2073 bgp cluster-id 1.1.1.1
846e9430
AD
2074 bgp log-neighbor-changes
2075 no bgp default ipv4-unicast
2076 neighbor fabric peer-group
2077 neighbor fabric remote-as 1234
2078 neighbor fabric capability extended-nexthop
2079 neighbor fabric update-source 192.168.0.201
2080 bgp listen range 192.168.0.0/24 peer-group fabric
2081 !
2082 address-family l2vpn evpn
2083 neighbor fabric activate
2084 neighbor fabric route-reflector-client
2085 neighbor fabric allowas-in
2086 exit-address-family
2087 !
2088 exit
2089!
2090---
2091
2092proxmoxnode(s)
2093----
2094router bgp 1234
2095 bgp router-id 192.168.0.x
2096 no bgp default ipv4-unicast
2097 coalesce-time 1000
2098 neighbor 192.168.0.200 remote-as 1234
2099 neighbor 192.168.0.201 remote-as 1234
2100 !
846e9430
AD
2101 address-family l2vpn evpn
2102 neighbor 192.168.0.200 activate
2103 neighbor 192.168.0.201 activate
2104 advertise-all-vni
2105 exit-address-family
2106!
2107----