Dieses Paket erlaubt es, PPP-Verbindungen über ein Ethernet-Netzwerk aufzubauen. Dies wird in Deutschland vor allem für die Internet-Anbindung via DSL genutzt, wobei ein externes, über Ethernet angeschlossenes DSL-Modem genutzt wird. Zwischen dem fli4l-Router und dem DSL-Modem wird das Protokoll PPP benutzt, jedoch hier speziell über Ethernet (PPPoE4.21).
Ein DSL-Zugang via PPPoE oder auch beliebige andere ausgehende PPPoE-Verbindungen werden generell als PPP-Circuit konfiguriert (siehe Circuits vom Typ “ppp”), d. h. es gilt:
CIRC_x_TYPE='ppp'
Zusätzlich muss das OPT_PPP_ETHERNET
aktiviert werden:
Diese Variable aktiviert die Unterstützung für ausgehende PPPoE-Verbindungen. Damit auch tatsächlich eine PPPoE-Verbindung genutzt werden kann, muss mindestens ein PPP-Circuit den Typ “ethernet” besitzen, d. h. es muss zusätzlich gelten
CIRC_x_TYPE='ppp' CIRC_x_PPP_TYPE='ethernet'
(wobei “x” einen gültigen Circuit-Index darstellt).
Standard-Einstellung: OPT_PPP_ETHERNET='no'
Beispiel: OPT_PPP_ETHERNET='yes'
Zu den allgemeinen Circuit-Variablen kommen die folgenden, für PPP-Circuits des Typs “ethernet” spezifischen Variablen hinzu:
Diese Variable enthält den Namen der Netzwerk-Schnittstelle, über die PPPoE genutzt werden soll. Dabei entspricht eth0 der ersten Ethernet-Karte, eth1 der zweiten Ethernet-Karte u. s. w.
Hat man nur eine Netzwerkkarte im Router, kann man das DSL-Modem ins LAN hängen, etwa indem man das DSL-Modem an den LAN-Switch mit anschließt. Dies ist jedoch nur die zweitbeste Lösung, weil die normalen IP-Pakete dann zusammen mit den PPPoE-Paketen im selben Netzsegment auftauchen und dies die maximale Übertragungsgeschwindigkeit negativ beeinflussen kann. Die beste Lösung ist die Nutzung einer separaten Netzwerkkarte für die Kommunikation mit dem DSL-Modem.
Beispiel: CIRC_1_PPP_ETHERNET_DEV='eth1'
PPPoE steht für die Übertragung von PPP-Paketen über Ethernet-Leitungen. Das bedeutet, dass die zu übertragenden Daten im ersten Schritt vom ppp-Dämon in PPP-Pakete und dann in einem zweiten Schritt für die Übertragung übers Ethernet nochmals in PPPoE-Pakete verpackt werden, um dann ans DSL-Modem geschickt zu werden. Das zweite Verpacken kann durch den pppoe-Dämon oder durch den Kern erfolgen. Mittels CIRC_x_PPP_ETHERNET_TYPE wird die Art und Weise der PPPoE-Paketerzeugung definiert, siehe hierzu Tabelle 4.21.
Standard-Einstellung: CIRC_x_PPP_ETHERNET_TYPE='kernel'
Beispiel: CIRC_1_PPP_ETHERNET_TYPE='daemon'
Der fli4l kann auch konfiguriert werden, eingehende PPPoE-Verbindungen anzunehmen, also als ein Server zu fungieren. Solche PPPoE-Verbindungen werden ebenfalls als PPP-Circuit konfiguriert (siehe Circuits vom Typ “ppp”), d. h. es gilt:
CIRC_x_TYPE='ppp'
Zusätzlich muss das OPT_PPP_ETHERNET_SERVER
aktiviert werden:
Diese Variable aktiviert die Unterstützung für eingehende PPPoE-Verbindungen. Damit auch tatsächlich PPPoE-Verbindungen angenommen werden können, muss mindestens ein PPP-Circuit den Typ “ethernet-server” besitzen, d. h. es muss zusätzlich gelten
CIRC_x_TYPE='ppp' CIRC_x_PPP_TYPE='ethernet-server'
(wobei “x” einen gültigen Circuit-Index darstellt).
Standard-Einstellung: OPT_PPP_ETHERNET_SERVER='no'
Beispiel: OPT_PPP_ETHERNET_SERVER='yes'
Zu den allgemeinen Circuit-Variablen kommen die folgenden, für PPP-Circuits des Typs “ethernet-server” spezifischen Variablen hinzu:
Diese Variable enthält den Namen der Netzwerk-Schnittstelle, über die PPPoE genutzt werden soll. Dabei entspricht eth0 der ersten Ethernet-Karte, eth1 der zweiten Ethernet-Karte u. s. w.
Beispiel: CIRC_1_PPP_ETHERNET_SERVER_DEV='eth1'
PPPoE steht für die Übertragung von PPP-Paketen über Ethernet-Leitungen. Das bedeutet, dass die zu übertragenden Daten im ersten Schritt vom ppp-Dämon in PPP-Pakete und dann in einem zweiten Schritt für die Übertragung übers Ethernet nochmals in PPPoE-Pakete verpackt werden. Das zweite Verpacken kann durch den pppoe-Dämon oder durch den Kern erfolgen. Mittels CIRC_x_PPP_ETHERNET_SERVER_TYPE wird die Art und Weise der PPPoE-Paketerzeugung definiert, siehe hierzu Tabelle 4.21.
Standard-Einstellung: CIRC_x_PPP_ETHERNET_SERVER_TYPE='kernel'
Beispiel: CIRC_1_PPP_ETHERNET_SERVER_TYPE='daemon'
Diese Variable enthält die Anzahl der Verbindungen, die dieser PPPoE-Server maximal gleichzeitig verwalten kann.
Standard-Einstellung: CIRC_x_PPP_ETHERNET_SERVER_SESSIONS='64'
Beispiel: CIRC_1_PPP_ETHERNET_SERVER_SESSIONS='100'
Beispiel 1 (Internet-Zugang über PPPoE):
OPT_PPP='yes' # PPP-Circuits aktivieren OPT_PPP_ETHERNET='yes' # PPPoE-Client-Circuits aktivieren # CIRC_N='1' CIRC_1_NAME='DSL-Telekom' # beliebig, aber eindeutig CIRC_1_TYPE='ppp' # das ist ein PPP-Circuit CIRC_1_ENABLED='yes' CIRC_1_NETS_IPV4_N='1' CIRC_1_NETS_IPV4_1='0.0.0.0/0' # Default-Route ins Internet CIRC_1_CLASS_N='1' CIRC_1_CLASS_1='internet' # Klasse für Internet-Anbindung CIRC_1_UP='yes' # beim Booten aktivieren CIRC_1_TIMES='Mo-Su:00-24:0.0:Y' CIRC_1_USEPEERDNS='yes' # DNS-Server des Providers nutzen CIRC_1_PPP_TYPE='ethernet' # PPPoE-Client CIRC_1_PPP_USERID='anonymer' # Benutzername zur Authentifizierung CIRC_1_PPP_PASSWORD='surfer' # Passwort zur Authentifizierung CIRC_1_PPP_ETHERNET_TYPE='kernel' # Kernel soll PPPoE-Pakete packen CIRC_1_PPP_ETHERNET_DEV='eth1' # Karte, an der das DSL-Modem hängt # CIRC_CLASS_N='1' CIRC_CLASS_1='internet' # Klasse aller Internet-Circuits
Beispiel 2 (PPPoE-Server):
OPT_PPP='yes' # PPP-Circuits aktivieren OPT_PPP_ETHERNET_SERVER='yes' # PPPoE-Server-Circuits aktivieren OPT_PPP_PEERS='yes' # zum Speichern der Anmeldedaten PPP_PEER_N='1' # 1x Anmeldedaten hinterlegen PPP_PEER_1_USERID='user' # Benutzername vom Client PPP_PEER_1_PASSWORD='pass' # Passwort vom Client PPP_PEER_1_CIRCUITS='pppoe-eth1' # Anmeldedaten gelten für PPPoE-Circuit # CIRC_N='1' CIRC_1_NAME='pppoe-eth1' # beliebig, aber eindeutig CIRC_1_TYPE='ppp' # das ist ein PPP-Circuit CIRC_1_ENABLED='yes' CIRC_1_UP='yes' # beim Booten aktivieren CIRC_1_TIMES='Mo-Su:00-24:0.0:Y' CIRC_1_PROTOCOLS='ipv4' # IPv4 soll über die Verbindung laufen CIRC_1_PPP_TYPE='ethernet-server' # PPPoE-Server CIRC_1_PPP_PEER_AUTH='yes' # Client-Authentifizierung ist Pflicht CIRC_1_PPP_LOCALIP='192.168.222.1' # IP-Adresse des Servers CIRC_1_PPP_REMOTEIP='192.168.222.2' # Start-IP-Adresse der Clients CIRC_1_PPP_ETHERNET_SERVER_TYPE='kernel' # Kernel soll PPPoE-Pakete packen CIRC_1_PPP_ETHERNET_SERVER_DEV='eth1' # Ethernet-Karte für PPPoE CIRC_1_PPP_ETHERNET_SERVER_SESSIONS='10' # max. 10 Clients
In der Dokumentation des PPP-Pakets im Abschnitt
“Multilink PPP” finden Sie ein Beispiel gebündelter
PPPoE-Server-Verbindungen.