Comment puis-je configurer le LNI de mon instance EC2 qui s'exécute sur un serveur Outposts ?

Lecture de 12 minute(s)
0

Je souhaite configurer l'interface réseau locale (LNI) dans le système d'exploitation (OS) de mon instance Amazon Elastic Compute Cloud (Amazon EC2). Mon instance EC2 s'exécute sur un serveur AWS Outposts.

Brève description

Lorsque vous configurez le réseau dans le système d'exploitation de votre instance de serveur Outposts, effectuez les tâches suivantes :

  • Attribuez une adresse IP au LNI.
  • Configurez le routage pour utiliser le LNI et la passerelle de votre réseau local.
  • Configurez le routage basé sur des règles pour utiliser la passerelle de votre réseau local pour le trafic provenant du LNI.

Pour configurer les interfaces réseau dans le système d'exploitation de votre instance, procédez comme suit :

  1. Identifiez et activez le périphérique réseau associé au LNI.
  2. (Facultatif) Attribuez une adresse IP statique à votre LNI.
  3. Configurez les itinéraires et les règles de votre interface.
  4. Rendez vos modifications persistantes.

Résolution

La résolution suivante s'applique à ces distributions de systèmes d'exploitation :

  • Linux : Amazon Linux 2, Amazon Linux 2023, Red Hat Enterprise Linux (RHEL) 8, RHEL9, SUSE 12, SUSE 15, Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04
  • Windows : Windows Servers 2008 R2 et versions ultérieures

Prérequis

Remarque : Au cours des étapes suivantes, remplacez ces exemples de valeurs par les vôtres :

  • eth1 avec le nom de l'appareil du LNI.
  • 192.168.59.11/24 avec l'adresse IP que vous souhaitez attribuer à votre LNI.
  • 192.168.59.255 avec l'adresse de diffusion de votre réseau local.
  • 192.168.59.254 avec la passerelle de votre réseau local.
  • 8.8.8.8/32 avec l'adresse IP externe ou le sous-réseau.
  • 8.8.8.8 avec votre adresse IP externe.
  • 255.255.255.255 avec votre MASQUE
  • ens6 avec le nom du périphérique du LNI
  • 0a:64:7a:00:4f:92 avec l'adresse MAC du LNI.
  • 192.168.59.11/24 avec l'adresse IP statique attribuée au LNI en notation CIDR.
  • 192.168.59.0/24 avec le CIDR de votre réseau local.
  • 24 avec le préfixe du réseau local.
  • Connexion filaire 1 avec le nom de la connexion.

Identifier et activer le périphérique réseau associé au LNI

Procédez comme suit :

  1. Ouvrez la console Amazon EC2.
  2. Dans le volet de navigation, sous Instances, sélectionnez Instances.
  3. Sélectionnez l'instance qui s'exécute sur le serveur Outposts.
  4. Dans la section Mise en réseau, sous Interfaces réseau, sélectionnez l'ID d'interface du LNI.
  5. Sous Adresses IP, notez l'adresse MAC du LNI.

Connectez-vous au système d'exploitation de votre instance, puis procédez comme suit :

Linux

  1. (Pour RHEL8 et RHEL9) Désactivez nm-cloud-setup.service et nm-cloud-setup.timer afin que le LNI ne soit pas automatiquement configuré avec l'adresse IP visible sur la console Amazon EC2 :

    $ sudo systemctl disable --now nm-cloud-setup.service nm-cloud-setup.timer
  2. Exécutez la commande suivante pour afficher l'adresse MAC du périphérique réseau :

    # sudo ip link show | egrep -o "(^[0-9]:.*:)|([0-9a-f]{2}:)+[0-9a-f]{2}"
  3. Notez le nom du périphérique réseau avec la même adresse MAC que le périphérique connecté à votre LNI. Si l'interface est inactive, exécutez la commande suivante pour l'activer :

    sudo ip link set dev eth1 up

Windows

  1. En tant qu'administrateur, exécutez la commande suivante pour afficher l'adresse MAC du périphérique réseau :

    getmac /v
  2. Trouvez le périphérique réseau avec la même adresse MAC que le périphérique connecté à votre LNI.

  3. Vérifiez les paramètres de l'adaptateur associé au LNI. Pour vérifier que l'adaptateur est allumé, sélectionnez Centre Réseau et partage, puis Modifier les paramètres de l'adaptateur.

