web-dev-qa-db-fra.com

Les adresses DHCP et IP statique simultanément sur une seule interface

Nous pouvons utiliser plusieurs adresses IP pour une seule interface sous Linux (eg. eth0:0, eth0:1). Mais pouvons-nous utiliser DHCP et une adresse IP statique en même temps? eth0:1 devrait avoir une adresse IP statique et eth0:0 devrait être configuré avec DHCP.

Comment pouvons-nous accomplir les deux?

15
shantanu

Oui, cela peut être fait. Cependant, vous utiliseriez généralement eth0 et eth0: 0 à la place de eth0: 0 et eth0: 1. Vous pouvez configurer votre fichier/etc/network/interfaces comme ceci:

auto lo eth0 eth0:0
iface lo inet loopback

iface eth0 inet dhcp

iface eth0:0 inet static
    address ...
    netmask ...

Vous ne souhaiterez probablement pas définir une passerelle sur l'interface eth0: 0 car cela pourrait entrer en conflit avec les paramètres de passerelle que vous obtenez via DHCP. Si vous entrez des paramètres manuels dans/etc/network/interfaces, vous voudrez vous assurer que network-manager n'essaye pas de gérer vos paramètres. C'est couvert ici .

11
jkt123

Après une recherche intensive du même problème, j'ai mis au point une solution permettant à Network Manager de gérer vos connexions. Commencez par créer une connexion DHCP normalement dans Network Manager à l'aide de Modifier les connexions> Ajouter. Cela créera un fichier situé dans/etc/NetworkManager/system-connections /. Ouvrez ce fichier dans votre éditeur de texte avec les autorisations de super utilisateur. Exemple: Sudo nano/etc/NetworkManager/connexions système/DHCPEthernet

Le code ressemblera à ceci:

[802-3-ethernet]
duplex=full
mac-address=00:0E:C6:88:31:43

[connection]
id=DHCPEthernet
uuid=26af83f1-c48c-4454-9038-bbb4bec3e3a3
type=802-3-ethernet
timestamp=1405008541

[ipv6]
method=auto

[ipv4]
method=auto

Ajoutez une ligne dans la section ipv4 pour l’adresse IP statique que vous souhaitez ajouter. J'utilise 192.168.10.1 sans passerelle pour cet exemple

address1=192.168.10.1/24,0.0.0.0

Enregistrez le fichier et utilisez Network Manager pour vous déconnecter, puis vous reconnecter au réseau. Le ping confirmera que les deux adresses IP fonctionnent correctement. La sortie de ip addr confirme le succès.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope Host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope Host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 14:10:9f:d7:22:0b brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.71/24 brd 172.20.1.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::1610:9fff:fed7:220b/64 scope link 
       valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0e:c6:88:31:43 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.60/24 brd 172.20.1.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet 192.168.10.1/24 brd 192.168.10.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::20e:c6ff:fe88:3143/64 scope link 
       valid_lft forever preferred_lft forever
8
Andrew Vian

J'ai vérifié un peu et découvert que, de nos jours, il est possible de créer cette configuration à l'aide de l'outil nmcli. En fait, cela permet un contrôle complet de NetworkManager. Les pages de manuel de nmcli sont très complètes et assez compréhensibles. Voir man nmcli and man nm-settings.

Pour configurer la configuration dans cette question, le moyen le plus simple consiste à modifier votre profil de connexion actuel. Recherchez le nom du profil dans votre outil graphique NetworkManager et modifiez-le à l'aide de l'éditeur de la CLI (ici, le nom est Ethernet connection):

 $ Sudo nmcli c edit 'Connexion Ethernet' 
 
 === | Éditeur de connexion interactive nmcli | === 
 
 Modification de la connexion "802-3-ethernet" existante: "Connexion Ethernet 1" 
 
 Tapez "help" ou " ? ' pour les commandes disponibles. 
 Tapez 'decrire [.]' pour une description détaillée de la propriété. 
 
 Vous pouvez modifier les paramètres suivants: connexion, 802-3-ethernet (ethernet), 802 -1x, dcb, ipv4, ipv6 
 Nmcli> aller à ipv4
 Vous pouvez éditer les propriétés suivantes: méthode, dns, recherche-dns, options-dns, priorité-dns, adresses, passerelle, routes, métrique de route, routes ignorées-auto, ignor-auto-dns, nomhôte-dhcp, nom-hôte-envoi-dhcp, jamais-default, peut-échouer, délai-papa, délai-dhcp, id-client-dhcp, dhcp-fqdn 
 nmcli ipv4> set ipv4.addresses {votre_adresse_ici}/{votre_refrefixe_réseau_ici}
 Voulez-vous également définir "ipv4.method" sur "manuel"? [Oui]: non
 nmcli ipv4> enregistrer
 Connexion 'Connexion Ethernet' (87fa8e41-7fe3-435a-a2f2-29a9c8084d2d) mise à jour avec succès. 
 Nmcli ipv4> quitter

Les parties en caractères gras sont vos entrées, remplacez les éléments entre accolades par vos paramètres. Répondre à no à la question sur ipv4.method conserve la configuration DHCP. Ensuite, vous devez désactiver et réactiver la configuration, ce qui peut être fait à l'aide de GUI-tools ou nmcli.

Si vous le souhaitez, il est également possible de créer une nouvelle connexion à partir de la ligne de commande:

Sudo nmcli -p connection add type ethernet ifname {your_interface_name} con-name MyConnection -- ipv4.addresses {your_address}/{your_prefix_length} ipv4.method auto

Encore une fois, remplacez les éléments entre accolades par vos paramètres.

Enfin, si vous souhaitez toujours éditer les fichiers de configuration, n'oubliez pas de recharger le fichier après l'édition:

Sudo nmcli connection reload

Notez que les configurations créées de cette manière risquent de confondre les outils de l'interface graphique. Au mieux, ils ne vous montreront pas les adresses statiques.

2
Ville Koivunen