Benannte Sätze erstellen

In dieser Anleitung wird beschrieben, wie Sie einen benannten Satz in Cloud Router erstellen.

In den Beispielen auf dieser Seite werden zwei benannte Sätze unterschiedlicher Typen erstellt: ein Präfixsatz und ein Community-Satz.

Der Präfixsatz heißt allowed-prefixes und enthält die folgenden Elemente:

  • '192.168.0.0/16'
  • 'fd00::/8'
  • prefix('10.0.0.0/20').orLonger()

Der Community-Satz heißt allowed-communities und enthält die folgenden Elemente:

  • '64500:100'
  • '64500:200'

Sie können benannte Sätze für Cloud Router auf zwei Arten erstellen:

  • Benannten Satz mit der Google Cloud CLI erstellen
  • Mit Ihrem bevorzugten Texteditor eine JSON- oder YAML-Datei erstellen und dann mit der gcloud CLI den benannten Satz hochladen

Benannte Sätze erstellen

Die Namen der benannten Sätze müssen innerhalb des Routers eindeutig sein. In diesem Abschnitt werden benannte Sätze mit der gcloud CLI erstellt.

Präfixsatz erstellen

So erstellen Sie einen Präfixsatz:

  1. Führen Sie den folgenden Befehl aus, um einen leeren benannten Präfixsatz mit dem Namen allowed-prefixes zu erstellen:
    gcloud compute routers add-named-set ROUTER_NAME
        --set-name=allowed-prefixes
        --set-type=prefix
    
    Ersetzen Sie ROUTER_NAME durch den Namen des Cloud Router.
  2. Führen Sie für jedes Element den add-named-set-element Befehl aus, um die Elemente dem allowed-prefixes benannten Satz hinzuzufügen:

    gcloud compute routers add-named-set-element ROUTER_NAME
        --set-name=allowed-prefixes
        --new-set-element="'192.168.0.0/16'"

    gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="'fd00::/8'"

    gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="prefix('10.0.0.0/20').orLonger()"

Community-Satz erstellen

So erstellen Sie einen Community-Satz:

  1. Führen Sie den folgenden Befehl aus, um einen leeren Community-Satz mit dem Namen allowed-communities zu erstellen:
    gcloud compute routers add-named-set ROUTER_NAME
        --set-name=allowed-communities
        --set-type=community
    
  2. Führen Sie für jedes Element den add-named-set-element Befehl aus, um die Elemente dem allowed-communities benannten Satz hinzuzufügen:

    gcloud compute routers add-named-set-element ROUTER_NAME
        --set-name=allowed-communities
        --new-set-element="'64500:100'"

    gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-communities --new-set-element="'64500:200'"

Benannte Sätze hochladen

Verwenden Sie beim Erstellen einer JSON- oder YAML-Datei einen der folgenden benannten Satztypen:

  • NAMED_SET_TYPE_COMMUNITY
  • NAMED_SET_TYPE_PREFIX

Der upload-named-set Befehl überschreibt alle benannten Sätze mit demselben Namen.

  1. Erstellen Sie benannte Sätze mit den Namen allowed-prefixes und allowed-communities in Ihrem bevorzugten Texteditor. Sie können sie im YAML- oder JSON-Format erstellen.

    allowed-prefixes.yaml :

    # Prefix set
    resource:
      elements:
      - expression: "'192.168.0.0/16'"
      - expression: "'fd00::/8'"
      - expression: "prefix('10.0.0.0/20').orLonger()"
      name: allowed-prefixes
      type: NAMED_SET_TYPE_PREFIX
    

    allowed-communities.yaml :

    # Community set
    resource:
      elements:
      - expression: "'64500:100'"
      - expression: "'64500:200'"
      name: allowed-communities
      type: NAMED_SET_TYPE_COMMUNITY
    
  2. Führen Sie die folgenden Befehle aus, um die benannten Sätze hochzuladen:

    gcloud compute routers upload-named-set ROUTER_NAME
        --set-name=allowed-prefixes
        --file-name=allowed-prefixes.yaml
        --file-format=json
    

    gcloud compute routers upload-named-set ROUTER_NAME
        --set-name=allowed-communities
        --file-name=allowed-communities.json
        --file-format=json
    

    Ersetzen Sie ROUTER_NAME durch den Namen des Cloud Router.

Elemente von Präfixsätzen

Elemente von Präfixsätzen müssen entweder ein Präfixliteral (String) oder ein Präfixbereichsobjekt sein. Dabei handelt es sich um dieselben Präfixliterale und Präfixbereiche, die für die Verwendung in Routenrichtlinien definiert sind.

In der folgenden Tabelle werden die einzelnen Elemente eines Präfixsatzes beschrieben.

Ausdruck Beschreibung

'192.168.0.0/24'

Präfixliteral.

prefix('192.168.0.0/24')

Präfixübereinstimmungsobjekt.

p.longer()

Präfixbereichsobjekt, das eine Kopie von p ist. Das Ende des Bereichs ist auf das maximale Familienwert für das Eingabepräfix (/32 oder /128) und der Anfang des Bereichs auf die Länge des Eingabepräfixes plus eins festgelegt.

p.orLonger()

Präfixbereichsobjekt, das eine Kopie von p ist. Das Ende des Bereichs ist auf das maximale Familienwert für das Eingabepräfix (/32 oder /128) festgelegt.

p.lengthRange(20, 30)

Präfixbereichsobjekt, das eine Kopie von p ist. Der Anfang des Bereichs ist auf /20 und das Ende auf /30 festgelegt.

p.upTo(30)

Präfixbereichsobjekt, das eine Kopie von p ist. Das Ende des Bereichs ist auf /30 des Eingabepräfixes festgelegt.

Elemente von Community-Sätzen

Elemente von Community-Sätzen müssen Community-Strings im für Menschen lesbaren Format A:B sein.

In der folgenden Tabelle werden die Elemente eines Community-Satzes beschrieben.

Ausdruck Beschreibung

'A:B'

Community-Literal.

Nächste Schritte