(Facultatif) Attribuer une adresse IP statique à votre LNI

Remarque : Si vous utilisez le protocole DHCP sur votre réseau local, passez à la section Configurer les itinéraires et les règles de votre interface LNI. Si vous utilisez RHEL8 et RHEL9, passez à la section Rendre vos modifications persistantes.

Procédez comme suit :

Linux

Attribuez une adresse IP à l'interface réseau que vous avez identifiée comme le LNI :

# sudo ip addr add 192.168.59.11/24 brd 192.168.59.255 dev eth1

Windows

Consultez la section Comment attribuer une adresse IP statique à mon instance Windows Amazon EC2 ?

Remarque : La passerelle par défaut est attribuée à l'adaptateur réseau principal. Pour conserver la passerelle par défaut pour l'interface réseau élastique principale, ne spécifiez pas de passerelle par défaut pour le LNI. Définissez plutôt des itinéraires statiques pour les destinations qui spécifient votre passerelle réseau locale.

Configurer les itinéraires et les règles de votre interface LNI

Remarque : Si vous utilisez RHEL8 et RHEL9, passez à la section Rendre vos modifications persistantes.

Procédez comme suit :

Linux

  1. Ouvrez le système d'exploitation de votre instance.

  2. Créez un enregistrement dans /etc/iproute2/rt_tables pour le LNI de la table de routage avec l’ID 300 pour le LNI à utiliser :

    # echo "300 LNI" | sudo tee -a /etc/iproute2/rt_tables
  3. Créez une règle pour vérifier le trafic provenant du CIDR du réseau local sur lequel se trouve le LNI dans la table LNI :

    # sudo ip rule add from 192.168.59.0/24 table LNI

    Remarque : Si vous utilisez une adresse IP statique, définissez des règles basées sur une adresse IP unique et non sur l'ensemble du réseau local. Si vous attribuez plusieurs adresses IP au LNI et que vous souhaitez utiliser des règles différentes, définissez les règles en fonction d'adresses IP uniques.

  4. Créez un itinéraire par défaut dans la table LNI :

    # sudo ip route add default via 192.168.59.254 dev eth1 table LNI
  5. Créez un itinéraire pour le trafic sortant vers l'adresse IP externe ou le sous-réseau. Configurez le trafic sortant afin qu'il utilise la passerelle de votre réseau local pour passer par le LNI :

    # sudo ip route add 8.8.8.8/32 via 192.168.59.254 dev eth1

Windows

  1. Ouvrez le système d'exploitation de votre instance.

  2. En tant qu'administrateur, ouvrez une fenêtre d'invite de commande.

  3. Créez un itinéraire pour forcer le trafic sortant vers l'adresse IP externe ou le sous-réseau afin d'utiliser le réseau de votre passerelle locale :

    route ADD 8.8.8.8 MASK 255.255.255.255 192.168.59.254
  4. Répétez les étapes pour ajouter un itinéraire pour chaque adresse IP externe ou sous-réseau pouvant contacter le LNI. Configurez ces itinéraires avec la passerelle de votre réseau local et en fonction de la configuration de votre réseau local et des règles de pare-feu.

Rendre vos modifications persistantes

Remarque : Les exemples de configuration suivants sont basés sur les étapes des sections précédentes, y compris l'attribution d'une adresse IP statique au LNI. Remplacez les valeurs en fonction de vos configurations réseau et de votre cas d'utilisation.

Effectuez les étapes suivantes en fonction de la distribution de votre système d'exploitation :

Amazon Linux 2023

  1. Ouvrez le système d'exploitation de votre instance.

  2. Créez un nouveau fichier dans /etc/systemd/network/ avec vos exigences de configuration LNI :

    sudo vi /etc/systemd/network/20-ens6.network
    
    [Match]
    MACAddress=0a:64:7a:00:4f:92
    
    [Link]
    Description=LNI Outposts Server
    Name=ens6
    
    [Network]
    Address=192.168.59.11/24
    
    [RoutingPolicyRule]
    From=192.168.59.0/24
    Table=300
    
    [Route]
    Destination=8.8.8.8/32
    Gateway=192.168.59.254
    
    [Route]
    Destination=0.0.0.0/0
    Gateway=192.168.59.254
    Table=300
  3. Redémarrez le service star-system-networkd pour appliquer les configurations, puis testez la connectivité :

    sudo systemctl restart systemd-networkd
  4. Redémarrez le système pour vous assurer que les configurations sont correctement appliquées.

