47 votes

Partager une connexion sans fil avec un port Ethernet filaire

C'est à peu près tout. Si je me connecte à Internet sur wlan0, comment puis-je partager cette connexion avec un appareil branché sur mon port Ethernet câblé eth0 ?

34voto

Camilo Díaz Repka Points 2682

J'avais un MacMini sous Ubuntu 9.10 qui utilisait la connexion sans fil pour l'internet. J'ai ensuite connecté ma Xbox360 au port Ethernet du MacMini afin d'utiliser Xbox Live.

C'est ridiculement facile. Il suffit de faire un clic droit sur votre gestionnaire de réseau et de choisir "Modifier les connexions". Ensuite, dans l'onglet "Câblé", vous pouvez utiliser votre connexion câblée existante (ou en créer une nouvelle en cliquant sur le bouton "Ajouter", nommez votre nouvelle connexion "Port réseau partagé" ou quelque chose de similaire), allez dans l'onglet IPv4 et dans "Méthode", choisissez "Partagé avec d'autres ordinateurs". Appliquez tout et fermez le gestionnaire de réseau Windows.

Maintenant, lorsque vous devez brancher quelque chose sur ce port Ethernet, vous pouvez partager votre connexion Internet WIFI en cliquant simplement sur le gestionnaire de réseau et en choisissant l'entrée "Port réseau partagé".

Si vous voulez que ce soit une connexion Ethernet constamment utilisée pour le partage et rien d'autre, n'hésitez pas à éditer "Auto Eth0" au lieu de créer une nouvelle entrée comme je l'ai décrit ci-dessus. La création d'une nouvelle entrée vous donne cependant une certaine flexibilité.

