Single LAN edge deployment

The following page explains how to set up an edge node deployment for connecting to a remote node or node group.

Edge nodes generally correspond to sites that provide network service to clients, and are typically located on the periphery of the network. See the peer documentation for more information on the distinction between core nodes and edge nodes.

Connecting to remote core node

graph {
    rankdir=TB;
    newrank=true;
    fontname="Arial";
    splines=ortho;
    bgcolor="transparent";
    nodesep=0.25;
    ranksep=0.25;

    node [
        shape=box,
        style="filled,rounded",
        fontname="Arial",
        fontsize=12
    ];

    edge [
        penwidth=1.5,
        fontname="Arial",
        fontsize=10
    ];

    lan [label=<LAN: <font color="#333333">198.51.100.0/24</font><br align="left"/>LAN: <font color="#333333">2001:db8::/64</font><br align="left"/>>, fillcolor="#FFFFFF", color="#666666"];

    subgraph cluster_dc0 {
        label="Node: dc0";
        labelloc="t";
        style="filled,rounded";
        fillcolor="#E9F7EF";
        color="#1E8449";

        dc0_eth0 [
            label=<<b>Interface: eth0</b><br align="left"/>    Aliases: <font color="#333333">public</font><br align="left"/>    VRF: <font color="#333333">Global</font><br align="left"/>    IPv4: <font color="#333333">203.0.113.1/24</font><br align="left"/>    IPv6: <font color="#333333">2001:db8:1::1/64</font><br align="left"/>    Keep on shutdown: <font color="#333333">✔ (IPv4/IPv6)</font><br align="left"/>>,
            fillcolor="#FFFFFF",
            color="#666666"
        ];

        dc0_peer [
            label=<<b>Peer: Default</b><br align="left"/>    Mode: <font color="#D4A90D">Listen</font><br align="left"/>>,
            shape=box,
            fillcolor="#FEF9E7",
            color="#F1C40F"
        ];

        dc0_eth0 -- dc0_peer;
    }

    subgraph cluster_cpe0 {
        label="Node: cpe0";
        labelloc="b";
        style="filled,rounded";
        fillcolor="#E9F7EF";
        color="#1E8449";

        cpe0_route1 [
            label=<<b>Route: 0.0.0.0/0</b><br align="left"/>    VRF: <font color="#333333">Global</font><br align="left"/>    Nexthop: <font color="#333333">Default</font><br align="left"/>    Preference: <font color="#333333">500</font><br align="left"/>>,
            style="filled",
            fillcolor="#FFFFFF",
            color="#666666"
        ];

        cpe0_route2 [
            label=<<b>Route: ::/0</b><br align="left"/>    VRF: <font color="#333333">Global</font><br align="left"/>    Nexthop: <font color="#333333">Default</font><br align="left"/>    Preference: <font color="#333333">500</font><br align="left"/>>,
            style="filled",
            fillcolor="#FFFFFF",
            color="#666666"
        ];

        cpe0_nexthop [
            label=<<b>Nexthop: Peer</b><br align="left"/>    Peer: <font color="#333333">Default</font><br align="left"/>>
            style="filled",
            fillcolor="#FFFFFF",
            color="#666666"
        ];

        cpe0_peer [
            label=<<b>Peer: Default</b><br align="left"/>    Mode: <font color="#D4A90D">Connect</font><br align="left"/>    Interface: <font color="#D4A90D">eth1</font><br align="left"/>    Interface: <font color="#D4A90D">eth2</font><br align="left"/>    Remote (node): <font color="#D4A90D">dc0</font><br align="left"/>    Preference: <font color="#D4A90D">500</font><br align="left"/>>,
            fillcolor="#FEF9E7",
            color="#F1C40F"
        ];

        cpe0_eth0 [
            label=<<b>Interface: eth0</b><br align="left"/>    Aliases: <font color="#333333">lan0</font><br align="left"/>    VRF: <font color="#333333">Global</font><br align="left"/>    IPv4: <font color="#333333">198.51.100.1/24</font><br align="left"/>    IPv6: <font color="#333333">2001:db8::1/64</font><br align="left"/>    Keep on shutdown: <font color="#333333">✗</font><br align="left"/>>,
            fillcolor="#FFFFFF",
            color="#666666"
        ];

        cpe0_eth1 [
            label=<<b>Interface: eth1</b><br align="left"/>    Aliases: <font color="#484D4D">wan0</font><br align="left"/>    VRF: <font color="#484D4D">No VRF</font><br align="left"/>    IPv4: <font color="#484D4D">DHCP</font><br align="left"/>    Keep on shutdown: <font color="#333333">✔ (IPv4)</font><br align="left"/>>
        ];

        cpe0_eth2 [
            label=<<b>Interface: eth2</b><br align="left"/>    Aliases: <font color="#484D4D">wan1</font><br align="left"/>    VRF: <font color="#484D4D">No VRF</font><br align="left"/>    IPv4: <font color="#484D4D">DHCP</font><br align="left"/>    Keep on shutdown: <font color="#333333">✗</font><br align="left"/>>
        ];

        cpe0_peer -- cpe0_eth1 [weight=100];
        cpe0_peer -- cpe0_eth2 [weight=100];
        cpe0_route1 -- cpe0_route2 -- cpe0_eth0 [style=invis, weight=100];
        cpe0_route1 -- cpe0_eth0 [constraint=false];
        cpe0_route2 -- cpe0_eth0 [constraint=false];
        cpe0_route1 -- cpe0_nexthop [constraint=false];
        cpe0_route2 -- cpe0_nexthop [constraint=false];
        cpe0_nexthop -- cpe0_peer [constraint=false];
    }

    dc0_peer -- cpe0_peer [color="#F1C40F"];
    cpe0_eth0 -- lan;

    { rank=same; cpe0_route1 -- cpe0_route2 -- cpe0_nexthop -- cpe0_peer [style=invis] }
    { rank=same; cpe0_eth0 -- cpe0_eth1 -- cpe0_eth2 [style=invis] }
}