Amazon Linux 2

  1. Ouvrez le système d'exploitation de votre instance.

  2. Désactivez l'automatisation fournie par le package amazon-ec2-net-utils pour le périphérique réseau du LNI :

    sudo sed -i -e 's/^EC2SYNC=yes/EC2SYNC=no/' /etc/sysconfig/network-scripts/ifcfg-eth1
  3. Vérifiez le fichier ifcfg-<LNI_nom> et appliquez vos configurations :

    sudo vi  /etc/sysconfig/network-scripts/ifcfg-eth1
    
    DEVICE=eth1
    BOOTPROTO=static
    ONBOOT=yes
    TYPE=Ethernet
    USERCTL=yes
    HWADDR=0a:0b:6b:85:88:7c
    IPADDR="192.168.59.11"
    PREFIX=24
    EC2SYNC=no
  4. Dans votre fichier de configuration,/etc/sysconfig/network-scripts/route-<LNI_nom>, ajoutez les itinéraires à vos exigences de configuration LNI :

    sudo vi /etc/sysconfig/network-scripts/route-eth1
    
    0.0.0.0/0 via 192.168.59.254 dev eth1 table LNI
    8.8.8.8/32 via 192.168.59.254 dev eth1

    Remarque : Si le fichier n'existe pas, la commande précédente crée un fichier de configuration.

  5. Créez une règle dans le fichier de configuration /etc/sysconfig/network/ifroute-<LNI_nom> afin que le périphérique réseau puisse utiliser la table LNI provenant du CIDR :

    # sudo vi /etc/sysconfig/network-scripts/rule-eth1
    
    from 192.168.59.0/24 lookup LNI

    Remarque : Si vous utilisez une adresse IP statique, définissez des règles basées sur une adresse IP unique plutôt que sur l'ensemble du réseau local. Ou, si vous avez attribué plusieurs adresses IP au LNI et que vous souhaitez utiliser des règles différentes, définissez les règles en fonction d'adresses IP uniques.

  6. Redémarrez le système pour vous assurer que les configurations sont correctement appliquées.

RHEL 8 et RHEL 9

Remarque : Pour connaître les meilleures pratiques en matière de dénomination des périphériques réseau, consultez les sections Implémentation d'une dénomination d'interface réseau cohérente pour RHEL 8 et Implémentation d'une dénomination d'interface réseau cohérente pour RHEL 9 sur le site Web de Red Hat.

  1. Ouvrez le système d'exploitation de votre instance.

  2. Désactivez nm-cloud-setup.service et nm-cloud-setup.timer :

    $ sudo systemctl disable --now nm-cloud-setup.service nm-cloud-setup.timer
  3. Créez un enregistrement dans /etc/iproute2/rt_tables pour le LNI de la table de routage avec l’ID 300 pour le LNI à utiliser :

    # echo "300 LNI" | sudo tee -a /etc/iproute2/rt_tables
  4. Pour trouver le nom de connexion associé au périphérique LNI, exécutez la commande suivante :

    $ sudo nmcli connection show
  5. Pour changer le nom de connexion en LNI, exécutez la commande suivante :

    $ sudo nmcli connection modify "Wired connection 1" connection.id "LNI"
  6. Pour configurer votre connexion afin qu'elle se connecte automatiquement au démarrage et désactive la passerelle par défaut, exécutez la commande suivante :

    $ sudo nmcli connection modify "LNI" connection.autoconnect true ipv4.never-default yes
  7. Si vous utilisez une adresse IP statique, utilisez nmcli pour la définir définitivement pour l'interface LNI :

    $ sudo nmcli connection modify "LNI" ipv4.method manual ipv4.addresses 192.168.59.11/24
  8. Activer la connexion LNI :

    $ sudo nmcli conn up LNI
  9. Utilisez nmcli pour créer vos itinéraires permanents :

    $ sudo nmcli connection modify "LNI" ipv4.routes "0.0.0.0/0 192.168.59.254 table=300"
    
    $ sudo nmcli connection modify "LNI" +ipv4.routes "8.8.8.8/32 192.168.59.254"
  10. Créez une règle permanente dans le fichier de configuration. Configurez le périphérique réseau pour utiliser la table LNI pour le trafic provenant du CIDR.

  11. Redémarrez le système pour vous assurer que les configurations sont correctement appliquées.

