==================================================
Core node private VRF setup
==================================================

The following page explains how to set up a core node with a separate interface
for a private VRF.

An interface with a private VRF on it allows traffic for a given VRF to be
routed through it. More information on VRFs can be found in our `routing and
VRFs documentation <../routing-and-vrfs/index.html>`__.

.. graphviz::

    graph {
        rankdir=TB;
        newrank=true;
        splines=ortho;
        ranksep=0;
        bgcolor="transparent";

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

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

            dc0_eth1 [
                label=<<b>Interface: eth1</b><br align="left"/>    Aliases: <font color="#C0392B">private</font><br align="left"/>    VRF: <font color="#C0392B">Red</font><br align="left"/>    IPv4: <font color="#C0392B">10.0.1.1/24</font><br align="left"/>    IPv6: <font color="#C0392B">fd00:1::1/64</font><br align="left"/>    Keep on shutdown: <font color="#C0392B">✗</font><br align="left"/>>,
                fillcolor="#FFE0E0",
                color="#C0392B"
            ];

            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"
            ];
        }

        { rank=same; dc0_eth0 -- dc0_eth1 [style=invis] }
    }

|

Instructions
============

#. `Create a new node record <../nodes/managing-node-records.html>`__ on the
   management server with the name ``dc0``.

#. `Add an interface <../interfaces-and-addressing/managing-interfaces-and-addresses.html>`__
   to the node with the following configuration:

   - Name: ``eth0``

      - Aliases: ``public``
      - VRF: ``Global``
      - IPv4: ``203.0.113.1/24``
      - IPv6: ``2001:db8:1::1/64``
      - Keep on shutdown enabled on both addresses

#. Add another interface to the node with the following configuration:

   - Name: ``eth1``

      - Aliases: ``private``
      - VRF: ``Red``
      - IPv4: ``10.0.1.1/24``
      - IPv6: ``fd00:1::1/64``
      - Keep on shutdown disabled

#. You now have a valid core node configuration with a separate interface for a
   private VRF, ready to accept peer link connections from other nodes and
   route traffic for either the global or private VRF.
