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, à partir desquels 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 des commandes. Je veux comprendre, car la plupart du temps le copier-coller n'est pas suffisant, 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 une ligne iface
signifie exactement (je ne pouvais même pas le trouver dans la page de manuel), qu'est-ce que manual
dans une iface
line signifie exactement (de nombreux exemples l'utilisent, mais selon la page de manuel, il a alors besoin d'un fichier de configuration supplémentaire, que les exemples ne présentent pas), quand dois-je les utiliser ou en avoir besoin? Quand non? Quand je crée un pont, qu'arrive-t-il exactement aux interfaces?
Eh bien, séparons-le en morceaux, pour le rendre plus facile à comprendre /etc/network/interfaces
:
couche de liaison + options de type d'interface (généralement la première de chaque strophe d'interface et la famille d'adresses appelée + méthode par interfaces(5)
= pages de manuel):
auto interface
- Démarrez la ou les interfaces au démarrage. C'est pourquoi l'interface lo
utilise ce type de configuration de liaison.
allow-auto interface
- Identique à auto
allow-hotplug interface
- Démarrez 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 "détecté par udev hotplug api" ou "cable linked". Voir " Related Stuff (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
Ainsi, de cette façon, je crée un 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 pour une interface définie (iface <Interface_family>
). Fondamentalement, le iface eth0
Crée un strophe appelé 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
script. Le Tuple inet
/inet6
+ option
définira la version du protocole IP qui sera utilisée 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, des interfaces qui doivent fonctionner en mode promiscuous ( par exemple la mise en miroir de ports ou les TAP réseau), ou avoir un VLAN périphérique configuré sur eux. C'est un moyen de maintenir l'interface sans adresse IP.
inet dhcp
- Acquérir une 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 affichera eth0
Et créera une interface VLAN appelée vlan10
Qui traitera la balise 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 IP statique
netmask
- Masque de 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. 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 de pont, définissez ses membres.
down
- Utilisez la commande suivante pour descendre l'interface au lieu de ifdown
.
post-down
- Actions prises juste après la fermeture de l'interface.
pre-up
- Actions avant que l'interface ne soit active.
up
- Utilisez la commande suivante pour monter l'interface 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 trames jumbo pendant l'opération up
(au lieu d'utiliser l'option mtu
elle-même). Vous pouvez également appeler tout autre logiciel tel que up sleep 5; mii-tool -F 100baseTx-FD $IFACE
Pour forcer le duplex intégral à 100 Mbps 5 secondes après la mise en place de l'interface.
hwaddress ether 00:00:00:00:00:00
- Modifiez 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 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 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 fichier de configuration resolv.conf
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, créant le FQDN. Option domain
de /etc/resolv.conf
wpa-ssid
- Sans fil: définissez un sans fil WPA SSID.
mtu
- MTU taille. mtu 9000
= Jumbo Frame. Utile si votre boîtier Linux est connecté à des commutateurs prenant en charge des tailles MTU plus importantes. Peut casser certains protocoles (j'ai eu de mauvaises expériences avec les trames snmp et jumbo).
wpa-psk
- Sans fil: définissez un PSK codé 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 lan (192.168.1.1/24
) Et vous avez un serveur dlna avec une interface sur votre lan (192.168.1.10/24
) Et une autre interface sur dmz pour exécuter des tâches administratives (172.16.1.1/24
). Pendant une session ssh de votre ordinateur vers dlna dmz ip, les informations doivent vous revenir, mais elles se bloqueront pour toujours car votre serveur dlna essaiera de fournir la réponse directement via son interface lan. Avec rp_filter activé, il s'assurera que la connexion reviendra d'où elle vient. Plus d'informations ici .
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 .
Contenu connexe :
Liens contenant des informations relatives au fichier de configuration réseau /etc/network/interfaces
:
J'ajouterais également que:
U peut suivre ce qui se passe avec ifup en utilisant le drapeau --verbose.
Je ne suis pas sûr à 100% de cela, mais il semble que lorsque ifup est appelé, u exécutera tout à partir de/etc/network/interfaces avec up ... sauf indication contraire.
Je ne sais pas comment cela se rapporte à: la mise en réseau de services ...
Ce serait bien si quelqu'un montrait ce qui se passait après l'appel:
service networking restart
par rapport à ifup/ifdown.