SUSE12 et 15

  1. Ouvrez le système d'exploitation de votre instance.

  2. Passez en revue vos règles udev. Pour que le nom du périphérique LNI reste lié à son adresse MAC, vous devez baser les règles sur l'adresse MAC de votre LNI :

    sudo cat /etc/udev/rules.d/70-persistent-net.rules
    # This file was automatically generated by the /usr/lib/udev/write_net_rules
    # program, run by the persistent-net-generator.rules rules file.
    #
    # You can modify it, as long as you keep each rule on a single
    # line, and change only the value of the NAME= key.
    
    # hotplug net device
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="0a:0b:6b:85:88:7c", KERNEL=="eth*", NAME="eth1"
  3. En fonction de votre cas d'utilisation, configurez le LNI :

    # sudo vi /etc/sysconfig/network/ifcfg-eth1
    
    STARTMODE="auto"
    DEVICE="eth1"
    BOOTPROTO="static"
    IPADDR="192.168.59.11/24"
    CLOUD_NETCONFIG_MANAGE='no'
  4. Dans votre fichier de configuration, ajoutez les itinéraires à /etc/sysconfig/network/ifroute-<LNI_nom> à vos exigences de configuration LNI :

    # sudo vi /etc/sysconfig/network/ifroute-eth1
    
    0.0.0.0/0 192.168.59.254 - eth1 table LNI
    8.8.8.8/32 192.168.59.254 - eth1
  5. Créez une règle dans le fichier de configuration /etc/sysconfig/network/ifrule-<LNI_nom>. Configurez le périphérique réseau pour utiliser la table LNI pour le trafic provenant du CIDR.

    # sudo vi /etc/sysconfig/network/ifrule-eth1
    
    from 192.168.59.0/24 lookup LNI

    Remarque : Si vous utilisez une adresse IP statique, définissez des règles basées sur une adresse IP unique plutôt que sur l'ensemble du réseau local. Ou, si vous avez attribué plusieurs adresses IP au LNI et que vous souhaitez utiliser des règles différentes, définissez les règles en fonction d'adresses IP uniques.

  6. Redémarrez le système pour vous assurer que les configurations sont correctement appliquées.

Ubuntu 18.04, Ubuntu 20.04 et Ubuntu 22.04

  1. Ouvrez le système d'exploitation de votre instance.

  2. Créez un nouveau fichier dans /etc/netplan/ avec vos exigences de configuration LNI :

    sudo vi /etc/netplan/51-ens6.yaml
    
    network:
      version: 2
      renderer: networkd
      ethernets:
        ens6:
          dhcp4: false
          dhcp4-overrides:
             use-dns: false
             route-metric: 100
          dhcp6: false
          match:
             macaddress: 0a:0b:6b:85:88:7c
          set-name: ens6
          addresses: [192.168.59.11/24]
          routes:
           - to: 0.0.0.0/0
             via: 192.168.59.254
             table: 300
           - to: 8.8.8.8/32
             via: 192.168.59.254
          routing-policy:
            - from: 192.168.59.0/24
              table: 300
  3. Pour restreindre l'accès aux fichiers de configuration réseau dans /etc/netplan/, modifiez les autorisations de fichiers :

    $ sudo chmod 600 /etc/netplan/*.yaml
  4. Utilisez netplan pour appliquer les configurations, puis testez la connectivité :

    sudo netplan apply
  5. Redémarrez le système pour vous assurer que les configurations sont correctement appliquées.

Windows (n'importe quel)

  1. Ouvrez le système d'exploitation de votre instance.

  2. En tant qu'administrateur, ouvrez une fenêtre d'invite de commande.

  3. Créez un itinéraire permanent pour forcer le trafic sortant vers l'adresse IP ou le sous-réseau externe afin d'utiliser la passerelle de votre réseau local :

    route -p ADD 8.8.8.8 MASK 255.255.255.255 192.168.59.254
  4. Répétez les étapes pour ajouter un itinéraire permanent pour chaque adresse IP externe et chaque sous-réseau pouvant contacter le LNI. Configurez ces itinéraires avec la passerelle de votre réseau local et en fonction de la configuration de votre réseau local et des règles de pare-feu.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 10 mois