Sous le système embarqué ARM, je vais vous apprendre étape par étape comment transplanter le client de connexion pppoe et utiliser la connexion pppoe pour accéder à Internet.

I. Aperçu

PPPoE (anglais : Point-to-Point Protocol Over Ethernet), protocole point à point sur Ethernet, est un protocole de tunnel réseau qui encapsule le protocole point à point (PPP) dans le cadre Ethernet. Étant donné que le protocole PPP est intégré au protocole, il peut réaliser l'authentification, le cryptage, la compression et d'autres fonctions que l'Ethernet traditionnel ne peut pas fournir. Il peut également être utilisé pour les protocoles Ethernet tels que le modem câble et la ligne d'abonné numérique (DSL) pour fournir aux utilisateurs Système de protocole de service d’accès.
Il s'agit essentiellement d'un protocole qui permet la création de tunnels point à point entre deux interfaces Ethernet dans un domaine de diffusion Ethernet.
En prenant comme exemple pppd couramment utilisé dans les systèmes Linux, il prend en charge les protocoles de couche réseau IP, IPv6 et IPX sur l'interface PPP.
Il utilise un logiciel traditionnel basé sur PPP pour gérer une connexion qui n'utilise pas une ligne série mais un réseau de paquets dirigé similaire à Ethernet. Cette connexion standard avec login et mot de passe facilite la facturation du fournisseur d'accès. De plus, l'autre extrémité de la connexion n'attribue une adresse IP que lorsque la connexion PPPoE est connectée, le multiplexage dynamique des adresses IP est donc autorisé.
PPPoE est développé par UUNET, Redback Networks et RouterWare. Publié dans la description RFC 2516. ( Source : Encyclopédie Baidu )
L'accès Internet commuté pppoe apparaît généralement dans les réseaux domestiques. Une fois que l'opérateur a connecté le haut débit à la maison, il configurera la fonction de connexion Internet pppoe sur le modem optique, saisira le compte et le mot de passe pour se connecter. , de sorte que votre ordinateur lors de la connexion au réseau ou à d'autres appareils, vous n'avez pas besoin de vous connecter pour accéder à Internet. En effet, le modem optique a une fonction d'accès commuté et le modem optique actuel a la fonction d'un routeur. Lors de la connexion à l'ordinateur, la fonction DHCP sera utilisée. Attribuez une adresse IP pour accéder à Internet.

2. Processus de transplantation

Le processus de transplantation comprend principalement les parties suivantes : le noyau doit prendre en charge la fonction PPPoE, compiler pppd et compiler pppoe.

1. Configuration du noyau

Cette partie est la configuration du noyau, qui nécessite que le noyau prenne en charge pppoe :
utilisez la commande make menuconfig pour configurer le noyau. Vous pouvez vous référer à la configuration suivante et sélectionner toutes les options liées à pppoe.
Insérer la description de l'image ici
Insérer la description de l'image ici
Insérer la description de l'image ici
Une fois la configuration terminée, n'oubliez pas de recompiler et de reprogrammer le noyau dans le périphérique.

2. Compilation de l'outil pppd

Comme une compilation croisée est requise, le code source ppp doit être utilisé, qui peut être téléchargé en ligne : https://download.samba.org/pub/ppp/
Insérer la description de l'image ici
La version que j'ai téléchargée ici est la version ppp-2.4.1 ; décompressez-le une fois le téléchargement terminé. Entrez dans le répertoire ppp-2.4.1 et exécutez :

./configure
make CC=arm-linux-gcc   // 交叉编译链替换成自己的

Une fois l'exécution terminée, le programme exécutable pppd sera généré dans le répertoire pppd. Copiez pppd dans le répertoire /usr/sbin de la carte de développement et n'oubliez pas d'accorder l'autorisation d'exécution. Après avoir transplanté le noyau et pppd, vous pouvez exécuter pppd sur la carte. Dans des circonstances normales, il y aura des caractères tronqués, ce qui signifie que la transplantation est réussie.

