]> git.proxmox.com Git - pve-docs.git/blame - pvesdn.adoc
storage: make description column wider
[pve-docs.git] / pvesdn.adoc
CommitLineData
1556b768
AD
1[[chapter_pvesdn]]
2Software Defined Network
3========================
4ifndef::manvolnum[]
5:pve-toplevel:
6endif::manvolnum[]
7
ee6e18c4
TL
8The **S**oftware **D**efined **N**etwork (SDN) feature allows one to create
9virtual networks (vnets) at datacenter level.
1556b768 10
ee6e18c4
TL
11WARNING: SDN is currently an **experimental feature** in {pve}. This
12Documentation for it is also still under development, ask on our
13xref:getting_help[mailing lists or in the forum] for questions and feedback.
14
15
4e652aba 16[[pvesdn_installation]]
ee6e18c4
TL
17Installation
18------------
19
20To enable the experimental SDN integration, you need to install
21"libpve-network-perl" package
1556b768
AD
22
23----
24apt install libpve-network-perl
25----
26
ee6e18c4
TL
27You need to have `ifupdown2` package installed on each node to manage local
28configuration reloading without reboot:
1556b768
AD
29
30----
31apt install ifupdown2
32----
33
ee6e18c4
TL
34Basic Overview
35--------------
36
37The {pve} SDN allows separation and fine grained control of Virtual Guests
38networks, using flexible software controlled configurations.
39
8ac25ffe
TL
40Separation consists of zones, a zone is it's own virtual separated network area.
41A 'VNet' is a type of a virtual network connected to a zone. Depending on which
42type or plugin the zone uses it can behave differently and offer different
43features, advantages or disadvantages.
44Normally a 'VNet' shows up as a common Linux bridge with either a VLAN or
45'VXLAN' tag, but some can also use layer 3 routing for control.
46The 'VNets' are deployed locally on each node, after configuration was committed
47from the cluster wide datacenter SDN administration interface.
ee6e18c4
TL
48
49
1556b768
AD
50Main configuration
51------------------
52
ee6e18c4
TL
53The configuration is done at datacenter (cluster-wide) level, it will be saved
54in configuration files located in the shared configuration file system:
55`/etc/pve/sdn`
1556b768 56
ee6e18c4 57On the web-interface SDN feature have 4 main sections for the configuration
1556b768 58
ee6e18c4 59* SDN: a overview of the SDN state
1556b768 60
ee6e18c4 61* Zones: Create and manage the virtual separated network Zones
1556b768 62
ee6e18c4 63* VNets: The per-node building block to provide a Zone for VMs
1556b768 64
8ac25ffe 65* Controller: For complex setups to control Layer 3 routing
1556b768
AD
66
67
4e652aba 68[[pvesdn_config_main_sdn]]
1556b768
AD
69SDN
70~~~
71
ee6e18c4
TL
72This is the main status panel. Here you can see deployment status of zones on
73different nodes.
1556b768 74
ee6e18c4
TL
75There is an 'Apply' button, to push and reload local configuration on all
76cluster nodes nodes.
1556b768
AD
77
78
4e652aba 79[[pvesdn_config_zone]]
1556b768
AD
80Zones
81~~~~~
82
ee6e18c4 83A zone will define a virtually separated network.
1556b768 84
ee6e18c4 85It can use different technologies for separation:
1556b768 86
ee6e18c4 87* VLAN: Virtual LANs are the classic method to sub-divide a LAN
1556b768 88
ee6e18c4 89* QinQ: stacked VLAN (formally known as `IEEE 802.1ad`)
1556b768 90
ee6e18c4 91* VXLAN: (layer2 vxlan)
1556b768 92
ee6e18c4 93* bgp-evpn: vxlan using layer3 border gateway protocol routing
1556b768
AD
94
95You can restrict a zone to specific nodes.
96
ee6e18c4
TL
97It's also possible to add permissions on a zone, to restrict user to use only a
98specific zone and only the VNets in that zone
1556b768 99
4e652aba 100[[pvesdn_config_vnet]]
ee6e18c4 101VNets
1556b768
AD
102~~~~~
103
ee6e18c4
TL
104A `VNet` is in its basic form just a Linux bridge that will be deployed locally
105on the node and used for Virtual Machine communication.
1556b768 106
ee6e18c4 107VNet properties are:
1556b768 108
ee6e18c4 109* ID: a 8 characters ID to name and identify a VNet
1556b768 110
ee6e18c4 111* Alias: Optional longer name, if the ID isn't enough
1556b768 112
ee6e18c4 113* Zone: The associated zone for this VNet
1556b768 114
ee6e18c4 115* Tag: The unique VLAN or VXLAN id
1556b768 116
9e773815
TL
117* VLAN Aware: Allow to add an extra VLAN tag in the virtual machine or
118 container vNIC configurations or allow the guest OS to manage the VLAN's tag.
119
ee6e18c4
TL
120* IPv4: an anycast IPv4 address, it will be configured on the underlying bridge
121 on each node part of the Zone. It's only useful for `bgp-evpn` routing.
1556b768 122
ee6e18c4
TL
123* IPv6: an anycast IPv6 address, it will be configured on the underlying bridge
124 on each node part of the Zone. It's only useful for `bgp-evpn` routing.
1556b768
AD
125
126
4e652aba 127[[pvesdn_config_controllers]]
1556b768
AD
128Controllers
129~~~~~~~~~~~
130
4e652aba
TL
131Some zone types need an external controller to manage the VNet control-plane.
132Currently this is only required for the `bgp-evpn` zone plugin.
1556b768
AD
133
134
4e652aba 135[[pvesdn_zone_plugins]]
1556b768
AD
136Zones Plugins
137-------------
1556b768 138
ee6e18c4
TL
139Common options
140~~~~~~~~~~~~~~
1556b768 141
4e652aba
TL
142nodes:: Deploy and allow to use a VNets configured for this Zone only on these
143nodes.
1556b768 144
4e652aba 145[[pvesdn_zone_plugin_vlan]]
ee6e18c4
TL
146VLAN Zones
147~~~~~~~~~~
1556b768 148
ee6e18c4
TL
149This is the simplest plugin, it will reuse an existing local Linux or OVS
150bridge, and manage VLANs on it.
151The benefit of using SDN module, is that you can create different zones with
152specific VNets VLAN tag, and restrict Virtual Machines to separated zones.
1556b768 153
ee6e18c4 154Specific `VLAN` configuration options:
1556b768 155
a91b3e7f 156bridge:: Reuse this local bridge or OVS switch, already
ee6e18c4 157configured on *each* local node.
1556b768 158
4e652aba 159[[pvesdn_zone_plugin_qinq]]
ee6e18c4
TL
160QinQ Zones
161~~~~~~~~~~
1556b768 162
ee6e18c4
TL
163QinQ is stacked VLAN. The first VLAN tag defined for the zone
164(so called 'service-vlan'), and the second VLAN tag defined for the vnets
1556b768 165
8ac25ffe 166NOTE: Your physical network switches must support stacked VLANs!
1556b768 167
ee6e18c4 168Specific QinQ configuration options:
1556b768 169
4e652aba
TL
170bridge:: A local VLAN-aware bridge already configured on each local node
171
172service vlan:: The main VLAN tag of this zone
173
ee6e18c4
TL
174mtu:: Due to the double stacking of tags you need 4 more bytes for QinQ VLANs.
175For example, you reduce the MTU to `1496` if you physical interface MTU is
176`1500`.
1556b768 177
4e652aba 178[[pvesdn_zone_plugin_vxlan]]
ee6e18c4
TL
179VXLAN Zones
180~~~~~~~~~~~
1556b768 181
ee6e18c4
TL
182The VXLAN plugin will establish a tunnel (named overlay) on top of an existing
183network (named underlay). It encapsulate layer 2 Ethernet frames within layer
1844 UDP datagrams, using `4789` as the default destination port. You can, for
185example, create a private IPv4 VXLAN network on top of public internet network
186nodes.
187This is a layer2 tunnel only, no routing between different VNets is possible.
1556b768 188
ee6e18c4 189Each VNet will have use specific VXLAN id from the range (1 - 16777215).
1556b768 190
ee6e18c4 191Specific EVPN configuration options:
1556b768 192
4e652aba
TL
193peers address list:: A list of IPs from all nodes through which you want to
194communicate. Can also be external nodes.
195
196mtu:: Because VXLAN encapsulation use 50bytes, the MTU need to be 50 bytes
197lower than the outgoing physical interface.
1556b768 198
4e652aba 199[[pvesdn_zone_plugin_evpn]]
ee6e18c4
TL
200EVPN Zones
201~~~~~~~~~~
1556b768 202
ee6e18c4 203This is the most complex of all supported plugins.
1556b768 204
ee6e18c4
TL
205BGP-EVPN allows one to create routable layer3 network. The VNet of EVPN can
206have an anycast IP-address and or MAC-address. The bridge IP is the same on each
207node, with this a virtual guest can use that address as gateway.
1556b768 208
ee6e18c4
TL
209Routing can work across VNets from different zones through a VRF (Virtual
210Routing and Forwarding) interface.
1556b768 211
ee6e18c4 212Specific EVPN configuration options:
1556b768 213
ee6e18c4
TL
214VRF VXLAN Tag:: This is a vxlan-id used for routing interconnect between vnets,
215it must be different than VXLAN-id of VNets
1556b768 216
ee6e18c4
TL
217controller:: an EVPN-controller need to be defined first (see controller
218plugins section)
1556b768 219
ee6e18c4
TL
220mtu:: because VXLAN encapsulation use 50bytes, the MTU need to be 50 bytes
221lower than the outgoing physical interface.
1556b768
AD
222
223
4e652aba 224[[pvesdn_controller_plugins]]
1556b768
AD
225Controllers Plugins
226-------------------
227
8ac25ffe
TL
228For complex zones requiring a control plane.
229
4e652aba 230[[pvesdn_controller_plugin_evpn]]
ee6e18c4
TL
231EVPN Controller
232~~~~~~~~~~~~~~~
1556b768 233
ee6e18c4
TL
234For `BGP-EVPN`, we need a controller to manage the control plane.
235The currently supported software controller is the "frr" router.
236You may need to install it on each node where you want to deploy EVPN zones.
1556b768
AD
237
238----
239apt install frr
240----
241
ee6e18c4 242Configuration options:
1556b768 243
4e652aba 244asn:: A unique BGP ASN number. It's highly recommended to use private ASN
ee6e18c4
TL
245number (64512 – 65534, 4200000000 – 4294967294), as else you could end up
246breaking, or get broken, by global routing by mistake.
1556b768 247
4e652aba 248peers:: An ip list of all nodes where you want to communicate (could be also
ee6e18c4 249external nodes or route reflectors servers)
1556b768 250
ee6e18c4
TL
251Additionally, if you want to route traffic from a SDN BGP-EVPN network to
252external world:
1556b768 253
ee6e18c4
TL
254gateway-nodes:: The proxmox nodes from where the bgp-evpn traffic will exit to
255external through the nodes default gateway
1556b768 256
4e652aba
TL
257gateway-external-peers:: If you want that gateway nodes don't use the default
258gateway, but, for example, sent traffic to external BGP routers, which handle
259(reverse) routing then dynamically you can use. For example
260`192.168.0.253,192.168.0.254'
1556b768
AD
261
262
4e652aba 263[[pvesdn_local_deployment_monitoring]]
ee6e18c4 264Local Deployment Monitoring
1556b768
AD
265---------------------------
266
ee6e18c4
TL
267After applying the configuration through the main SDN web-interface panel,
268the local network configuration is generated locally on each node in
269`/etc/network/interfaces.d/sdn`, and with ifupdown2 reloaded.
1556b768 270
40f4dfc2
AD
271You need to add
272----
273source /etc/network/interfaces.d/*
274----
275at the end of /etc/network/interfaces to have the sdn config included
276
ee6e18c4 277You can monitor the status of local zones and vnets through the main tree.
1556b768 278
1556b768 279
4e652aba 280[[pvesdn_setup_example_vlan]]
ee6e18c4
TL
281VLAN Setup Example
282------------------
1556b768 283
ee6e18c4
TL
284TIP: While we show plain configuration content here, almost everything should
285be configurable using the web-interface only.
286
287Node1: /etc/network/interfaces
1556b768 288
1556b768
AD
289----
290auto vmbr0
291iface vmbr0 inet manual
ee6e18c4
TL
292 bridge-ports eno1
293 bridge-stp off
294 bridge-fd 0
1556b768
AD
295 bridge-vlan-aware yes
296 bridge-vids 2-4094
297
298#management ip on vlan100
299auto vmbr0.100
300iface vmbr0.100 inet static
301 address 192.168.0.1/24
302
303source /etc/network/interfaces.d/*
1556b768
AD
304----
305
ee6e18c4 306Node2: /etc/network/interfaces
1556b768
AD
307
308----
309auto vmbr0
310iface vmbr0 inet manual
ee6e18c4
TL
311 bridge-ports eno1
312 bridge-stp off
313 bridge-fd 0
1556b768
AD
314 bridge-vlan-aware yes
315 bridge-vids 2-4094
316
317#management ip on vlan100
318auto vmbr0.100
319iface vmbr0.100 inet static
320 address 192.168.0.2/24
321
322source /etc/network/interfaces.d/*
323----
324
ee6e18c4 325Create a VLAN zone named `myvlanzone':
1556b768
AD
326
327----
ee6e18c4 328id: myvlanzone
1556b768
AD
329bridge: vmbr0
330----
331
ee6e18c4
TL
332Create a VNet named `myvnet1' with `vlan-id` `10' and the previously created
333`myvlanzone' as it's zone.
1556b768
AD
334
335----
336id: myvnet1
337zone: myvlanzone
338tag: 10
339----
340
ee6e18c4
TL
341Apply the configuration through the main SDN panel, to create VNets locally on
342each nodes.
1556b768 343
ee6e18c4 344Create a Debian-based Virtual Machine (vm1) on node1, with a vNIC on `myvnet1'.
1556b768 345
ee6e18c4 346Use the following network configuration for this VM:
1556b768
AD
347
348----
349auto eth0
350iface eth0 inet static
ee6e18c4 351 address 10.0.3.100/24
1556b768
AD
352----
353
ee6e18c4
TL
354Create a second Virtual Machine (vm2) on node2, with a vNIC on the same VNet
355`myvnet1' as vm1.
356
357Use the following network configuration for this VM:
358
1556b768
AD
359----
360auto eth0
361iface eth0 inet static
ee6e18c4 362 address 10.0.3.101/24
1556b768
AD
363----
364
ee6e18c4 365Then, you should be able to ping between both VMs over that network.
1556b768
AD
366
367
4e652aba
TL
368[[pvesdn_setup_example_qinq]]
369QinQ Setup Example
1556b768 370------------------
ee6e18c4
TL
371
372TIP: While we show plain configuration content here, almost everything should
373be configurable using the web-interface only.
374
375Node1: /etc/network/interfaces
376
1556b768
AD
377----
378auto vmbr0
379iface vmbr0 inet manual
ee6e18c4
TL
380 bridge-ports eno1
381 bridge-stp off
382 bridge-fd 0
1556b768
AD
383 bridge-vlan-aware yes
384 bridge-vids 2-4094
385
386#management ip on vlan100
387auto vmbr0.100
388iface vmbr0.100 inet static
389 address 192.168.0.1/24
390
391source /etc/network/interfaces.d/*
392----
393
ee6e18c4 394Node2: /etc/network/interfaces
1556b768
AD
395
396----
397auto vmbr0
398iface vmbr0 inet manual
ee6e18c4
TL
399 bridge-ports eno1
400 bridge-stp off
401 bridge-fd 0
1556b768
AD
402 bridge-vlan-aware yes
403 bridge-vids 2-4094
404
405#management ip on vlan100
406auto vmbr0.100
407iface vmbr0.100 inet static
408 address 192.168.0.2/24
409
410source /etc/network/interfaces.d/*
411----
412
ee6e18c4 413Create an QinQ zone named `qinqzone1' with service VLAN 20
1556b768
AD
414
415----
416id: qinqzone1
417bridge: vmbr0
418service vlan: 20
419----
420
ee6e18c4 421Create another QinQ zone named `qinqzone2' with service VLAN 30
1556b768
AD
422
423----
424id: qinqzone2
425bridge: vmbr0
426service vlan: 30
427----
428
ee6e18c4
TL
429Create a VNet named `myvnet1' with customer vlan-id 100 on the previously
430created `qinqzone1' zone.
1556b768
AD
431
432----
433id: myvnet1
434zone: qinqzone1
435tag: 100
436----
437
ee6e18c4
TL
438Create a `myvnet2' with customer VLAN-id 100 on the previously created
439`qinqzone2' zone.
1556b768
AD
440
441----
442id: myvnet2
99a0bbe4 443zone: qinqzone2
1556b768
AD
444tag: 100
445----
446
ee6e18c4
TL
447Apply the configuration on the main SDN web-interface panel to create VNets
448locally on each nodes.
1556b768 449
ee6e18c4 450Create a Debian-based Virtual Machine (vm1) on node1, with a vNIC on `myvnet1'.
1556b768 451
ee6e18c4 452Use the following network configuration for this VM:
1556b768
AD
453
454----
455auto eth0
456iface eth0 inet static
457 address 10.0.3.100/24
458----
459
ee6e18c4
TL
460Create a second Virtual Machine (vm2) on node2, with a vNIC on the same VNet
461`myvnet1' as vm1.
462
463Use the following network configuration for this VM:
464
1556b768
AD
465----
466auto eth0
467iface eth0 inet static
468 address 10.0.3.101/24
469----
470
ee6e18c4
TL
471Create a third Virtual Machine (vm3) on node1, with a vNIC on the other VNet
472`myvnet2'.
473
474Use the following network configuration for this VM:
1556b768
AD
475
476----
477auto eth0
478iface eth0 inet static
479 address 10.0.3.102/24
480----
481
ee6e18c4
TL
482Create another Virtual Machine (vm4) on node2, with a vNIC on the same VNet
483`myvnet2' as vm3.
484
485Use the following network configuration for this VM:
486
1556b768
AD
487----
488auto eth0
489iface eth0 inet static
490 address 10.0.3.103/24
491----
492
ee6e18c4
TL
493Then, you should be able to ping between the VMs 'vm1' and 'vm2', also
494between 'vm3' and 'vm4'. But, none of VMs 'vm1' or 'vm2' can ping the VMs 'vm3'
495or 'vm4', as they are on a different zone with different service-vlan.
1556b768 496
1556b768 497
4e652aba 498[[pvesdn_setup_example_vxlan]]
ee6e18c4 499VXLAN Setup Example
1556b768 500-------------------
ee6e18c4 501
4e652aba
TL
502TIP: While we show plain configuration content here, almost everything should
503be configurable using the web-interface only.
504
1556b768 505node1: /etc/network/interfaces
ee6e18c4 506
1556b768
AD
507----
508auto vmbr0
509iface vmbr0 inet static
510 address 192.168.0.1/24
511 gateway 192.168.0.254
ee6e18c4
TL
512 bridge-ports eno1
513 bridge-stp off
514 bridge-fd 0
1556b768
AD
515 mtu 1500
516
517source /etc/network/interfaces.d/*
518----
519
520node2: /etc/network/interfaces
521
522----
523auto vmbr0
524iface vmbr0 inet static
525 address 192.168.0.2/24
526 gateway 192.168.0.254
ee6e18c4
TL
527 bridge-ports eno1
528 bridge-stp off
529 bridge-fd 0
1556b768
AD
530 mtu 1500
531
532source /etc/network/interfaces.d/*
533----
534
535node3: /etc/network/interfaces
536
537----
538auto vmbr0
539iface vmbr0 inet static
540 address 192.168.0.3/24
541 gateway 192.168.0.254
ee6e18c4
TL
542 bridge-ports eno1
543 bridge-stp off
544 bridge-fd 0
1556b768
AD
545 mtu 1500
546
547source /etc/network/interfaces.d/*
548----
549
ee6e18c4
TL
550Create an VXLAN zone named `myvxlanzone', use the lower MTU to ensure the extra
55150 bytes of the VXLAN header can fit. Add all previously configured IPs from
552the nodes as peer address list.
1556b768
AD
553
554----
555id: myvxlanzone
556peers address list: 192.168.0.1,192.168.0.2,192.168.0.3
557mtu: 1450
558----
559
ee6e18c4
TL
560Create a VNet named `myvnet1' using the VXLAN zone `myvxlanzone' created
561previously.
1556b768
AD
562
563----
564id: myvnet1
565zone: myvxlanzone
566tag: 100000
567----
568
ee6e18c4
TL
569Apply the configuration on the main SDN web-interface panel to create VNets
570locally on each nodes.
1556b768 571
ee6e18c4 572Create a Debian-based Virtual Machine (vm1) on node1, with a vNIC on `myvnet1'.
1556b768 573
ee6e18c4 574Use the following network configuration for this VM, note the lower MTU here.
1556b768
AD
575
576----
577auto eth0
578iface eth0 inet static
579 address 10.0.3.100/24
580 mtu 1450
581----
582
ee6e18c4
TL
583Create a second Virtual Machine (vm2) on node3, with a vNIC on the same VNet
584`myvnet1' as vm1.
585
586Use the following network configuration for this VM:
587
1556b768
AD
588----
589auto eth0
590iface eth0 inet static
591 address 10.0.3.101/24
592 mtu 1450
593----
594
ee6e18c4 595Then, you should be able to ping between between 'vm1' and 'vm2'.
1556b768
AD
596
597
4e652aba
TL
598[[pvesdn_setup_example_evpn]]
599EVPN Setup Example
1556b768 600------------------
ee6e18c4 601
1556b768
AD
602node1: /etc/network/interfaces
603
604----
605auto vmbr0
606iface vmbr0 inet static
607 address 192.168.0.1/24
608 gateway 192.168.0.254
609 bridge-ports eno1
610 bridge-stp off
611 bridge-fd 0
612 mtu 1500
613
614source /etc/network/interfaces.d/*
615----
616
617node2: /etc/network/interfaces
618
619----
620auto vmbr0
621iface vmbr0 inet static
622 address 192.168.0.2/24
623 gateway 192.168.0.254
624 bridge-ports eno1
625 bridge-stp off
626 bridge-fd 0
627 mtu 1500
628
629source /etc/network/interfaces.d/*
630----
631
632node3: /etc/network/interfaces
633
634----
635auto vmbr0
636iface vmbr0 inet static
637 address 192.168.0.3/24
638 gateway 192.168.0.254
639 bridge-ports eno1
640 bridge-stp off
641 bridge-fd 0
642 mtu 1500
643
644source /etc/network/interfaces.d/*
645----
646
ee6e18c4
TL
647Create a EVPN controller, using a private ASN number and above node addreesses
648as peers. Define 'node1' and 'node2' as gateway nodes.
1556b768
AD
649
650----
651id: myevpnctl
652asn: 65000
653peers: 192.168.0.1,192.168.0.2,192.168.0.3
654gateway nodes: node1,node2
655----
656
ee6e18c4
TL
657Create an EVPN zone named `myevpnzone' using the previously created
658EVPN-controller.
1556b768
AD
659
660----
661id: myevpnzone
662vrf vxlan tag: 10000
663controller: myevpnctl
664mtu: 1450
665----
666
ee6e18c4
TL
667Create the first VNet named `myvnet1' using the EVPN zone `myevpnzone', a IPv4
668CIDR network and a random MAC address.
1556b768
AD
669
670----
671id: myvnet1
672zone: myevpnzone
673tag: 11000
674ipv4: 10.0.1.1/24
8ac25ffe 675mac address: 8C:73:B2:7B:F9:60 #random generate mac address
1556b768
AD
676----
677
ee6e18c4
TL
678Create the second VNet named `myvnet2' using the same EVPN zone `myevpnzone', a
679different IPv4 CIDR network and a different random MAC address than `myvnet1'.
1556b768
AD
680
681----
682id: myvnet2
683zone: myevpnzone
684tag: 12000
685ipv4: 10.0.2.1/24
686mac address: 8C:73:B2:7B:F9:61 #random mac, need to be different on each vnet
687----
688
ee6e18c4
TL
689Apply the configuration on the main SDN web-interface panel to create VNets
690locally on each nodes and generate the FRR config.
1556b768
AD
691
692
ee6e18c4 693Create a Debian-based Virtual Machine (vm1) on node1, with a vNIC on `myvnet1'.
1556b768 694
ee6e18c4 695Use the following network configuration for this VM:
1556b768
AD
696
697----
698auto eth0
699iface eth0 inet static
700 address 10.0.1.100/24
701 gateway 10.0.1.1 #this is the ip of the vnet1
702 mtu 1450
703----
704
ee6e18c4
TL
705Create a second Virtual Machine (vm2) on node2, with a vNIC on the other VNet
706`myvnet2'.
707
708Use the following network configuration for this VM:
709
1556b768
AD
710----
711auto eth0
712iface eth0 inet static
713 address 10.0.2.100/24
714 gateway 10.0.2.1 #this is the ip of the vnet2
715 mtu 1450
716----
717
718
719Then, you should be able to ping vm2 from vm1, and vm1 from vm2.
720
ee6e18c4
TL
721If you ping an external IP from 'vm2' on the non-gateway 'node3', the packet
722will go to the configured 'myvnet2' gateway, then will be routed to gateway
723nodes ('node1' or 'node2') and from there it will leave those nodes over the
724default gateway configured on node1 or node2.
1556b768 725
ee6e18c4
TL
726NOTE: Of course you need to add reverse routes for the '10.0.1.0/24' and
727'10.0.2.0/24' network to node1, node2 on your external gateway, so that the
728public network can reply back.
1556b768 729
ee6e18c4
TL
730If you have configured an external BGP router, the BGP-EVPN routes (10.0.1.0/24
731and 10.0.2.0/24 in this example), will be announced dynamically.