web-dev-qa-db-fra.com

Configurer le partage de connexion avec une adresse IP spécifique

Modifier - une version plus concise de la question:

Lors de l'utilisation du partage de connexion, je souhaite que le gestionnaire de réseau utilise le sous-réseau 192.168.254 au lieu du sous-réseau 10.42.0. Est-ce possible?

Contexte :

Je dois partager ma connexion Internet sans fil (sur un ordinateur portable Ubuntu) avec un RasPi connecté à l'ordinateur portable via Ethernet.

Tout fonctionne correctement en configurant eth0 comme "Partagé avec d'autres ordinateurs" (documenté dans de nombreux endroits, par exemple ici ).

Avec cette configuration, mon adresse IP lors de la connexion au RasPi est 10.42.0.1. Le RasPi prend une autre adresse dans ce sous-réseau. Tout fonctionne très bien!

En raison de la configuration de RasPi (pour fonctionner avec plusieurs autres systèmes), je souhaite que eth0 utilise 192.168.254.1. Si je configure eth0 pour utiliser manuellement 192.168.254.1Manual eth0 configuration

le RasPi se connecte à mon ordinateur portable et je peux y insérer ssh. Cependant, bien que je voie toujours une configuration wlan0 valide lors de l'exécution de ifconfig, je ne parviens pas à accéder à Internet (mon ordinateur portable est probablement en train d'essayer d'utiliser eth0 au lieu de wlan0).

Je cherche un moyen de soit:

a) Toujours utiliser wlan0 pour accéder à Internet lorsque eth0 est configuré manuellement

b) Forcer eth0 à utiliser une adresse IP spécifique lorsqu'il est configuré avec "Partagé avec d'autres ordinateurs"

J'essaie de configurer des instructions simples pour d'autres utilisateurs. Par conséquent, si possible, j'aimerais éviter toute configuration manuelle de iptables-type.

10
jake

Dans les versions antérieures à la version 1.4.2, 10.42.0.x est codé en dur dans NetworkManager . Oubliez les solutions basées sur une interface graphique ou attendez que le bug/la demande de fonctionnalité soit corrigé. Ou réparez-le vous-même pour nous tous. Ou au moins voter le bug sur le tableau de bord pour une résolution plus rapide.

Effectuez une mise à niveau vers Ubuntu 17.04 avec la version 1.4.4 ou utilisez la commande suivante de Thomas Haller pour définir l’hôte IP et la classe.

nmcli connection modify $CONNECTION_ID +ipv4.addresses 192.168.5.1/24

$CONNECTION_ID si trouvé via nmcli connection show. Ensuite, vérifiez avec nmcli connection show $CONNECTION_ID.

14
Adam Ryczkowski

Votre configuration a un problème fondamental. Votre passerelle est définie sur la même adresse IP que votre adresse IP locale.

Un graphique: Raspi: se connecter à 10.0.0.5 Raspi: pas dans mon sous-réseau, envoyer à la passerelle Raspi reçoit à nouveau la demande et répond avec le même message.

Votre question est un peu déroutante, mais il semble que votre ordinateur portable devrait avoir une adresse IP du type 192.168.254.2.

Vous devrez également configurer la traduction d'adresses réseau sur l'ordinateur portable.

Je pense qu'il serait préférable de relier les deux interfaces afin que le raspi utilise efficacement le wifi de votre ordinateur portable pour communiquer. Sur votre ordinateur portable, faites:

Sudo -i

Cela vous rend root.

apt-get update
apt-get install bridge-utils
brctl addbr br0
brctl addif br0 wlan0
brctl addif br0 eth0
ifconfig br0 10.42.0.1
ifconfig br0 netmask 255.0.0.0
ifconfig br0 up

Ctrl-D pour quitter la racine

Sur raspi (connecté à eth0):

Sudo ifconfig eth0 10.42.0.2
Sudo ifconfig eth0 netmask 255.0.0.0
Sudo ifconfig eth0 up
echo 'nameserver 8.8.8.8'>/etc/resolv.conf
ping 10.42.0.1
ping 8.8.8.8
ping fb.com

Les trois dernières commandes vous montreront quel type d’accès au réseau vous avez:

  • Si seulement le premier passe: réseau local
  • Si jusqu’à la deuxième passe: accès Internet
  • Si tout réussit: accès Internet avec DNS
0
Wilhelm Erasmus