

	\documentclass[a4paper,11pt]{article}
	\usepackage{ngerman}
	\usepackage[latin1]{inputenc}
	\setlength\parskip{\medskipamount}
	\setlength\parindent{0pt}
	\begin{document}

	
 % adsl
 % Copyright Simon Schwarz
 % Lizenz: GFDL
 % 
 % $Name: $
 % $Revision: 1.2.2.8 $
 % $Source: /cvsroot/selflinux/tutorial/software/internet/zugang/dsl/adsl/adsl,v $
 % SelfLinux-0.7.2
 %
 % Diese Datei ist Teil von SelfLinux http://www.selflinux.de
 %
 %%% $Id: adsl,v 1.2.2.8 2003/02/09 19:10:59 fboerner Exp $

	\title{Dokumentation zu ADSL}


	
	    \author{Simon Schwarz}
	    %\url{mailto:s.sch-@gmx.de}
    

	\maketitle

	
	
	%\ref{../index.tex}
	
		%\ref{andere_dienste1.tex}
		Internet
		%\ref{Zugang.tex}
		Zugang
	\ref{adsl}

    \par{Layout}
    Axel Gross
	    %\url{mailto:axelgross@web.de}
    
    	\par{Lizenz}
	GFDL
 
	\tableofcontents{}

        
	\section{Warum rp-pppoe?} \label{d43e52}
        
	  
	  
	   
  \par
  
Der Roaring-Penguin Treiber ist eine sogenannte Userspace-Lösung, ist also 
ein eigenständiges Programm und nicht Teil des Kernels. Das hat den 
Nachteil, dass der rp-pppoe mehr CPU-Zeit benötigt als die Kernel 
Lösungen, dafür aber größtenteils Kernel unabhängig ist und schon 
längere Zeit als stabil eingestuft wird.
	   
	  \section{Die Voraussetzungen für den rp-pppoe} \label{d43e66}
        
	  
	  
	   \begin{list}{*}{}
	    
	\item Ein Linuxsystem mit einem Kernel \verb+>+=2.0
	    
	    
	\item Kernelunterstützung für ''packet sockets''. (Das ist bei den
  meisten Standard Kerneln der Fall)
	    
	    
	\item ppp daemon, Version 2.3.7 oder besser. Wenn dial-on-demand
  (Einwählen wenn gebraucht) benutzt wird, Version 2.3.10 oder besser.
  Für Kernel der 2.4 Serie muss der pppd 2.4 installiert werden.
	    
	    
	\item Eine funktionierende Ethernet-Netzwerkkarte
	    
	    
	\item Ein ADSL Modem
	    
	    
	\item ADSL Provider
	    
	   \end{list}
	  \section{Installation der Netzwerkkarte} \label{d43e98}
        
	  
	  
	   
  \par
  
Um die in Deutschland üblichen DSL Anschlüsse nutzen zu können, 
braucht man eine funktionierende Netzwerkkarte (von internen Modems 
abgesehen). Das kann auch eine alte 10BaseT (RJ45-Anschluss) Karte 
sein, solange Linux Treiber für sie verfügbar sind. Um die Karte zu 
installieren, müssen die entsprechenden Module geladen werden. 
Mithilfe von {\bf modconf} kann der Treiber über eine Oberfläche bequem 
installiert werden. Sollte dieses Programm nicht zur Verfügung stehen, 
kann man {\bf insmod} benutzen: 
	   
	   
	     \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
insmod \verb+<+modulname\verb+>+
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
  \par
  
Man sollte noch einen Blick in die Datei {\bf /etc/modules} werfen. Dort 
sollte nun ein Eintrag mit dem Kernel-Modul vorhanden sein, damit es 
bei jedem Start des Systems automatisch geladen wird.
	   
	   
  \par
  
Um die Einrichtung abzuschließen, muss noch eine eventuell vorhandene 
default Route gelöscht werden:
	   
	   
	     \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
route del default
	     \end{scriptsize} \end{tt} \linebreak 
	   
	  \section{Die Verkabelung} \label{d43e139}
        
	  
	  
	   
  \par
  
