Mes paramètres d'adresse IP statique sont effacés chaque fois que je redémarre mon Raspberry Pi.
Je viens d’installer Ubuntu Core sur un Raspberry Pi 3 mais j’ai eu du mal à établir une adresse IP statique wifi.
Voici les étapes que j'ai suivies:
Exécuté Sudo nano/etc/network/interfaces et ajouté le contenu suivant:
répertoire-source /etc/network/interfaces.d
auto wlan0
iface wlan0 inet static
address 192.168.0.30
broadcast 192.168.0.255
netmask 255.255.255.0
gateway 192.168.0.1
Enregistré le fichier et j'exécute Sudo ifup wlan0
À ce stade, lorsque j'exécute ifconfig , l'adresse IP et d'autres paramètres sont visibles sous wlan0 . Coup de poing dans la fête.
J'exécute exit pour revenir à snap puis j'exécute le redémarrage Sudo pour redémarrer le Pi. Je mets également immédiatement à distance le câble Ethernet du Pi afin que le wifi puisse répondre aux besoins d’Internet.
C'est là que commencent mes problèmes.
Je vérifie les listes d'adresses IP de mes routeurs et mon adresse IP statique n'est pas incluse.
Je me reconnecte dans mon Pi et exécute ifconfig à nouveau l'adresse IP et les autres paramètres de wlan0 ne sont pas plus présent.
L'identifiant wifi et le mot de passe sont contenus dans le fichier /etc/wpa_supplicant/wpa_supplicant.conf et le contenu est indiqué ci-dessous:
network={
ssid="SKY8317B"
psk="TRUMBOX"
key_mgmt=WPA-PSK
}
J'apprécierais vraiment de l'aide pour résoudre ce problème où mon adresse IP statique ne persiste pas.
UPDATE # 1: Voici une sortie de débogage détaillée basée sur l'entrée très utile de @ chili555
Sudo ifdown wlan0 && Sudo ifup -v wlan0
ifdown: interface wlan0 not configured
Reading directory /etc/network/interfaces.d
Configuring interface wlan0=wlan0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/bridge
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
wpa_supplicant: wpa-driver nl80211,wext (default)
wpa_supplicant: /sbin/wpa_supplicant -s -B -P /run/wpa_supplicant.wlan0.pid -i wlan0 -D nl80211,wext -C /run/wpa_supplicant
Starting /sbin/wpa_supplicant...
wpa_supplicant: creating sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pid
wpa_supplicant: ctrl_interface socket located at /run/wpa_supplicant/wlan0
wpa_supplicant: configuring network block -- 0
wpa_supplicant: wpa-ssid "SKY8317B" -- OK
wpa_supplicant: wpa-psk ***** -- OK
wpa_supplicant: enabling network block 0 -- OK
/bin/ip addr add 192.168.0.30/255.255.255.0 broadcast 192.168.0.255 dev wlan0 label wlan0
/bin/ip link set dev wlan0 up
/bin/ip route add default via 192.168.0.1 dev wlan0 onlink
/bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/000resolvconf
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/ubuntu-fan
run-parts: executing /etc/network/if-up.d/upstart
run-parts: executing /etc/network/if-up.d/wpasupplicant
UPDATE # 2:
Résultat de l'exécution => lsb_release -d:
Description: Ubuntu 16.04.4 LTS
Résultat de l'exécution => cat/etc/netplan/*:
network:
version: 2
ethernets:
all-en:
match:
name: "en*"
dhcp4: true
all-eth:
match:
name: "eth*"
dhcp4: true
UPDATE # 3:
Lors de mes voyages sur Internet, je suis tombé sur un message quelque part qui disait que les mises à jour apportées manuellement au répertoire /etc ne persisteraient pas. J'ai choisi de ne pas le croire à l'époque mais je viens de trouver la commande Sudo console-conf qui semble être la solution intégrée.
En utilisant cette commande, vous pouvez fournir le SSID et le mot de passe wifi. Réinitialiser le Pi et se reconnecter montre que les paramètres que j'ai fournis sont toujours en place.
Un autre paramètre à fournir concerne les données IPv4 statiques, mais je ne sais pas comment définir le sous-réseau info i: e au format CIDR . Vous trouverez ci-dessous une capture d'écran de mes paramètres tentés:
Cela a pris beaucoup de temps à comprendre.
Je ne peux que deviner buntu Core fait les choses différemment des versions précédentes d’Ubuntu et de Raspbian. Sinon, éditer le fichier /etc/network/interfaces comme je l’ai fait dans mon message original aurait dû fonctionner.
Je tiens à remercier sincèrement chili555 pour tous ses efforts pour m'aider à résoudre ce problème.
Solution:
Ubuntu Core utilise le gestionnaire de paquets SNAP. Je suppose que c’est SNAP qui est responsable de la commande Sudo console-conf . Lors de l'exécution, vous devriez voir quelque chose comme ce qui suit:
Appuyez sur enter sur le bouton OK en surbrillance et vous aurez accès à la zone de connexions réseau:
Dans cette zone, comme dans toutes les autres sous console-conf , vous utilisez les touches de direction pour naviguer vers les sections qui vous intéressent. Le wlan0, carte filaire n ° 1, m’intéresse donc je l’ai surligné dans la capture d’écran. Ensuite, j'appuie sur enter.
Remarquez le menu Configurer les paramètres WIFI . Lorsque vous appuyez sur Entrée avec ce menu en surbrillance, l'interface résultante vous permet de définir votre SSID et votre mot de passe wifi.
La même chose s'applique pour mes tentatives de définir une adresse IP statique. Il suffit de cliquer une fois sur la flèche vers le bas pour atterrir sur . Utilisez une configuration IPv4 statique et appuyez sur Entrée pour fournir les détails IP que vous souhaitez rendre votre réseau wifi accessible.
Le masque de sous-réseau m'a causé beaucoup de problèmes. Je ne suis pas ingénieur réseau et je supposais que c'était supposé être 255.255.255.0/?? mais le menu se plaint de messages d'erreur. Voici les données qui ont fonctionné (j'ai deviné sur le masque de sous-réseau correct):
J'espère que les gens trouveront ce gain de temps et utile.
Vous avez omis de spécifier le SSID, normalement un routeur, auquel vous souhaitez vous connecter, vous n’avez pas fourni le mot de passe WPA2, vous n’avez pas fourni de serveurs de noms DNS et, enfin, la déclaration de diffusion n’est pas nécessaire. Je vous suggère de modifier le fichier pour:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopbak
auto wlan0
iface wlan0 inet static
address 192.168.0.30
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1 8.8.8.8
wpa-ssid <your_router>
wpa-psk <ypur_secret_key>
Redémarrez l'interface:
Sudo ifdown wlan0 && Sudo ifup -v wlan0
Vérifier:
ping -c3 www.ubuntu.com
Vous devriez être tous ensemble.