GNU/Linux >> Tutoriels Linux >  >> Linux

Bonne explication détaillée de la syntaxe /etc/network/interfaces ?

J'ai compris le concept très basique d'utilisation de /etc/network/interfaces , mais tout ce que je trouve en ligne, ce sont des exemples, exemple après exemple, que je peux copier-coller. Ce qui me manque, c'est une explication de la syntaxe, une explication de la signification des commandes et de l'ordre requis par les commandes. Je veux comprendre, parce que la plupart du temps copier-coller ne suffit pas, parce que je ne travaille pas sur une nouvelle machine, donc je ne peux pas simplement écraser les configurations existantes car cela casserait beaucoup de choses. man interfaces n'était pas très utile car il est écrit très compliqué.

Exemples de questions que j'ai :qu'est-ce que inet dans un iface ligne signifie exactement (je ne pouvais même pas le trouver dans la page de manuel), qu'est-ce que manual dans un iface ligne signifie exactement (de nombreux exemples l'utilisent, mais selon la page de manuel, il faut alors un fichier de configuration supplémentaire, que les exemples ne présentent pas), quand dois-je les utiliser ou en avoir besoin ? Quand pas ? Lorsque je crée un pont, qu'advient-il exactement des interfaces ?

Réponse acceptée :

Eh bien, séparons-le en morceaux, pour faciliter la compréhension de /etc/network/interfaces :

Options de couche de liaison + type d'interface (généralement la première de chaque strophe d'interface et appelée famille d'adresses + méthode par interfaces(5) pages de manuel):

auto interface – Démarrez la ou les interfaces au démarrage. C'est pourquoi le lo l'interface utilise ce type de configuration de liaison.

allow-auto interface – Identique à auto

allow-hotplug interface – Démarrer l'interface lorsqu'un événement « hotplug » est détecté. Dans le monde réel, ceci est utilisé dans les mêmes situations que auto mais la différence est qu'il attendra un événement comme "être détecté par udev hotplug api" ou "lié par câble". Voir "Trucs connexes (hotplug)" pour plus d'informations.

Ces options sont à peu près des options de "couche 2", définissant des états de liaison sur les interfaces, et ne sont pas liées à la "couche 3" (routage et adressage). Par exemple, vous pourriez avoir une agrégation de liens où l'interface bond0 doit être active quel que soit l'état du lien, et ses membres pourraient être actifs après un événement d'état de lien :

auto bond0
iface bond0 inet manual
        down ip link set $IFACE down
        post-down rmmod bonding
        pre-up modprobe bonding mode=4 miimon=200
        up ip link set $IFACE up mtu 9000
        up udevadm trigger

allow-hotplug eth0
iface eth0 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

allow-hotplug eth1
iface eth1 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

Donc, de cette façon, je crée une agrégation de liens et les interfaces y seront ajoutées et supprimées sur les états de liaison par câble.

Types d'interfaces les plus courants :

Toutes les options ci-dessous sont un suffixe à une interface définie (iface <Interface_family> ). Fondamentalement, le iface eth0 crée une strophe appelée eth0 sur un périphérique Ethernet. iface ppp0 devrait créer une interface point à point, et il pourrait avoir différentes façons d'acquérir des adresses comme inet wvdial qui transmettra la configuration de cette interface à wvdialconf scénario. Le tuple inet /inet6 + option définira la version du protocole IP qui sera utilisé et la façon dont cette adresse sera configurée (static , dhcp , scripts …).
Les manuels Debian en ligne vous donneront plus de détails à ce sujet.

Options sur les interfaces Ethernet :

inet static – Définit une adresse IP statique.

inet manual – Ne définit pas d'adresse IP pour une interface. Généralement utilisé par les interfaces qui sont des membres de pont ou d'agrégation, les interfaces qui doivent fonctionner en mode promiscuité (par exemple, la mise en miroir de ports ou les TAP réseau ), ou avoir un périphérique VLAN configuré dessus. C'est un moyen de maintenir l'interface sans adresse IP.

En relation:Le ghee remplace-t-il bien le saindoux?

inet dhcp – Acquérir l'adresse IP via le protocole DHCP.

inet6 static – Définit une adresse IPv6 statique.

Exemple :

# Eth0
auto eth0
iface eth0 inet manual
    pre-up modprobe 8021q
    pre-up ifconfig eth0 up
    post-down ifconfig eth0 down

# Vlan Interface
auto vlan10
iface vlan10 inet static
        address 10.0.0.1
        netmask 255.255.255.0
        gateway 10.0.0.254
        vlan-raw-device eth0
        ip_rp_filter 0

Cet exemple apportera eth0 et créez une interface VLAN appelée vlan10 qui traitera le tag numéro 10 sur une trame Ethernet.