Als erstes muss vor dem NTBA (bei ISDN) der Splitter installiert 
werden, der das ISDN/Analog Signal vom DSL-Signal trennt. An den 
Splitter wird dann mit einem RJ-45 Netzwerkkabel das DSL-Modem 
angeschlossen. Eventuell muss noch beim Splitter eingestellt werden ob 
das Telefonsignal Analog oder ISDN ist. Um die Verkabelung 
abzuschließen, verlegt man noch ein Netzwerkkabel von der 
Netzwerkkarte zum DSL-Modem.
	   
	   
Verkabelung mit einem externen Modem
	    
	   
  \par
  
Mithilfe des folgenden Kommandos kann man überprüfen, ob die
Verkabelung richtig vorgenommen wurde:
	   
	   
	     \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
pppoe -I eth1 -A
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
  \par
  
Wenn alles funktioniert sollte die Ausgabe wie folgt aussehen:
	   
	   
	    \begin{tt} \begin{scriptsize} Access-Concentrator: OSNC13-nrp3 \linebreak Got a cookie: 50 64 87 59 6d bf 73 00 1d 67 98 7d c2 d3 a5 32 \linebreak AC-Ethernet-Address: 00:01:96:99:50:b7\end{scriptsize} \end{tt} \linebreak
	   
	  \section{Die Konfiguration} \label{d43e180}
        
	  
	  
	  \section{pap-secrets} \label{d43e188}
        
	  
	  
	   
  \par
  
Um den Anschluss zu konfigurieren, wird die Datei
{\bf /etc/ppp/pap-secrets} mit einem beliebigen Editor geöffnet:
	   
	   
	     \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
vi /etc/ppp/pap-secrets
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
	   
  \par
  
In dieser Datei müssen nun die Einwahldaten eingetragen werden.
	   
	   
  \par
  
Achtung: Das hier aufgeführte Beispiel gilt für T-Online Anschlüsse. 
Bei anderen Providern können die Einwahldaten anders aussehen.
	   
	   
    
    %table
    \begin{tabular}{|l|}
    \hline 
            
               
		\begin{minipage}{60mm}
              Anschlusskennung: 11111111111
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              T-Onlinenummer: 222222222222
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              Mitbenutzer: 0001
		\end{minipage}
	      \\ \hline 
            
               
		\begin{minipage}{60mm}
              Passwort: passwort
		\end{minipage}
	      \\ \hline
    \end{tabular}
  
	   
  \par
  
Bei der Mitbenutzernummer muss darauf geachtet werden, nur die 0001 zu
verwenden, da eine Einwahl mit z.B. 0002 zusätzliche Kosten 
verursachen kann. Am Anfang steht die Anschlusskennung gefolgt von 
der T-Onlinenummer, die durch ein \# von der Anschlusskennung getrennt 
wird. Dann wird wieder durch ein \# getrennt die Mitbenutzernummer 
und ''@t-online.de'' angehängt, so dass sich folgende Zeichenkette 
ergibt:
	   
	   
  \par
  
	   11111111111\#222222222222\#0001@t-online.de
	   
	   
  \par
  
	   Diese muss zusammen mit dem Passwort in die Datei geschrieben werden:
	   
	   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        Auszug der Datei pap-secrets\end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
# Secrets for authentication using PAP
# client      server      secret      IP adresses

"111111111111#222222222222#0001@t-online.de"  *  "passwort"
	    \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}
	  \section{dsl-provider} \label{d43e261}
        
	  
	  
	   
  \par
  
In der Datei {\bf /etc/ppp/peers/dsl-provider} müssen nun die für den {\bf ppp}
nötigen Optionen eingestellt werden.
	   
	   
  \par
  
Die Option {\bf user} muss mit den Einwahldaten, wie sie auch in der
pap-secrets stehen, gefüttert werden (ohne das Passwort natürlich).
Ausserdem muss das Device (z.B. eth0) entsprechend angepasst werden.
Mit dem Befehl {\bf man pppd} kann eine nähere Beschreibung der einzelnen
Optionen aufgerufen werden.
	   
	   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        Auszug der Datei dsl-provider\end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
# Configuration file for PPP, using PPP over Ethernet
# to connect to a DSL provider.
#
# See the manual page pppd(8) for information on all the options.

##
# Section 1
#
# Stuff to configure...

# MUST CHANGE: Uncomment the following line, replacing the user@provider.net
# by the DSL user name given to your by your DSL provider.
# (There should be a matching entry in /etc/ppp/pap-secrets with the password.)
#user myusername@myprovider.net

# Use the pppoe program to send the ppp packets over the Ethernet link
# This line should work fine if this computer is the only one accessing
# the Internet through this DSL connection. This is the right line to use
# for most people.
pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452"

