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

J'ai compris le concept de base de l'utilisation de /etc/network/interfaces , mais tout ce que je trouve en ligne sont des exemples, exemple après exemple, que je peux copyr-coller. Ce qui me manque, c'est une explication de la syntaxe, une explication de la signification des commands et de l'ordre des commands. Je veux comprendre, parce que la plupart du time le copyr-coller ne suffit pas, parce que je ne travaille pas sur une nouvelle machine, donc je ne peux pas écraser les configurations existantes parce que ça briserait beaucoup de choses. man interfaces n'a pas été très utile car il est écrit très compliqué.

Exemples de questions que j'ai: ce que signifie inet dans une ligne iface signifie exactement (je ne pouvais même pas le find dans la page de manual ), ce que signifie manual dans une ligne iface (beaucoup d'exemples l'utilisent, mais selon la page man il a besoin d'une configuration supplémentaire file alors, que les exemples ne présentent pas), quand dois-je les utiliser ou en avoir besoin? Quand pas? Quand je crée un pont, qu'arrive-t-il exactement aux interfaces?

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

Lier les options de couche (et généralement la première de chaque section d'interface):

auto interface – Démarrez l'interface (s) au démarrage. C'est pourquoi l'interface lo utilise ce type de configuration de binding.

allow-auto interface – Identique à auto

allow-hotplug interface – Démarre 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 "Informations connexes (hotplug) " pour plus d'informations.

Ces options sont à peu près des options de «couche 2», définissant les états de binding sur les interfaces et ne sont pas liées à «couche 3» (routing et adressage). A titre d'exemple, vous pourriez avoir une agrégation de liens où l'interface bond0 doit être up quel que soit l'état de la binding, et ses membres pourraient être en place après un événement d'état de binding:

 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 sortinggger 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 

Ainsi, 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 binding par câble.

Options liées à la couche 3 et plus:

Toutes les options ci-dessous sont un suffixe pour une interface définie ( iface <Interface_family> ). Fondamentalement, l' 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 au script wvdialconf . L' option tuple inet / inet6 + 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 une 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 mise en miroir de ports ou TAP de réseau ) ou qui ont un périphérique VLAN configuré sur elles.

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 vlan00 iface vlan00 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éera une interface VLAN appelée vlan100 qui traitera le numéro d'label 100 sur une trame Ethernet.

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

addressaddress IP pour une interface IP statique

netmask – masque de réseau

gateway – La passerelle par défaut d'un server. Soyez prudent d'utiliser un seul de ce type.

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

bridge_ports – Sur une interface de pont, définissez ses membres.

down – Utilisez la command suivante pour descendre l'interface au lieu de ifdown .

post-down – Actions sockets juste après que l'interface est en panne.

pre-up – Actions avant l'interface.

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

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 rom, ou générée par des algorithms

dns-nameservers – Adresses IP des servers de noms. Nécessite le package resolvconf . 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 file de configuration resolv.conf manuellement car il sera modifié dynamicment par les programmes du système.

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

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

MTU – Taille MTU. mtu 9000 = Cadre jumbo.

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

ip_rp_filter 1 – Filtre de path inverse activé. Utile dans les situations où vous avez 2 routes vers un hôte, ce qui forcera le package à revenir d'où il est venu (même interface, en utilisant ses routes). Exemple: vous êtes connecté sur votre LAN ( 192.168.1.1/24 ) et vous avez un server DLNA avec une interface sur votre LAN ( 192.168.1.10/24 ) et une autre interface sur dmz pour exécuter les tâches administratives ( 172.16.1.1/24 ) . Au cours d'une session ssh de votre ordinateur à dlna dmz ip, l'information doit revenir à vous, mais sera suspendue pour toujours car votre server dlna essaiera de livrer la réponse directement via son interface LAN. Avec rp_filter activé, il s'assurera que la connection reviendra d'où elle vient. Plus d'informations ici .

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

Vous pouvez find plus de bons exemples de configuration réseau ici .

Articles connexes :

Liens contenant des informations liées au file de configuration réseau /etc/network/interfaces :

  • 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 de l'interface?