4 This is currently not included, because
5 - it requires ifupdown2
6 - routing needs more documentation
11 VXLAN layer2 with vlan unware linux bridges
12 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14 VXLAN is an overlay network to carry Ethernet traffic over an existing IP network
15 while accommodating a very large number of tenants. It is defined in RFC 7348.
16 Each overlay network is known as a VXLAN Segment and identified by a unique
17 24-bit segment ID called a VXLAN Network Identifier (VNI).
19 VXLAN encapsulation add 50bytes overhead, so you need to increase mtu on your host
20 physical interfaces to 1550 at minimum. (or decrease mtu inside your vms to 1450)
22 For BUM traffic (broadcast / unknown unicast traffic, multicast),
23 we have 3 differents vxlan setup modes : multicast, unicast, bgp-evpn
25 image::images/vxlan-l2-vlanunaware.svg["vxlan l2 bridge vlan unaware",align="center"]
30 This scenario relies in head end replication, meaning that end host in case
31 of not having any entry for the destination MAC address will send out an ARP
32 to other devices / VTEPs in the VXLAN network.
33 This is done by sending the request to the VXLAN multicast group,
34 remote VTEPs will get the packet and answer accordingly direct to the originating VTEP.
41 iface eno1 inet manual
45 iface vmbr0 inet static
53 iface vxlan2 inet manual
55 vxlan-svcnodeip 225.20.1.1
59 iface vmbr2 inet manual
65 iface vxlan3 inet manual
67 vxlan-svcnodeip 225.20.1.1
71 iface vmbr3 inet manual
82 iface eno1 inet manual
86 iface vmbr0 inet static
94 iface vxlan2 inet manual
96 vxlan-svcnodeip 225.20.1.1
100 iface vmbr2 inet manual
107 iface vxlan3 inet manual
109 vxlan-svcnodeip 225.20.1.1
113 iface vmbr3 inet manual
124 iface eno1 inet manual
128 iface vmbr0 inet static
130 netmask 255.255.255.0
136 iface vxlan2 inet manual
138 vxlan-svcnodeip 225.20.1.1
142 iface vmbr2 inet manual
149 iface vxlan3 inet manual
151 vxlan-svcnodeip 225.20.1.1
155 iface vmbr3 inet manual
165 We can replace multicast by head-end replication of BUM frames to a statically configured lists of remote VTEPs.
166 The VXLAN is defined without a remote multicast group.
167 Instead, all the remote VTEPs are associated with the all-zero address:
168 a BUM frame will be duplicated to all these destinations.
169 The VXLAN device will still learn remote addresses automatically using source-address learning.
175 iface eno1 inet manual
179 iface vmbr0 inet static
181 netmask 255.255.255.0
188 iface vxlan2 inet manual
190 vxlan_remoteip 192.168.0.2
191 vxlan_remoteip 192.168.0.3
195 iface vmbr2 inet manual
202 iface vxlan2 inet manual
204 vxlan_remoteip 192.168.0.2
205 vxlan_remoteip 192.168.0.3
209 iface vmbr3 inet manual
220 iface eno1 inet manual
224 iface vmbr0 inet static
226 netmask 255.255.255.0
232 iface vxlan2 inet manual
234 vxlan_remoteip 192.168.0.1
235 vxlan_remoteip 192.168.0.3
240 iface vmbr2 inet manual
246 iface vxlan2 inet manual
248 vxlan_remoteip 192.168.0.1
249 vxlan_remoteip 192.168.0.3
253 iface vmbr3 inet manual
264 iface eno1 inet manual
268 iface vmbr0 inet static
270 netmask 255.255.255.0
276 iface vxlan2 inet manual
278 vxlan_remoteip 192.168.0.2
279 vxlan_remoteip 192.168.0.3
284 iface vmbr2 inet manual
290 iface vxlan2 inet manual
292 vxlan_remoteip 192.168.0.2
293 vxlan_remoteip 192.168.0.3
297 iface vmbr3 inet manual
307 VTEPs use control plane learning/distribution via BGP for remote MAC addresses instead of data plane learning.
308 VTEPs have the ability to suppress ARP flooding over VXLAN tunnels.
310 The control plane used here is FRR, a bgp routing software.
311 Each node in the proxmox cluster peer with each others nodes.
312 For bigger networks, or multiple proxmox clusters,
313 it's possible to use external bgp route reflector servers.
319 iface eno1 inet manual
323 iface vmbr0 inet static
325 netmask 255.255.255.0
331 iface vxlan2 inet manual
333 vxlan-local-tunnelip 192.168.0.1
335 bridge-arp-nd-suppress on
336 bridge-unicast-flood off
337 bridge-multicast-flood off
341 iface vmbr2 inet manual
348 iface vxlan3 inet manual
350 vxlan-local-tunnelip 192.168.0.1
352 bridge-arp-nd-suppress on
353 bridge-unicast-flood off
354 bridge-multicast-flood off
358 iface vmbr3 inet manual
369 no bgp default ipv4-unicast
371 neighbor 192.168.0.2 remote-as 1234
372 neighbor 192.168.0.3 remote-as 1234
374 address-family l2vpn evpn
375 neighbor 192.168.0.2 activate
376 neighbor 192.168.0.3 activate
389 iface eno1 inet manual
393 iface vmbr0 inet static
395 netmask 255.255.255.0
401 iface vxlan2 inet manual
403 vxlan-local-tunnelip 192.168.0.2
405 bridge-arp-nd-suppress on
406 bridge-unicast-flood off
407 bridge-multicast-flood off
411 iface vmbr2 inet manual
417 iface vxlan3 inet manual
419 vxlan-local-tunnelip 192.168.0.2
421 bridge-arp-nd-suppress on
422 bridge-unicast-flood off
423 bridge-multicast-flood off
427 iface vmbr3 inet manual
438 no bgp default ipv4-unicast
440 neighbor 192.168.0.1 remote-as 1234
441 neighbor 192.168.0.3 remote-as 1234
443 address-family l2vpn evpn
444 neighbor 192.168.0.1 activate
445 neighbor 192.168.0.3 activate
458 iface eno1 inet manual
462 iface vmbr0 inet static
464 netmask 255.255.255.0
470 iface vxlan2 inet manual
472 vxlan-local-tunnelip 192.168.0.3
474 bridge-arp-nd-suppress on
475 bridge-unicast-flood off
476 bridge-multicast-flood off
480 iface vmbr2 inet manual
486 iface vxlan3 inet manual
488 vxlan-local-tunnelip 192.168.0.3
490 bridge-arp-nd-suppress on
491 bridge-unicast-flood off
492 bridge-multicast-flood off
496 iface vmbr3 inet manual
508 no bgp default ipv4-unicast
510 neighbor 192.168.0.1 remote-as 1234
511 neighbor 192.168.0.2 remote-as 1234
513 address-family l2vpn evpn
514 neighbor 192.168.0.1 activate
515 neighbor 192.168.0.2 activate
523 VXLAN layer3 routing with anycast gateway
524 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
526 With this need, each vmbr bridge will be the gateway for the vm.
527 Same vmbr on different node, will have same ip address and same mac address,
528 to have working vm live migration and no network disruption.
530 VXLAN layer3 routing only work with FRR and non-aware bridge.
531 (vlan aware bridge support is buggy currently).
536 This is the simplest mode. To get it work, all vxlan need to be defined on all nodes.
538 The asymmetric model allows routing and bridging on the VXLAN tunnel ingress,
539 but only bridging on the egress.
540 This results in bi-directional VXLAN traffic traveling on different VNIs
541 in each direction (always the destination VNI) across the routed infrastructure.
543 image::images/vxlan-l3-asymmetric.svg["vxlan l3 asymmetric",align="center"]
550 net.ipv4.ip_forward=1
551 net.ipv6.conf.all.forwarding=1
558 iface eno1 inet manual
562 iface vmbr0 inet static
564 netmask 255.255.255.0
570 iface vxlan2 inet manual
572 vxlan-local-tunnelip 192.168.0.1
574 bridge-arp-nd-suppress on
575 bridge-unicast-flood off
576 bridge-multicast-flood off
580 iface vmbr2 inet static
582 netmask 255.255.255.0
583 hwaddress 44:39:39:FF:40:94
590 iface vxlan3 inet manual
592 vxlan-local-tunnelip 192.168.0.1
594 bridge-arp-nd-suppress on
595 bridge-unicast-flood off
596 bridge-multicast-flood off
600 iface vmbr3 inet static
602 netmask 255.255.255.0
603 hwaddress 44:39:39:FF:40:94
614 bgp router-id 192.168.0.1
615 no bgp default ipv4-unicast
617 neighbor 192.168.0.2 remote-as 1234
618 neighbor 192.168.0.3 remote-as 1234
620 address-family l2vpn evpn
621 neighbor 192.168.0.2 activate
622 neighbor 192.168.0.3 activate
635 iface eno1 inet manual
639 iface vmbr0 inet static
641 netmask 255.255.255.0
647 iface vxlan2 inet manual
649 vxlan-local-tunnelip 192.168.0.2
651 bridge-arp-nd-suppress on
652 bridge-unicast-flood off
653 bridge-multicast-flood off
657 iface vmbr2 inet static
659 netmask 255.255.255.0
660 hwaddress 44:39:39:FF:40:94
667 iface vxlan3 inet manual
669 vxlan-local-tunnelip 192.168.0.2
671 bridge-arp-nd-suppress on
672 bridge-unicast-flood off
673 bridge-multicast-flood off
677 iface vmbr3 inet static
679 netmask 255.255.255.0
680 hwaddress 44:39:39:FF:40:94
691 bgp router-id 192.168.0.2
692 no bgp default ipv4-unicast
694 neighbor 192.168.0.1 remote-as 1234
695 neighbor 192.168.0.3 remote-as 1234
697 address-family l2vpn evpn
698 neighbor 192.168.0.1 activate
699 neighbor 192.168.0.3 activate
712 iface eno1 inet manual
716 iface vmbr0 inet static
718 netmask 255.255.255.0
724 iface vxlan2 inet manual
726 vxlan-local-tunnelip 192.168.0.3
728 bridge-arp-nd-suppress on
729 bridge-unicast-flood off
730 bridge-multicast-flood off
734 iface vmbr2 inet static
736 netmask 255.255.255.0
737 hwaddress 44:39:39:FF:40:94
744 iface vxlan3 inet manual
746 vxlan-local-tunnelip 192.168.0.3
748 bridge-arp-nd-suppress on
749 bridge-unicast-flood off
750 bridge-multicast-flood off
754 iface vmbr3 inet static
756 netmask 255.255.255.0
757 hwaddress 44:39:39:FF:40:94
768 bgp router-id 192.168.0.3
769 no bgp default ipv4-unicast
771 neighbor 192.168.0.1 remote-as 1234
772 neighbor 192.168.0.2 remote-as 1234
774 address-family l2vpn evpn
775 neighbor 192.168.0.1 activate
776 neighbor 192.168.0.2 activate
788 With this model, you don't need to have all vxlan on all nodes.
789 This model will also be needed to route traffic to an external router.
791 The symmetric model routes and bridges on both the ingress and the egress leafs.
792 This results in bi-directional traffic being able to travel on the same VNI, hence the symmetric name.
793 However, a new specialty transit VNI is used for all routed VXLAN traffic, called the L3VNI.
794 All traffic that needs to be routed will be routed onto the L3VNI, tunneled across the layer 3 Infrastructure,
795 routed off the L3VNI to the appropriate VLAN and ultimately bridged to the destination.
797 A vrf is needed for the L3VNI, so all vmbr bridge need to be in the vrf if they want to be able to reach each others.
799 image::images/vxlan-l3-symmetric.svg["vxlan l3 symmetric",align="center"]
805 net.ipv4.ip_forward=1
806 net.ipv6.conf.all.forwarding=1
807 #disable reverse path filtering
808 net.ipv4.conf.default.rp_filter=0
809 net.ipv4.conf.all.rp_filter=0
820 iface eno1 inet manual
824 iface vmbr0 inet static
826 netmask 255.255.255.0
832 iface vxlan2 inet manual
834 vxlan-local-tunnelip 192.168.0.1
836 bridge-arp-nd-suppress on
837 bridge-unicast-flood off
838 bridge-multicast-flood off
841 iface vmbr2 inet static
846 netmask 255.255.255.0
847 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
851 iface vxlan3 inet manual
853 vxlan-local-tunnelip 192.168.0.1
855 bridge-arp-nd-suppress on
856 bridge-unicast-flood off
857 bridge-multicast-flood off
860 iface vmbr3 inet static
865 netmask 255.255.255.0
866 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
869 #interconnect vxlan-vfr l3vni
871 iface vxlan4000 inet manual
873 vxlan-local-tunnelip 192.168.0.1
875 bridge-arp-nd-suppress on
876 bridge-unicast-flood off
877 bridge-multicast-flood off
881 iface vmbr4000 inet manual
882 bridge_ports vxlan4000
885 hwaddress 44:39:39:FF:40:90 #must be different on each node
896 bgp router-id 192.168.0.1
897 no bgp default ipv4-unicast
899 neighbor 192.168.0.2 remote-as 1234
900 neighbor 192.168.0.3 remote-as 1234
902 address-family l2vpn evpn
903 neighbor 192.168.0.2 activate
904 neighbor 192.168.0.3 activate
908 router bgp 1234 vrf vrf1
910 bgp router-id 192.168.0.1
912 address-family ipv4 unicast
913 redistribute connected
916 address-family l2vpn evpn
917 advertise ipv4 unicast
933 iface eno1 inet manual
937 iface vmbr0 inet static
939 netmask 255.255.255.0
945 iface vxlan2 inet manual
947 vxlan-local-tunnelip 192.168.0.2
949 bridge-arp-nd-suppress on
950 bridge-unicast-flood off
951 bridge-multicast-flood off
954 iface vmbr2 inet static
959 netmask 255.255.255.0
960 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
964 iface vxlan3 inet manual
966 vxlan-local-tunnelip 192.168.0.2
968 bridge-arp-nd-suppress on
969 bridge-unicast-flood off
970 bridge-multicast-flood off
973 iface vmbr3 inet static
978 netmask 255.255.255.0
979 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
982 #interconnect vxlan-vfr l3vni
984 iface vxlan4000 inet manual
986 vxlan-local-tunnelip 192.168.0.2
988 bridge-arp-nd-suppress on
989 bridge-unicast-flood off
990 bridge-multicast-flood off
994 iface vmbr4000 inet manual
995 bridge_ports vxlan4000
998 hwaddress 44:39:39:FF:40:91 #must be different on each node
1010 bgp router-id 192.168.0.2
1011 no bgp default ipv4-unicast
1013 neighbor 192.168.0.1 remote-as 1234
1014 neighbor 192.168.0.3 remote-as 1234
1016 address-family l2vpn evpn
1017 neighbor 192.168.0.1 activate
1018 neighbor 192.168.0.3 activate
1022 router bgp 1234 vrf vrf1
1024 bgp router-id 192.168.0.2
1026 address-family ipv4 unicast
1027 redistribute connected
1030 address-family l2vpn evpn
1031 advertise ipv4 unicast
1047 iface eno1 inet manual
1051 iface vmbr0 inet static
1053 netmask 255.255.255.0
1059 iface vxlan2 inet manual
1061 vxlan-local-tunnelip 192.168.0.3
1063 bridge-arp-nd-suppress on
1064 bridge-unicast-flood off
1065 bridge-multicast-flood off
1068 iface vmbr2 inet static
1073 netmask 255.255.255.0
1074 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1078 iface vxlan3 inet manual
1080 vxlan-local-tunnelip 192.168.0.3
1082 bridge-arp-nd-suppress on
1083 bridge-unicast-flood off
1084 bridge-multicast-flood off
1087 iface vmbr3 inet static
1092 netmask 255.255.255.0
1093 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1096 #interconnect vxlan-vfr l3vni
1098 iface vxlan4000 inet manual
1100 vxlan-local-tunnelip 192.168.0.3
1102 bridge-arp-nd-suppress on
1103 bridge-unicast-flood off
1104 bridge-multicast-flood off
1108 iface vmbr4000 inet manual
1109 bridge_ports vxlan4000
1112 hwaddress 44:39:39:FF:40:92 #must be different on each node
1124 bgp router-id 192.168.0.3
1125 no bgp default ipv4-unicast
1127 neighbor 192.168.0.1 remote-as 1234
1128 neighbor 192.168.0.2 remote-as 1234
1130 address-family l2vpn evpn
1131 neighbor 192.168.0.1 activate
1132 neighbor 192.168.0.2 activate
1136 router bgp 1234 vrf vrf1
1138 bgp router-id 192.168.0.3
1140 address-family ipv4 unicast
1141 redistribute connected
1144 address-family l2vpn evpn
1145 advertise ipv4 unicast
1152 VXLAN layer3 routing with anycast gateway + routing to outside with external router
1153 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1154 Routing to outside need the symmetric model.
1158 In this example, we'll use only 1 proxmox node as exit gateway. (node1)
1159 This node have a simple default gw in the vrf to the external router (no bgp between router and node1)
1160 and announce this default gw to other proxmox nodes.
1171 iface eno1 inet manual
1175 iface vmbr0 inet static
1177 netmask 255.255.255.0
1185 netmask 255.255.255.0
1187 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1188 #if you have multiple external routers, you can use ecmp balancing
1189 #post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
1192 iface vxlan2 inet manual
1194 vxlan-local-tunnelip 192.168.0.1
1196 bridge-arp-nd-suppress on
1197 bridge-unicast-flood off
1198 bridge-multicast-flood off
1201 iface vmbr2 inet static
1206 netmask 255.255.255.0
1207 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1211 iface vxlan3 inet manual
1213 vxlan-local-tunnelip 192.168.0.1
1215 bridge-arp-nd-suppress on
1216 bridge-unicast-flood off
1217 bridge-multicast-flood off
1220 iface vmbr3 inet static
1225 netmask 255.255.255.0
1226 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1229 #interconnect vxlan-vfr l3vni
1231 iface vxlan4000 inet manual
1233 vxlan-local-tunnelip 192.168.0.1
1235 bridge-arp-nd-suppress on
1236 bridge-unicast-flood off
1237 bridge-multicast-flood off
1240 iface vmbr4000 inet manual
1241 bridge_ports vxlan4000
1244 hwaddress 44:39:39:FF:40:90 #must be different on each node
1256 bgp router-id 192.168.0.1
1257 no bgp default ipv4-unicast
1259 neighbor 192.168.0.2 remote-as 1234
1260 neighbor 192.168.0.3 remote-as 1234
1262 address-family l2vpn evpn
1263 neighbor 192.168.0.2 activate
1264 neighbor 192.168.0.3 activate
1268 router bgp 1234 vrf vrf1
1270 bgp router-id 172.16.0.1
1272 address-family ipv4 unicast
1273 redistribute connected
1274 redistribute kernel !announce your default gw to all nodes
1277 address-family l2vpn evpn
1278 advertise ipv4 unicast
1294 iface eno1 inet manual
1298 iface vmbr0 inet static
1300 netmask 255.255.255.0
1306 iface vxlan2 inet manual
1308 vxlan-local-tunnelip 192.168.0.2
1310 bridge-arp-nd-suppress on
1311 bridge-unicast-flood off
1312 bridge-multicast-flood off
1315 iface vmbr2 inet static
1320 netmask 255.255.255.0
1321 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1325 iface vxlan3 inet manual
1327 vxlan-local-tunnelip 192.168.0.2
1329 bridge-arp-nd-suppress on
1330 bridge-unicast-flood off
1331 bridge-multicast-flood off
1334 iface vmbr3 inet static
1339 netmask 255.255.255.0
1340 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1343 #interconnect vxlan-vfr l3vni
1345 iface vxlan4000 inet manual
1347 vxlan-local-tunnelip 192.168.0.2
1349 bridge-arp-nd-suppress on
1350 bridge-unicast-flood off
1351 bridge-multicast-flood off
1355 iface vmbr4000 inet manual
1356 bridge_ports vxlan4000
1359 hwaddress 44:39:39:FF:40:91 #must be different on each node
1371 bgp router-id 192.168.0.2
1372 no bgp default ipv4-unicast
1374 neighbor 192.168.0.1 remote-as 1234
1375 neighbor 192.168.0.3 remote-as 1234
1377 address-family l2vpn evpn
1378 neighbor 192.168.0.1 activate
1379 neighbor 192.168.0.3 activate
1383 router bgp 1234 vrf vrf1
1385 bgp router-id 192.168.0.2
1387 address-family ipv4 unicast
1388 redistribute connected
1391 address-family l2vpn evpn
1392 advertise ipv4 unicast
1408 iface eno1 inet manual
1412 iface vmbr0 inet static
1414 netmask 255.255.255.0
1420 iface vxlan2 inet manual
1422 vxlan-local-tunnelip 192.168.0.3
1424 bridge-arp-nd-suppress on
1425 bridge-unicast-flood off
1426 bridge-multicast-flood off
1429 iface vmbr2 inet static
1434 netmask 255.255.255.0
1435 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1439 iface vxlan3 inet manual
1441 vxlan-local-tunnelip 192.168.0.3
1443 bridge-arp-nd-suppress on
1444 bridge-unicast-flood off
1445 bridge-multicast-flood off
1448 iface vmbr3 inet static
1453 netmask 255.255.255.0
1454 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1457 #interconnect vxlan-vfr l3vni
1459 iface vxlan4000 inet manual
1461 vxlan-local-tunnelip 192.168.0.3
1463 bridge-arp-nd-suppress on
1464 bridge-unicast-flood off
1465 bridge-multicast-flood off
1469 iface vmbr4000 inet manual
1470 bridge_ports vxlan4000
1473 hwaddress 44:39:39:FF:40:92 #must be different on each node
1485 bgp router-id 192.168.0.3
1486 no bgp default ipv4-unicast
1488 neighbor 192.168.0.1 remote-as 1234
1489 neighbor 192.168.0.2 remote-as 1234
1491 address-family l2vpn evpn
1492 neighbor 192.168.0.1 activate
1493 neighbor 192.168.0.2 activate
1497 router bgp 1234 vrf vrf1
1499 bgp router-id 192.168.0.3
1501 address-family ipv4 unicast
1502 redistribute connected
1505 address-family l2vpn evpn
1506 advertise ipv4 unicast
1513 multiple gateway nodes
1514 ^^^^^^^^^^^^^^^^^^^^^^
1515 In this example, all nodes will be used as exit gateway. (But you can use only 2 nodes if you want)
1516 All nodes have a simple default gw in the vrf to the external router (no bgp between router and node1)
1517 and announce this default gw.
1518 The external router have ecmp routes to all proxmox nodes.(balancing).
1519 If the router send the packet to a wrong node (vm is not on this node), this node will route through
1520 vxlan the packet to final destination.
1530 iface eno1 inet manual
1534 iface vmbr0 inet static
1536 netmask 255.255.255.0
1544 netmask 255.255.255.0
1547 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1548 #if you have multiple external routers, you can use ecmp balancing
1549 #post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
1552 iface vxlan2 inet manual
1554 vxlan-local-tunnelip 192.168.0.1
1556 bridge-arp-nd-suppress on
1557 bridge-unicast-flood off
1558 bridge-multicast-flood off
1561 iface vmbr2 inet static
1566 netmask 255.255.255.0
1567 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1571 iface vxlan3 inet manual
1573 vxlan-local-tunnelip 192.168.0.1
1575 bridge-arp-nd-suppress on
1576 bridge-unicast-flood off
1577 bridge-multicast-flood off
1580 iface vmbr3 inet static
1585 netmask 255.255.255.0
1586 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1589 #interconnect vxlan-vfr l3vni
1591 iface vxlan4000 inet manual
1593 vxlan-local-tunnelip 192.168.0.1
1595 bridge-arp-nd-suppress on
1596 bridge-unicast-flood off
1597 bridge-multicast-flood off
1600 iface vmbr4000 inet manual
1601 bridge_ports vxlan4000
1604 hwaddress 44:39:39:FF:40:90 #must be different on each node
1616 bgp router-id 192.168.0.1
1617 no bgp default ipv4-unicast
1619 neighbor 192.168.0.2 remote-as 1234
1620 neighbor 192.168.0.3 remote-as 1234
1622 address-family l2vpn evpn
1623 neighbor 192.168.0.2 activate
1624 neighbor 192.168.0.3 activate
1628 router bgp 1234 vrf vrf1
1630 bgp router-id 172.16.0.1
1632 address-family ipv4 unicast
1633 redistribute connected
1634 redistribute kernel !announce your default gw to all nodes
1637 address-family l2vpn evpn
1638 advertise ipv4 unicast
1654 iface eno1 inet manual
1658 iface vmbr0 inet static
1660 netmask 255.255.255.0
1668 netmask 255.255.255.0
1671 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1672 #if you have multiple external routers, you can use ecmp balancing
1673 #post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
1676 iface vxlan2 inet manual
1678 vxlan-local-tunnelip 192.168.0.2
1680 bridge-arp-nd-suppress on
1681 bridge-unicast-flood off
1682 bridge-multicast-flood off
1685 iface vmbr2 inet static
1690 netmask 255.255.255.0
1691 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1695 iface vxlan3 inet manual
1697 vxlan-local-tunnelip 192.168.0.2
1699 bridge-arp-nd-suppress on
1700 bridge-unicast-flood off
1701 bridge-multicast-flood off
1704 iface vmbr3 inet static
1709 netmask 255.255.255.0
1710 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1713 #interconnect vxlan-vfr l3vni
1715 iface vxlan4000 inet manual
1717 vxlan-local-tunnelip 192.168.0.2
1719 bridge-arp-nd-suppress on
1720 bridge-unicast-flood off
1721 bridge-multicast-flood off
1725 iface vmbr4000 inet manual
1726 bridge_ports vxlan4000
1729 hwaddress 44:39:39:FF:40:91 #must be different on each node
1741 bgp router-id 192.168.0.2
1742 no bgp default ipv4-unicast
1744 neighbor 192.168.0.1 remote-as 1234
1745 neighbor 192.168.0.3 remote-as 1234
1747 address-family l2vpn evpn
1748 neighbor 192.168.0.1 activate
1749 neighbor 192.168.0.3 activate
1753 router bgp 1234 vrf vrf1
1755 bgp router-id 172.16.0.2
1757 address-family ipv4 unicast
1758 redistribute connected
1759 redistribute kernel !announce your default gw to all nodes
1762 address-family l2vpn evpn
1763 advertise ipv4 unicast
1779 iface eno1 inet manual
1783 iface vmbr0 inet static
1785 netmask 255.255.255.0
1793 netmask 255.255.255.0
1796 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1797 #if you have multiple external routers, you can use ecmp balancing
1798 #post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
1801 iface vxlan2 inet manual
1803 vxlan-local-tunnelip 192.168.0.3
1805 bridge-arp-nd-suppress on
1806 bridge-unicast-flood off
1807 bridge-multicast-flood off
1810 iface vmbr2 inet static
1815 netmask 255.255.255.0
1816 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1820 iface vxlan3 inet manual
1822 vxlan-local-tunnelip 192.168.0.3
1824 bridge-arp-nd-suppress on
1825 bridge-unicast-flood off
1826 bridge-multicast-flood off
1829 iface vmbr3 inet static
1834 netmask 255.255.255.0
1835 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1838 #interconnect vxlan-vfr l3vni
1840 iface vxlan4000 inet manual
1842 vxlan-local-tunnelip 192.168.0.3
1844 bridge-arp-nd-suppress on
1845 bridge-unicast-flood off
1846 bridge-multicast-flood off
1850 iface vmbr4000 inet manual
1851 bridge_ports vxlan4000
1854 hwaddress 44:39:39:FF:40:92 #must be different on each node
1866 bgp router-id 192.168.0.3
1867 no bgp default ipv4-unicast
1869 neighbor 192.168.0.1 remote-as 1234
1870 neighbor 192.168.0.2 remote-as 1234
1872 address-family l2vpn evpn
1873 neighbor 192.168.0.1 activate
1874 neighbor 192.168.0.2 activate
1878 router bgp 1234 vrf vrf1
1880 bgp router-id 172.16.0.3
1882 address-family ipv4 unicast
1883 redistribute connected
1884 redistribute kernel !announce your default gw to all nodes
1887 address-family l2vpn evpn
1888 advertise ipv4 unicast
1898 If your external router don't support ecmp to reach multiple proxmox nodes,
1899 you can setup an HA floating vip on proxmox nodes with vrrp
1901 I this example, we will setup an floating 172.16.0.10 ip on node1 and node2.
1902 Node1 is the primary and failover to node2 in case of failure.
1911 netmask 255.255.255.0
1914 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1917 vrrp-virtual-ip 172.16.0.10
1926 netmask 255.255.255.0
1929 post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
1932 vrrp-virtual-ip 172.16.0.10