Notez que ce système utilise un peu de NAT (traduction d'adresse réseau) pour fonctionner correctement, de sorte que la Xbox360 (ou ce que vous branchez sur votre port câblé) recevra une adresse IP bizarre.

De mémoire, il ne peut voir que l'internet - je ne pense pas que vous puissiez voir l'ordinateur hôte, celui qui est connecté à l'internet. Il est possible de configurer cela, mais il faut un peu de doigté avec les serveurs DHCP, je crois. Je n'en ai pas eu besoin, donc je n'ai pas suivi cette voie.

18voto

ICR Points 6960

C'est facile. Cliquez avec le bouton droit de la souris sur le gestionnaire de réseau et cliquez sur Modifier les connexions. Sous l'onglet Câblage, ajoutez une nouvelle connexion. Sous l'onglet Paramètres IPV4, sélectionnez "Partagé avec d'autres" pour la méthode.

Les autres machines devraient maintenant se connecter au réseau local et obtenir automatiquement un accès à Internet.

Sharing internet over ethernet

1voto

Un guide simple est disponible à l'adresse suivante https://oracle-base.com/articles/linux/use-iptables-to-implement-packet-filtering-and-configure-nat . Mais j'ai découvert que dans Windows, l'adresse DNS utilisée par le PC Linux doit également être donnée dans Windows.

J'ai un modem USB 3G connecté à mon PC Linux, et à partir de là, j'ai deux PC Windows qui reçoivent l'internet. C'est ce qu'on appelle le transfert de paquets (kernel), et c'est assez simple et rapide à faire - quand on a fini par le comprendre.

Vous devrez trouver les noms de vos interfaces réseau en lançant la commande "ifconfig" sous Linux (dans le terminal), et "ipconfig" sous Windows (dans l'invite de commande). Les noms des interfaces, sous Linux, se trouvent à l'extrême gauche, comme : enp2s0, enp3s0, enp0s18f2u6, lo. Vous pouvez maintenant configurer le transfert de paquets :

  1. Tout d'abord, vous devez activer le transfert de paquets sur votre PC Linux (voir le guide que j'ai mis en lien sur oracle-base.com).

  2. Ensuite, vous pouvez exécuter ces commandes, comme le dit le guide d'oracle-base.com (mais attendez, et lisez la suite) :

    sudo iptables -I FORWARD -i my_lan_interface -o my_modem_interface -j ACCEPT sudo iptables -I FORWARD -i mon_interface_modem -o mon_interface_lan -j ACCEPT sudo iptables -t nat -I POSTROUTING -o my_modem_interface -j MASQUERADE

    Mais il existe une méthode plus robuste, que j'ai trouvée sur le net :

    sudo iptables -t nat -A POSTROUTING -o my_modem_interface -j MASQUERADE --random sudo iptables -A FORWARD -i my_lan_interface -o my_modem_interface -j ACCEPT sudo iptables -A FORWARD -i mon_interface_modem -o mon_interface_lan -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -j DROP

    Voici une explication pour les commandes juste au-dessus (l'exemple "plus robuste"), dans le même ordre :

    • Première commande : activer le masquerading sur my_modem_interface pour que l'adresse source soit réécrite sur les paquets sortants. Le drapeau --random permet d'avoir une NAT symétrique.

    Nous allons maintenant configurer les règles de transfert. iptables, par défaut, transfère inconditionnellement tout le trafic. Ici, nous préférons restreindre le trafic entrant en provenance de l'internet et autoriser tout le trafic sortant :

    • Deuxième commandement : Autoriser le trafic de mon_lan_interface vers mon_modem_interface.
    • Troisième commandement : Autoriser le trafic de retour de mon_interface_modem vers mon_interface_lan.
    • Quatrième commandement : Abandonner tout autre trafic qui ne devrait pas être transféré.

    Lorsque vous redémarrez votre PC Linux, vous devrez saisir à nouveau ces commandes - j'ai un script qui les exécute à chaque démarrage. Vous pouvez rendre ces changements permanents avec l'appel de "service" approprié (encore une fois, voir le guide oracle-base.com cité ci-dessus), mais je recommande de les exécuter à chaque démarrage (dans un script), car vous pourriez vouloir expérimenter et changer des choses, et défaire ce que vous avez sauvegardé est un autre défi. Si quelque chose se passe mal, ou si vous voulez changer les choses, ou si vous ne voulez tout simplement pas de cette fonctionnalité pour votre session en cours (ou pour toutes), alors redémarrez simplement votre PC et ils disparaîtront - mais vous devez désactiver le transfert de paquets vous-même (avant de redémarrer, écrivez "net.ipv4.ip_forward = 0" dans /etc/sysctl.conf) pour désactiver complètement cette technologie.

  3. Vous devez maintenant créer une connexion réseau (connexion Ethernet) entre votre PC Linux et vos autres ordinateurs. Par exemple, vous devez créer une connexion réseau (connexion Ethernet) entre votre PC Linux et vos autres ordinateurs :

    • A) Sur le PC Linux connecté à l'internet (j'utilise Fedora), avec le gestionnaire de connexions réseau, je crée une connexion Ethernet, je sélectionne l'interface appropriée (nom de la carte réseau, enp3s0 dans mon cas) qui connectera ce PC Linux à mon réseau local. Veillez à sélectionner la bonne zone de pare-feu, sinon votre réseau local n'aura pas accès à Internet. Ainsi, puisqu'il s'agit de l'interface interne de votre réseau local, réglez la zone du pare-feu sur "fiable", mais l'interface de connexion du modem doit être réglée sur "publique". Ensuite, dans l'onglet des paramètres IPv4, indiquez que l'IPv4 doit être utilisé pour la connexion (l'IPv6 peut être ignoré) et sélectionnez la configuration manuelle de l'adresse. Ajoutez maintenant l'adresse 192.168.2.100 - ce sera l'adresse de ce PC Linux sur votre réseau local. Le masque de réseau sera défini automatiquement (255.255.255.0, car il s'agit d'une adresse de "classe C" (privée)). Appliquez vos paramètres et connectez-vous.

    • B) Sur le second PC (avec Linux ou Windows, connecté par câble Ethernet au premier ci-dessus), créez également une connexion réseau (s'il s'agit de Windows, regardez ci-dessous pour plus de détails), sélectionnez l'interface réseau appropriée (le périphérique/la carte qui se connecte au premier PC), utilisez la configuration IPv4 manuelle comme ci-dessus pour le premier PC, mais définissez ici l'adresse 192.168.2.101 - ce sera l'adresse de ce second PC sur votre réseau local (ce sont des adresses "privées", ce qui signifie qu'elles ne seront pas visibles en dehors de votre réseau local).

    • B1) Si vous voulez connecter Windows (système d'exploitation), allez dans "Network and Sharing Center"->"change adapter settings", et cherchez votre interface réseau qui correspond à votre carte réseau LAN sur ce PC Windows, qui est également connecté par câble Ethernet au premier PC. Sélectionnez cette interface et cliquez avec le bouton droit de la souris sur Propriétés. Vous verrez une liste. Désélectionnez "Internet Protocol Version 6" et double-cliquez sur "Internet Protocol Version 4". Entrez maintenant l'adresse 192.168.2.101 - ce sera l'adresse de ce PC Windows sur cette interface (sur cette connexion [LAN/Ethernet])). Appuyez sur la touche de tabulation vers le bas pour que le masque de réseau se remplisse automatiquement (255.255.255.0). (Le "profil réseau" peut être réglé sur "public").

    • B2) Il peut être nécessaire de définir l'adresse de la passerelle pour le premier PC Linux, vous devrez donc saisir l'adresse de la passerelle 192.168.2.100.

    • C) Vous devez maintenant entrer l'adresse DNS que votre premier PC Linux utilise. Par exemple, mon modem utilise l'adresse DNS 192.168.1.1 (que je peux trouver avec la commande "nmcli device show | grep IP4.DNS", où interfacename est le nom de votre interface Linux connectée à l'internet). (Si vous vous connectez à l'internet avec Windows, exécutez "ipconfig" dans le terminal/l'invite de commande, et cherchez une adresse DNS). Et c'est tout. Les informations DNS sont essentielles pour obtenir une connexion internet.

Pour faire court :

L'adresse de mon modem : 192.168.1.100, DNS 192.168.1.1.

Adresse du PC Linux sur le réseau local : 192.168.2.100, transfert de paquets activé avec iptables redirigeant le trafic, comme expliqué ci-dessus, zone de pare-feu réglée sur "fiable".

Adresse Windows PC 1 : 192.168.2.101 avec DNS réglé sur 192.168.1.1, profil réseau réglé sur public. (La passerelle par défaut est définie sur le PC Linux : 192.168.2.100).

Windows PC 2 adresse : 192.168.2.102 avec DNS réglé sur 192.168.1.1, profil réseau réglé sur public. (La passerelle par défaut est définie sur le PC Linux : 192.168.2.100).

(Tous les ordinateurs connectés entre eux par un simple commutateur Ethernet avec des câbles Ethernet ordinaires (également appelés "câbles de raccordement" ou "cordons de raccordement"), non croisés, car les cartes réseau "modernes" effectuent elles-mêmes le croisement, de sorte que vous pouvez utiliser des câbles croisés ou non croisés, et même les mélanger dans une connexion).

Il existe également un guide à l'adresse suivante https://medium.com/@TarunChinmai/sharing-internet-connection-from-a-linux-machine-over-ethernet-a5cbbd775a4f qui utilise les adresses DNS de Google. A vérifier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X