Instructions

  1. Follow the instructions to set up a core node.

  2. Create a new node record on the management server with the name cpe0.

  3. Add the following interfaces to the newly created node:

    • Name: eth0

      • Aliases: lan0

      • VRF: Global

      • IPv4: 198.51.100.1/24

      • IPv6: 2001:db8::1/64

      • Keep on shutdown disabled

    • Name: eth1

      • Aliases: wan0

      • VRF: No VRF

      • IPv4: DHCP

      • Keep on shutdown enabled

    • Name: eth2

      • Aliases: wan1

      • VRF: No VRF

      • IPv4: DHCP

      • Keep on shutdown disabled

  4. Next, add a peer to the node:

    • Name: Default

      • Interface: eth1 (Preference: 500)

      • Interface: eth2 (Preference: 500)

      • Remote (node): dc0 (Preference: 500)

  5. Then, add a nexthop to the node:

    • Type: Peer

      • Peer: Default

  6. Finally, add two routes to the node:

    • Destination: 0.0.0.0/0

      • VRF: Global

      • Nexthop: Default (Preference: 500)

    • Destination: ::/0

      • VRF: Global

      • Nexthop: Default (Preference: 500)

  7. You now have a complete edge node configuration forming a peer connection with a remote node.

Connecting to remote core node group

