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

11

Edit - une version plus concise de la question:

Lorsque j'utilise le 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 par Ethernet.

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

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

En raison de la configuration du RasPi (pour fonctionner avec plusieurs autres systèmes), je souhaite l' eth0utiliser 192.168.254.1. Si je configure eth0 pour utiliser manuellement 192.168.254.1: Configuration manuelle eth0

le RasPi se connecte à mon ordinateur portable et je peux y sshentrer. Cependant, bien que je vois toujours une wlan0configuration valide lors de l'exécution ifconfig, je ne peux pas accéder à Internet (probablement mon ordinateur portable essaie d'utiliser à la eth0place de wlan0).

Je cherche un moyen:

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

b) Forcer eth0à utiliser une adresse IP spécifique lors de la configuration avec "Partagé sur d'autres ordinateurs"

J'essaie de mettre en place des instructions simples pour les autres utilisateurs, donc si possible, je voudrais éviter toute iptables-typeconfiguration manuelle .

jake
la source
C'est un peu difficile à faire. Je ne peux pas mettre de guide ici pour le moment, mais je le modifierai plus tard. Essayez ici: howtoforge.com/linux-basics-set-a-static-ip-on-ubuntu
TheWanderer

Réponses:

15

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

Mettez à niveau vers Ubuntu 17.04, avec la version 1.4.4, ou utilisez la commande suivante de Thomas Haller pour définir l'adresse IP et la classe de l'hôte.

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

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

Adam Ryczkowski
la source
1
apparemment, le bug a été corrigé le 14. septembre 2016! Il est maintenant possible de le configurer via l'interface graphique, mais il faudra du temps pour que cela se répercute dans les versions bien sûr.
hoijui
Ce problème a été résolu dans le gestionnaire de réseau 1.4.2. Ubuntu 17.04 a 1.4.4. J'ai demandé à Canonical de rétroporter cela vers 16.04 LTS. bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1098362/…
Lucas
Et comment le faisons-nous dans les versions plus récentes?
leo
0

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 comme 192.168.254.2

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

Je pense que ce serait mieux si vous reliez les deux interfaces, donc le raspi utilisera efficacement le wifi de votre ordinateur portable pour communiquer. Sur votre ordinateur portable, faites:

sudo -i

Cela vous fait rooter.

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 root

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 réseau vous avez:

  • Si seulement le premier passe: réseau local
  • Si jusqu'à la deuxième passe: accès Internet
  • Si tout passe: accès Internet avec DNS
Wilhelm Erasmus
la source
Je ne sais pas ce que vous voulez dire sur ma passerelle / adresse. Lorsque je partage ma connexion, mon ordinateur portable n'est-il pas la passerelle pour le RasPi? Dans la configuration manuelle que j'ai montrée dans l'OP, le RasPi prend 192.168.254.100 - Je n'ai aucun problème à ne pas pouvoir communiquer en raison de différents sous-réseaux.
jake
Une meilleure façon de formuler la question pourrait être: lors du partage de ma connexion, je veux que le gestionnaire de réseau utilise le sous-réseau 192.168.254 au lieu du sous
jake
@jake votre ordinateur portable est en effet la passerelle. Désolé, j'ai mal compris la question, je vois le problème maintenant. Vous pouvez faire un en route -ntant que root ( sudo su) puis faire route del default gw 192.168.254.1 dev eth0ou, pour être plus exact, vous utiliseriez les informations de route -npour remplir la déclaration del, c'est doncroute del default gw <gateway> dev <Iface>
Wilhelm Erasmus