Portage du client d'accès à distance pppoe
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.
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/
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 :
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é.
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.
La troisième consiste à configurer le lien pour qu'il apparaisse à la demande, il suffit de saisir le numéro.
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.
Le cinquième mot de passe de configuration :
La sixième consiste à configurer le pare-feu, 0 signifie ne pas activer le pare-feu.
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 :
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 !