# If the computer connected to the Internet using pppoe is not being used
# by other computers as a gateway to the Internet, you can try the following
# line instead, for a small gain in speed:
#pty "/usr/sbin/pppoe -I eth0 -T 80"

# An even more conservative version of the previous line, if things
# don't work using -m 1452...
#pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1412"


# The following two options should work fine for most DSL users.

# Assumes that your IP address is allocated dynamically
# by your DSL provider...
noipdefault
# Comment out if you already have the correct default route installed
defaultroute

##
# Section 2
#
# Uncomment if your DSL provider charges by minute connected
# and you want to use demand-dialing.
#
# Disconnect after 300 seconds (5 minutes) of idle time.

#demand
#idle 300

##
# Section 3
#
# You shouldn't need to change these options...

hide-password
lcp-echo-interval 20
lcp-echo-failure 3
# Override any connect script that may have been set in /etc/ppp/options.
connect /bin/true
noauth
persist
mtu 1492
	    \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}
	  \section{Dial-on-demand} \label{d43e296}
        
	  
	  
	   
  \par
  
Für all diejenigen die einen zeitabhängigen Tarif haben, ist die
{\bf Section 2} in der Datei {\bf dsl-provider} interresant. Hier kann durch
Auskommentieren von {\bf demand} die automatische Einwahl und {\bf idle xxx}
das automatische Trennen der Verbindung aktiviert werden. Die xxx
muss durch die Idle Zeit in Sekunden ersetzt werden.
	   
	  \section{Der erste Start} \label{d43e322}
        
	  
	  
	   
  \par
  
Bevor wir zum ersten Mal die Verbindung testen, sollte noch in der 
{\bf dsl-provider} die Option {\bf nodetach} angefügt werden, so dass der {\bf pppd}
beim Start nicht in den Hintergrund rutscht und wir die Ausgaben 
verfolgen können. Um alle Ausgaben verfolgen zu können, geben wir in 
einer extra Konsole, als root, noch folgenden Befehl ein:
	   
	   
	     \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
tail -f /var/log/messages
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
  \par
  
	   Nun können wir die Verbindung zum erstenmal testen:
	   
	   
	     \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
pppd call dsl-provider
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
  \par
  
	   Die Ausgabe des pppd sollte in etwa so aussehen:
	   
	   
	    \begin{tt} \begin{scriptsize} pppd[1578]: pppd 2.4.1 started by root, uid 0 \linebreak pppd[1578]: Serial connection established. \linebreak pppd[1578]: Using interface ppp0 \linebreak pppd[1578]: Connect: ppp0 \verb+<+--\verb+>+ /dev/pts/2 \linebreak pppoe[1579]: PADS: Service-Name: '' \linebreak pppoe[1579]: PPP session is 31959 \linebreak pppd[1578]: local\verb+  +IP address 62.226.75.9 \linebreak pppd[1578]: remote IP address 62.225.254.169  \linebreak \verb+  +\verb+  +\verb+  +\verb+  +\verb+  +\verb+  + \end{scriptsize} \end{tt} \linebreak
	   
	   
  \par
  
Um zu testen, ob die Verbindung funktioniert, muss ein {\bf ping} auf eine
ip abgesetzt werden:
	   
	   
	    \begin{tt} \begin{scriptsize} user@linux \~{}/ \$ 
ping 134.100.212.78
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
  \par
  
War der Ping erfolgreich, so steht auch unsere Verbindung. Nun können
wir noch testen, ob der Nameserver richtig übernommen wurde:
	   
	   
	    \begin{tt} \begin{scriptsize} user@linux \~{}/ \$ 
ping www.selflinux.de
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
  \par
  
Sollte die Namensauflösung fehlschlagen, kann man alternativ auch 
einen DNS-Server per Hand eintragen. Dies muss in der Datei
{\bf /etc/resolv.conf} geschehen:
	   
	   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        Auszug der Datei resolv.conf\end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
search
nameserver 212.185.253.9
nameserver 194.25.2.129
	    \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}
	   
  \par
  
Normalerweise sollte dies aber nicht nötig sein, da die Adresse des 
Nameservers automatisch bezogen werden sollte.
	   
	  \section{Manuelle Einwahl} \label{d43e408}
        
	  
	  
	   
  \par
  