graph {
    rankdir=TB;
    newrank=true;
    fontname="Arial";
    splines=ortho;
    bgcolor="transparent";
    nodesep=0.25;
    ranksep=0.25;

    node [
        shape=box,
        style="filled,rounded",
        fontname="Arial",
        fontsize=12
    ];

    edge [
        penwidth=1.5,
        fontname="Arial",
        fontsize=10
    ];

    lan [label=<LAN: <font color="#333333">198.51.100.0/24</font><br align="left"/>LAN: <font color="#333333">2001:db8::/64</font><br align="left"/>>, fillcolor="#FFFFFF", color="#666666"];

    subgraph cluster_west {
        label="Group: West";
        labelloc="t";
        style="filled,rounded";
        fillcolor="#EAECEE";
        color="#666666";

        subgraph cluster_dc1 {
            label="Node: dc1";
            labelloc="t";
            style="filled,rounded";
            fillcolor="#E9F7EF";
            color="#1E8449";

            dc1_eth0 [
                label=<<b>Interface: eth0</b><br align="left"/>    Aliases: <font color="#333333">public</font><br align="left"/>    VRF: <font color="#333333">Global</font><br align="left"/>    IPv4: <font color="#333333">203.0.113.2/24</font><br align="left"/>    IPv6: <font color="#333333">2001:db8:1::2/64</font><br align="left"/>    Keep on shutdown: <font color="#333333">✔ (IPv4/IPv6)</font><br align="left"/>>,
                fillcolor="#FFFFFF",
                color="#666666"
            ];
        }

        subgraph cluster_dc0 {
            label="Node: dc0";
            labelloc="t";
            style="filled,rounded";
            fillcolor="#E9F7EF";
            color="#1E8449";

            dc0_eth0 [
                label=<<b>Interface: eth0</b><br align="left"/>    Aliases: <font color="#333333">public</font><br align="left"/>    VRF: <font color="#333333">Global</font><br align="left"/>    IPv4: <font color="#333333">203.0.113.1/24</font><br align="left"/>    IPv6: <font color="#333333">2001:db8:1::1/64</font><br align="left"/>    Keep on shutdown: <font color="#333333">✔ (IPv4/IPv6)</font><br align="left"/>>,
                fillcolor="#FFFFFF",
                color="#666666"
            ];
        }

        west_peer [
            label=<<b>Peer: Default</b><br align="left"/>    Mode: <font color="#D4A90D">Listen</font><br align="left"/>>,
            fillcolor="#FEF9E7",
            color="#F1C40F"
        ];

        dc1_eth0 -- west_peer;
        dc0_eth0 -- west_peer;
    }

    subgraph cluster_cpe0 {
        label="Node: cpe0";
        labelloc="b";
        style="filled,rounded";
        fillcolor="#E9F7EF";
        color="#1E8449";

        cpe0_route1 [
            label=<<b>Route: 0.0.0.0/0</b><br align="left"/>    VRF: <font color="#333333">Global</font><br align="left"/>    Nexthop: <font color="#333333">Default</font><br align="left"/>    Preference: <font color="#333333">500</font><br align="left"/>>,
            style="filled",
            fillcolor="#FFFFFF",
            color="#666666"
        ];

        cpe0_route2 [
            label=<<b>Route: ::/0</b><br align="left"/>    VRF: <font color="#333333">Global</font><br align="left"/>    Nexthop: <font color="#333333">Default</font><br align="left"/>    Preference: <font color="#333333">500</font><br align="left"/>>,
            style="filled",
            fillcolor="#FFFFFF",
            color="#666666"
        ];

        cpe0_nexthop [
            label=<<b>Nexthop: Peer</b><br align="left"/>    Peer: <font color="#333333">Default</font><br align="left"/>>
            style="filled",
            fillcolor="#FFFFFF",
            color="#666666"
        ];

        cpe0_peer [
            label=<<b>Peer: Default</b><br align="left"/>    Mode: <font color="#D4A90D">Connect</font><br align="left"/>    Interface: <font color="#D4A90D">eth1</font><br align="left"/>    Interface: <font color="#D4A90D">eth2</font><br align="left"/>    Remote (group): <font color="#D4A90D">West</font><br align="left"/>    Preference: <font color="#D4A90D">500</font><br align="left"/>>,
            fillcolor="#FEF9E7",
            color="#F1C40F"
        ];

        cpe0_eth0 [
            label=<<b>Interface: eth0</b><br align="left"/>    Aliases: <font color="#333333">lan0</font><br align="left"/>    VRF: <font color="#333333">Global</font><br align="left"/>    IPv4: <font color="#333333">198.51.100.1/24</font><br align="left"/>    IPv6: <font color="#333333">2001:db8::1/64</font><br align="left"/>    Keep on shutdown: <font color="#333333">✗</font><br align="left"/>>,
            fillcolor="#FFFFFF",
            color="#666666"
        ];

        cpe0_eth1 [
            label=<<b>Interface: eth1</b><br align="left"/>    Aliases: <font color="#484D4D">wan0</font><br align="left"/>    VRF: <font color="#484D4D">No VRF</font><br align="left"/>    IPv4: <font color="#484D4D">DHCP</font><br align="left"/>    Keep on shutdown: <font color="#333333">✔ (IPv4)</font><br align="left"/>>
        ];

        cpe0_eth2 [
            label=<<b>Interface: eth2</b><br align="left"/>    Aliases: <font color="#484D4D">wan1</font><br align="left"/>    VRF: <font color="#484D4D">No VRF</font><br align="left"/>    IPv4: <font color="#484D4D">DHCP</font><br align="left"/>    Keep on shutdown: <font color="#333333">✗</font><br align="left"/>>
        ];

        cpe0_peer -- cpe0_eth1 [weight=100];
        cpe0_peer -- cpe0_eth2 [weight=100];
        cpe0_route1 -- cpe0_route2 -- cpe0_eth0 [style=invis, weight=100];
        cpe0_route1 -- cpe0_eth0 [constraint=false];
        cpe0_route2 -- cpe0_eth0 [constraint=false];
        cpe0_route1 -- cpe0_nexthop [constraint=false];
        cpe0_route2 -- cpe0_nexthop [constraint=false];
        cpe0_nexthop -- cpe0_peer [constraint=false];
    }

    west_peer -- cpe0_peer [color="#F1C40F"];
    cpe0_eth0 -- lan;

    { rank=same; cpe0_route1 -- cpe0_route2 -- cpe0_nexthop -- cpe0_peer [style=invis] }
    { rank=same; cpe0_eth0 -- cpe0_eth1 -- cpe0_eth2 [style=invis] }
}

Instructions

  1. Follow the instructions to set up a core node group.

  2. Next, follow the instructions for connecting to a remote core node, but when configuring the peer, set the remote target to the node group you created.