3. Compilation de l'outil pppoe

La compilation de pppoe est similaire à celle de pppd. Parlons des étapes de compilation en détail ci-dessous. Tout d'abord, je vais aussi en ligne pour télécharger le code source de rp-pppoe. Je n'arrive pas à me connecter à l'adresse du site officiel mentionné dans l'article en ligne. Je ne sais pas s'il est toujours en maintenance. Voici une autre adresse pour tout le monde, qui peut aussi être le site officiel : https ://src.fedoraproject.org/repo/pkgs/rp-pppoe/ Vous pouvez télécharger le fichier de code source de la version souhaitée sur ce site :
Insérer la description de l'image ici
décompressez-le après le téléchargement. version téléchargée 3.8, entrez rp-pppoe-3.8 /src exécution du répertoire :

./configure

Après la configuration, vous devez modifier manuellement la chaîne de compilation dans le fichier Makefile, car la configuration de la chaîne de compilation croisée dans le fichier de configuration ne prend pas effet. Remplacez gcc et ar dans le fichier par votre chaîne de compilation correspondante. N'oubliez pas de modifier également le Makefile dans le répertoire libevent.
Après modification, vous pouvez compiler. Après avoir exécuté make, les programmes exécutables pppoe-relay, pppoe-server, pppoe-sniff et pppoe seront générés. Copiez ces programmes ensemble dans le répertoire /usr/sbin de la carte de développement.
Certains fichiers de configuration sont également copiés ensemble. Dans le répertoire des scripts, copiez pppoe-init, pppoe-stop, pppoe-start, pppoe-setup, pppoe-status et pppoe-connect dans le répertoire /usr/sbin de la carte de développement.
Créez un nouveau dossier ppp dans le répertoire etc du système de fichiers de la carte de développement, puis copiez tous les fichiers du dossier configs sous le dossier rp-pppoe dans le ppp nouvellement créé.

3. Configurez les paramètres pppoe

Une fois tous les outils copiés sur la carte de développement, exécutez pppoe-setup pour démarrer la configuration :

La première chose qui doit être configurée est le nom de compte attribué sur le serveur pppoe, remplissez-le en fonction de celui réellement attribué.
Insérer la description de l'image ici

La deuxième configuration est le nom de la carte réseau, remplissez-le en fonction du nom réel de votre carte réseau.
Insérer la description de l'image ici

La troisième consiste à configurer le lien pour qu'il apparaisse à la demande, il suffit de saisir le numéro.
Insérer la description de l'image ici

La quatrième consiste à configurer le DNS. Ce que j'ai renseigné ici est 114.114.114.114. Si vous n'êtes pas sûr, vous pouvez également renseigner le serveur.
Insérer la description de l'image ici

Le cinquième mot de passe de configuration :
Insérer la description de l'image ici

La sixième consiste à configurer le pare-feu, 0 signifie ne pas activer le pare-feu.
Insérer la description de l'image ici

Enfin, entrez y pour l'enregistrer dans le fichier de configuration. Le travail de configuration se termine ici. Vous serez invité à utiliser la commande pppoe-start pour établir une connexion à distance.

4. Créer des informations sur le nœud

Lors de l'exécution de pppoe-start, vous devez confirmer s'il existe un répertoire de nœud /dev/pts. Sinon, vous devez le créer manuellement.
Entrez pts et créez les nœuds mknod 0 c 136 0 ; mknod 1 c 136 1. Que signifie 136 ? J'ai cherché et j'ai finalement trouvé ceci dans la documentation du noyau Linux :
Insérer la description de l'image ici

5. configuration du serveur pppoe

Si vous souhaitez tester si l'environnement de périphérique construit ci-dessus peut fonctionner correctement, vous devez créer un environnement de test : le serveur pppoe.
Je présenterai ce travail dans un autre article, alors restez connectés !

Je suppose que tu aimes

Origine blog.csdn.net/weixin_37926485/article/details/130853993
conseillé
Classement