Un prestataire de services qui offre des services ou une assistance DSL peut utiliser un serveur d'accès équipé de PPPoE. La relation entre le serveur et le client d'accès PPPoE est une relation client-serveur classique. Elle s'apparente à celle que la machine d'appel sortant et le serveur d'appel entrant entretiennent sur une liaison commutée. Un système PPPoE initialise la communication et un système PPPoE répond. Par contraste, le protocole PPP n'a aucune notion de la relation client-serveur. PPP place les deux systèmes sur un plan d'égalité.
Les commandes et fichiers qui permettent de configurer un serveur d'accès PPPoE sont les suivants :
Le démon pppoed accepte des diffusions de services de clients PPPoE potentiels. En outre, pppoed négocie le côté serveur du tunnel PPPoE tunnel et exécute pppd, le démon PPP, sur ce tunnel.
Vous configurez les services pppoed dans les fichiers /etc/ppp/pppoe et /etc/ppp/pppoe.device. Si /etc/ppp/pppoe existe au démarrage du système, pppoed s'exécute automatiquement. Vous pouvez également exécuter explicitement le démon pppoed en tapant /usr/lib/inet/pppoed sur la ligne de commande.
Le fichier /etc/ppp/pppoe décrit les services offerts par un serveur d'accès et les options définissant l'exécution de PPP sur le tunnel PPPoE. Vous pouvez définir des services pour chacune des interfaces ou de manière globale, c'est-à-dire pour toutes les interfaces du serveur d'accès. Le serveur d'accès envoie les informations dans le fichier /etc/ppp/pppoe en réponse à une diffusion d'un client potentiel PPPoE.
Voici la syntaxs de base de /etc/ppp/pppoe :
global-options service service-name service-specific-options device interface-name
Signification des paramètres .
Définit les options par défaut du fichier /etc/ppp/pppoe. Il s'agit d'options disponibles via pppoed ou pppd. Pour obtenir la liste complète de ces options, reportez-vous aux pages de manuel pppoed(1M) et pppd(1M).
Par exemple, vous devez répertorier les interfaces Ethernet disponibles pour le tunnel PPPoE en tant qu'options globales. Si vous ne définissez pas de périphériques dans le fichier /etc/ppp/pppoe, les services ne sont proposés sur aucune interface.
Pour définir devices en tant qu'option globale, utilisez le format suivant :
device interface <,interface>
interface spécifie l'interface où le service est à l'écoute des clients PPPoE potentiels. Si plusieurs interfaces sont associées au service, séparez leur nom par une virgule.
Démarre la définition du service service-name. service-name est une chaîne qui peut être une expression appropriée aux services fournis.
Répertorie les options PPP et PPPoE spécifiques à ce service.
Spécifie l'interface où le service énoncé précédemment est disponible.
Pour obtenir d'autres options de /etc/ppp/pppoe, reportez-vous aux pages de manuel pppoed(1M) et pppd(1M).
Un fichier /etc/ppp/pppoe typique peut se présenter comme suit.
Exemple 8-2 Fichier /etc/ppp/pppoe de basedevice hme1,hme2,hme3 service internet pppd "name internet-server" service intranet pppd "192.168.1.1:" service debug device hme1 pppd "debug name internet-server"
Dans ce fichier, les valeurs suivantes s'appliquent.
Trois interfaces sur le serveur d'accès à utiliser pour les tunnels PPPoE.
Signale un service appelé internet aux clients potentiels. Le fournisseur qui propose le service détermine également comment internet est défini. Par exemple, un fournisseur peut interpréter internet au sens de services IP variés, ainsi qu'accès à Internet.
Définit les options de ligne de commande utilisées lorsque l'appelant appelle pppd. L'option "name internet-server" donne le nom internet-server à la machine locale, serveur d'accès.
Signale un autre service appelé intranet aux clients potentiels.
Définit les options de ligne de commande utilisées lorsque l'appelant appelle pppd. Lorsque l'appelant appelle pppd, 192.168.1.1 est défini comme l'adresse IP de la machine locale, serveur d'accès.
Signale un troisième service (débogage) sur les interfaces définies pour PPPoE.
Restreint le débogage des tunnels PPPoE à hme1.
Définit les options de ligne de commande utilisées lorsque l'appelant appelle pppd, dans ce cas, PPP déboguant la machine locale internet-server .
Le fichier /etc/ppp/pppoe.device décrit les services qui sont offerts sur une interface d'un serveur d'accès aux PPPoE. /etc/ppp/pppoe.device comporte également des options qui définissent l'exécution de PPP sur le tunnel PPPoE. /etc/ppp/pppoe.device est un fichier facultatif, qui fonctionne exactement comme le fichier /etc/ppp/pppoe global. Cependant, lorsque /etc/ppp/pppoe.device est défini pour une interface, ses paramètres sont prioritaires pour cette interface par rapport aux paramètres globaux définis dans /etc/ppp/pppoe.
La syntaxe de base de /etc/ppp/pppoe.device est la suivante :
service service-name service-specific-options service another-service-name service-specific-options
La seule différence avec la syntaxe de /etc/ppp/pppoe est l'impossibilité d'utiliser l'option device illustrée dans Fichier /etc/ppp/pppoe.
pppoe.so est le fichier d'objet partagé PPPoE qui doit être appelé par les clients et serveurs d'accès PPPoE. Ce fichier limite MTU et MRU à 1492, filtre les paquets à partir du pilote et négocie le tunnel PPPoE, avec pppoed. Côté serveur d'accès, pppoe.so est automatiquement appelé par le démon pppd.
Cette section contient des exemples de tous les fichiers permettant de configurer un serveur d'accès. Le serveur d'accès est multiréseau. Le serveur est connecté à trois sous-réseaux : green, orange et purple. Par défaut, pppoed s'exécute en tant que root sur le serveur.
Les clients PPPoE peuvent accéder aux réseaux orange et purple par le biais des interfaces hme0 et hme1. Les clients se connectent au serveur à l'aide de la connexion UNIX standard. Le serveur authentifie les clients à l'aide de PAP.
Le réseau green n'est pas signalé aux clients. Le seul moyen pour les clients d'accéder au réseau green est de spécifier directement "green-net" et de fournir les informations d'identification CHAP. En outre, seuls les clients joe et mary sont autorisés à accéder au réseau green à l'aide d'adresses IP statiques.
Exemple 8-3 Fichier /etc/ppp/pppoe pour un serveur d'accèsservice orange-net device hme0,hme1 pppd "require-pap login name orange-server orange-server:" service purple-net device hme0,hme1 pppd "require-pap login name purple-server purple-server:" service green-net device hme1 pppd "require-chap name green-server green-server:" nowildcard
Cet exemple décrit les services disponibles à partir du serveur d'accès. La première section décrit les services du réseau orange.
service orange-net device hme0,hme1 pppd "require-pap login name orange-server orange-server:"
Les clients accèdent au réseau orange via les interfaces hme0 et hme1. Les options données à la commande pppd force le serveur à demander aux clients potentiels leurs informations d'identification PAP. Les options pppd définissent également le nom du serveur sur orange-server, tel qu'il est utilisé dans le fichier pap-secrets.
La section des services du réseau purple est identique à celle du réseau orange, à l'exception des noms du réseau et du serveur.
La section suivante décrit les services du réseau green :
service green-net device hme1 pppd "require-chap name green-server green-server:" nowildcard
Cette section restreint l'accès client à l'interface hme1. Les options données à la commande pppd forcent le serveur à demander aux clients potentiels leurs informations d'identification CHAP. Les options pppd définissent également le nom du serveur sur green-server, à utiliser dans le fichier chap-secrets. L'option nowildcard spécifie que l'existence du réseau green n'est pas signalée aux clients.
Pour le scénario décrit ci-dessus, vous pouvez configurer le fichier /etc/ppp/options.
Exemple 8-4 Fichier /etc/ppp/options pour un serveur d'accèsauth proxyarp nodefaultroute name no-service # don't authenticate otherwise
L'option name no-service remplace le nom du serveur qui est normalement recherché au cours de l'authentification PAP ou CHAP. Le nom par défaut du serveur est celui trouvé par la commande /usr/bin/hostname. L'option name dans l'exemple précédent remplace le nom du serveur par no-service. Il est peu probable que le nom no-service soit trouvé dans un fichier pap ou chap-secrets. Cette action empêche un utilisateur aléatoire d'exécuter pppd et de remplacer les options auth et name définies dans le fichier /etc/ppp/options. pppd échoue, car aucun secret ne peut être trouvé pour le client avec le nom de serveur no-service.
Le scénario de serveur d'accès utilise le fichier /etc/hosts suivant.
Exemple 8-5 Fichier /etc/hosts pour un serveur d'accès172.16.0.1 orange-server 172.17.0.1 purple-server 172.18.0.1 green-server 172.18.0.2 joes-pc 172.18.0.3 marys-pc
Voici le fichier /etc/ppp/pap-secrets, utilisé pour l'authentification PAP des clients qui tentent d'accéder aux réseaux orange et purple.
Exemple 8-6 Fichier /etc/ppp/pap-secrets pour un serveur d'accès* orange-server "" 172.16.0.2/16+ * purple-server "" 172.17.0.2/16+
Voici le fichier /etc/ppp/chap-secrets, utilisé pour l'authentification CHAP. Notez que seuls les clients joe et mary figurent dans la liste du fichier.
Exemple 8-7 Fichier /etc/ppp/chap-secrets pour un serveur d'accèsjoe green-server "joe's secret" joes-pc mary green-server "mary's secret" marys-pc