Die manuelle Einwahl ist für all diejenigen interresant, die einen
zeitabhängigen Tarif haben und die Kosten gerne unter Kontrolle haben
(was bei Dial-on-Demand nicht der fall ist).
	   
	   
  \par
  
	   Um eine manuelle Einwahl durchführen zu können, muss ein Script in
{\bf /usr/local/bin/} angelegt werden. Das Script kann man nennen wie man
will, sinnvoll ist z.B. {\bf connectadsl} o.ä.
	   
	   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        Connectadsl\end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
#! /bin/sh
#
# Connectadsl: Skript zur Erstellung einer Verbindung zum Provider
# via ADSL/T-DSL fuer Debian GNU/Linux
#
# Verbindung starten: connectadsl start
# Verbindung stoppen: connectadsl stop
#
# written by: Michael Schlenstedt
# Michael@adsl4linux.de
# http://www.adsl4linux.de
#
# Version: 0.2a
#
#
# Einstellungen:
#
#
#
# Pfad zu pppd
#
PPPD="/usr/sbin/pppd"
#
# Pfad zu sudo
#
SUDO="/usr/bin/sudo"
#
#
#
# Ende der Einstellungen
#
#
#
# Wenn UID ungleich "0" (root), dann führe Skript mit sudo aus
#
#
if test -x $SUDO; then
   if test $UID -ne 0; then
            exec $SUDO $0 $*
   fi
fi
#
# Mit welchem Parameter wurde das Skript gestartet: Start oder Stop
#
case "$1" in
#
# Bei Stop wird aufgelegt
#
stop)
     echo Verbindung beenden
     killall pppd
     ;;
#
# Beim Parameter (Start) wird die Verbindung aufgebaut
#
start)
     echo Verbindung starten
     $PPPD call dsl-provider
     ;;
*)
     echo Falscher oder garkein Parameter angegeben!
     echo Bitte starten sie $0 mit dem Parameter start oder stop
     ;;
esac
	    \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}
	   
  \par
  
Der große Vorteil bei der Verwendung dieses Scriptes ist, dass auch
ein non-root user eine Internetverbindung herstellen kann. Diese
Funktion wird über das Programm {\bf sudo} realisiert.
	   
	   
  \par
  
Soll nur root die Möglichkeit des Einwählens haben, so reichen die
folgenden Befehle aus, und das Script wird nicht benötigt:
	   
	   
	     \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
pon dsl-provider
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
  \par
  
	   Verbindungs Abbau:
	   
	   
	     \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
poff
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
  \par
  
Um nun als normaler user die frisch eingerichtete Internetverbindung 
nutzen zu können, muss noch das Programm {\bf sudo} installiert werden.
Normalerweise sollte jede Distribution ein entsprechendes Paket
bereitstellen. Sollte dies nicht der Fall sein, kann man es hier
www.courtesan.com/sudo/ herunterladen.
	   
	   
  \par
  
Ist die Installation abgeschlossen, muss {\bf sudo} nur noch konfiguriert
werden. Hierzu ruft man {\bf visudo} auf:
	   
	   
	     \begin{tt} \begin{scriptsize} root@linux \~{}/ \# 
visudo
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
  \par
  
Visudo lässt sich wie der Editor vi benutzen.
	   
	   
  \par
  
Nun trägt man wie im unteren Beispiel die User ein, die das Internet 
nutzen können sollen.
	   
	   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        sudoers file\end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
        
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL
Peter   ALL=NOPASSWD:/usr/local/bin/connectadsl
	    \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}
	   
  \par
  
Loggt man sich nun mit dem Benutzer Peter ein, kann er mit den
folgenden zwei Befehlen die eingerichtete Verbindung nutzen:
	   
	   
	    \begin{tt} \begin{scriptsize} user@linux \~{}/ \$ 
connectadsl start
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
	    \begin{tt} \begin{scriptsize} user@linux \~{}/ \$ 
connectadsl stop
	     \end{scriptsize} \end{tt} \linebreak 
	   
	   
  \par
  
	   Damit ist die Einrichtung des A-DSL Anschlusses abgeschlossen.
	   
	   
  \par
  
	   Viel Spaß im WWW (Welt Weites Warten *g*)
	   
	  \section{Danksagung} \label{d43e527}
        
	  
	  
	   
  \par
  
	   Viele Informationen und Texte für diesen Artikel stammen von
www.adsl4linux.de
	   
	  
	\ref{inhalt.tex}


	\end{document}
	
