web-dev-qa-db-fra.com

Pourquoi ne puis-je pas définir une adresse IP statique pour ma machine Linux?

J'essaie de configurer une adresse IP locale statique pour mon ordinateur Linux à des fins de transfert de port. Comme pour chaque guide existant à ce sujet, j'ai modifié mes fichiers /etc/network/interfaces et /etc/resolv.conf en conséquence. Cependant, lors du redémarrage, toutes les modifications apportées à resolv.conf sont effacées et le fichier est vide (à l'exception du commentaire qui me prévient de cela).

Par conséquent, je ne parviens pas à résoudre les noms d'hôte (ping google.com échoue, par exemple). En fait, je ne peux même pas envoyer une requête ping à une adresse IP valide ("Hôte de destination inaccessible").

Bien que ifconfig semble refléter tous les paramètres que j'ai définis dans /etc/network/interfaces, je ne parviens pas à accéder à Internet, ni à la machine via SSH ou FTP depuis une autre machine.

Voici mon /etc/network/interfaces:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.0.64
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    dns-nameservers 192.168.0.1 8.8.8.8

Voici ce que ifconfig me donne:

eth0      Link encap:Ethernet  HWaddr 00:25:90:57:7c:65
          inet addr:192.168.0.64  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:20 Memory:fba00000-fba20000

eth1      Link encap:Ethernet  HWaddr 00:25:90:57:7c:64
          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::225:90ff:fe57:7c64/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:252 errors:0 dropped:0 overruns:0 frame:0
          TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:54010 (54.0 KB)  TX bytes:15731 (15.7 KB)
          Interrupt:16 Memory:fb900000-fb920000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:94 errors:0 dropped:0 overruns:0 frame:0
          TX packets:94 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8088 (8.0 KB)  TX bytes:8088 (8.0 KB)

Pourquoi cela se produit-il et comment puis-je le réparer?

2
Parker Kemp

Si vous utilisez une version de bureau d'Ubuntu avec un outil de gestion de réseau graphique installé, vous devez ne pas définir la connexion dans le fichier/etc/network/interfaces.

Au lieu de cela, ouvrez la connexion via l’applet nm sur le bureau (ou en appelant nm-connection-editor à partir d’un terminal), naviguez jusqu’à la IPv4 settings onglet et définissez le mode de connexion sur Manual en utilisant la liste déroulante. Ajoutez ensuite les paramètres IP et DNS de votre choix dans les zones fournies.

Vous devez ensuite rétablir toutes les modifications apportées à votre fichier/etc/network/interfaces (afin qu’il ne contienne que les lignes de définition lo), puis redémarrez les services networking et network-manager, ou redémarrez le service. machine.

Assurez-vous également que l'adresse IP statique choisie est en dehors du pool DHCP attribué par votre routeur. En fait, il peut être plus simple de conserver une configuration DHCP sur la machine et de réserver une adresse IP particulière sur le routeur, s’il prend en charge la réservation d’adresse DHCP .

Si vous voulez vraiment conserver l'interface graphique network-manager, mais définir votre interface via/etc/network/interfaces, vous pouvez essayer de modifier /etc/NetworkManager/NetworkManager.conf, en modifiant

[ifupdown]
managed=false

à

[ifupdown]
managed=true

puis assurez-vous qu'il n'y a pas d'autres connexions concurrentes définies dans le répertoire/etc/NetworkManager/system-connections/(où "concurrente" signifie "utilisant la même interface que"). Cela devrait vous permettre de voir et de contrôler les connexions dans/etc/network/interfaces sous l'applet de l'interface graphique du gestionnaire de réseau.

Sinon, vous pouvez supprimer complètement le paquet network-manager.

2
steeldriver

Vous devez ajouter votre configuration DNS directement sur/etc/network/interfaces:

auto eth0
iface eth0 inet static
    address 192.168.0.64
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    dns-nameservers 192.168.0.1 8.8.8.8
0
mndo