Options communes à l'intérieur d'une strophe d'interface (couches 2 et 3) :

address – Adresse IP pour une interface configurée en IP statique

netmask – Masque réseau. Peut être omis si vous utilisez l'adresse cidr. Exemple :

iface eth1 inet static
    address 192.168.1.2/24
    gateway 192.168.1.1

gateway – La passerelle par défaut d'un serveur. Faites attention à n'utiliser qu'un seul de ce type.

vlan-raw-device – Sur une interface VLAN, définit son « père ».

bridge_ports – Sur une interface bridge, définir ses membres.

down – Utilisez la commande suivante pour désactiver l'interface au lieu de ifdown .

post-down - Actions prises juste après l'arrêt de l'interface.

pre-up – Actions avant que l'interface ne soit ouverte.

up – Utilisez la commande suivante pour mettre l'interface à jour au lieu de ifup . C'est à votre imagination d'utiliser n'importe quelle option disponible sur iputils . Par exemple, nous pourrions utiliser up ip link set $IFACE up mtu 9000 pour activer les trames jumbo pendant le up opération (au lieu d'utiliser le mtu option elle-même). Vous pouvez également appeler n'importe quel autre logiciel comme up sleep 5; mii-tool -F 100baseTx-FD $IFACE pour forcer 100Mbps Full duplex 5 secondes après que l'interface soit active.

hwaddress ether 00:00:00:00:00:00 – Changez l'adresse mac de l'interface au lieu d'utiliser celle qui est codée en dur dans la rom, ou générée par des algorithmes. Vous pouvez utiliser le mot-clé random pour obtenir une adresse mac aléatoire.

dns-nameservers – Adresses IP des serveurs de noms. Nécessite le resolvconf emballer. C'est un moyen de concentrer toutes les informations dans /etc/network/interfaces au lieu d'utiliser /etc/resolv.conf pour les configurations liées au DNS.
Ne modifiez pas le resolv.conf fichier de configuration manuellement
car il sera modifié dynamiquement par les programmes du système.

dns-search example.net – Ajoutez example.net en tant que domaine aux requêtes de l'hôte, en créant le FQDN. Option domain de /etc/resolv.conf

wpa-ssid – Sans fil :définissez un SSID WPA sans fil.

mtu – Taille MTU. mtu 9000 =Trame géante. Utile si votre machine Linux est connectée à des commutateurs prenant en charge des tailles de MTU plus importantes. Peut casser certains protocoles (j'ai eu de mauvaises expériences avec snmp et jumbo frames).

wpa-psk – Sans fil :définissez un PSK codé en hexadécimal pour votre SSID.

ip_rp_filter 1 – Filtre de chemin inverse activé. Utile dans les situations où vous avez 2 routes vers un hôte, et cela forcera le paquet à revenir d'où il vient (même interface, en utilisant ses routes). Exemple :Vous êtes connecté sur votre réseau local (192.168.1.1/24 ) et vous avez un serveur dlna avec une interface sur votre réseau local (192.168.1.10/24 ) et une autre interface sur dmz pour exécuter des tâches administratives (172.16.1.1/24 ). Lors d'une session ssh de votre ordinateur vers dlna dmz ip, les informations doivent vous revenir, mais resteront bloquées pour toujours car votre serveur dlna essaiera de fournir la réponse directement via son interface lan. Avec rp_filter activé, cela garantira que la connexion reviendra d'où elle vient. Plus d'informations ici.

En relation :Noyau Linux pour Nintendo Wii ?

Certaines de ces options ne sont pas facultatives. Debian vous avertira si vous mettez une adresse IP sur une interface sans masque de réseau, par exemple.

Vous pouvez trouver d'autres bons exemples de configuration réseau ici.

Éléments connexes :

Liens contenant des informations relatives à /etc/network/interfaces fichier de configuration réseau :

  • HOWTO :Sécurité sans fil – WPA1, WPA2, LEAP, etc.
  • Comment puis-je relier deux interfaces avec ip/iproute2 ?
  • Qu'est-ce qu'un événement hotplug depuis l'interface ?

Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Comment /etc/motd est-il mis à jour ?

  3. Convertir /etc/network/interfaces en Netplan ?

  4. CentOS / RHEL :Comment récupérer à partir d'un fichier /etc/passwd supprimé

  5. Présentation du fichier de configuration de l'interface réseau /etc/sysconfig/network-scripts/ifcfg-eth#

/etc/network/interfaces pour connecter Ubuntu à un réseau sans fil

La bonne façon de modifier les fichiers /etc/passwd et /etc/group sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Existe-t-il un moyen de désactiver le client DHCP dans Raspbian Linux sur un Rasperry Pi ?

Que fait la source /etc/network/interfaces.d/* en haut du fichier /etc/network/interfaces ?

Udev :renommer mon interface réseau