Möglichkeiten und Vorgehensweise bei der Anbindung eines Linux Rechners an das Chello/Telekabel Netzwerk
Der Anschluß erfolgt mittels einer von Chello beigestellten Netzwerkkarte mittel Twisted Pair Kabel an ein entsprechendes Modem.
Es werden mehrere Möglichkeiten der Konfiguration beschrieben.
Achtung:
Telekabel setzt mehrere verschiedene Arten der Netzwerkkarte ein, d.h. die angegebenen Typen bzw. Treiber sind nur beispielhaft angegeben.
Ebenso sind die angegebenen IP Adressen (Rechner und Gateway) nur als Beispiel zu sehen und auf jeden Fall durch die eigenen Werte zu ersetzen,
Da Chello "echte" IP Adressen verwendet ist der Rechner weltweit erreichbar. Die Installation einer Firewall bzw. eines IP Packetfilters wird unbedingt empfohlen - siehe Links
siehe Links
Kommentare und vor allem aktive Beiträge zu diesem Teil des Dokuments (Kabelnetze) sind jederzeit willkommen. Bitte senden sie Hinweise/Kommentare zu dieser Version an mich ( <august.hoerandl@gmx.at>).
Dieses Teil des Howto ist aus einigen Postings in news:telekabel.linux und news:at.linux entstanden.
Falls es sich um eine PnP (Plug & Play) Netzwerkkarte handelt, sollte diese Funktion vorher abgeschaltet werden - Anleitung.
Die statische Variante ist länger, funktioniert aber immer, die DHCPClient Variante geht eventuell nur mit einem neueren dhcpclient (neuer als SuSE 6.1) - siehe update).
Ab SuSE 7.0 gibt es auch im Handbuch eine Anleitung zur Installation. Siehe auch SuSE Support Datenbank.
Achtung: da die Leasetime (Gültigkeitsdauer) der Adresse auf unendlich gesetzt ist, beendet sich das Script bei SuSE sofort und meldet einen Fehler, trotzdem funktioniert es perfekt.
Notwendige Information:
Siehe auch SuSE Support Datenbank
Kommandozeile: YaST aufrufen
Netzwerk konfigurieren
Netzwerkdienste konfigurieren:
Danach YaST beenden.
Neustarten des Systems oder:
init 1
eingeben und
warten bis der runlevel 1 erreicht ist und dann
init 2
eingeben (oder init 3
für X).
Die Konfiguration kann mit
BOOTP oder
DHCP vereinfacht werden.
Kontrollieren Sie nun mit ifconfig
ob Sie
ein Device lo (loopback) und ein Device eth0
(1. Ethernetdevice) erhalten haben. Sollte eth0
fehlen, dann haben Sie bei der Auswahl der
Netzwerkhardware ein falsches Gerät gewählt,
oder Ihre Karte reagiert nicht auf der eingestellten
IO-Adresse oder dem eingestellten Interrupt.
siehe auch update.
Siehe auch SuSE Support Datenbank
Achtung: Das eigentliche Programm/Paket heisst: dhcpcd (DHCP Client Dämon) - NICHT das Paket dhclient verwenden.
Kommandozeile: YaST aufrufen
Administration des Systems
Installation festlegen/starten (je nachdem welche Installationsart du gewählt hast kommt jetzt ein Dialog)
NICHT
dhcp ISC DHCP Server auswählen)Dort auf Administration des Systems
dann Konfig Scripts laufen lassen
dann den Rest so wie bei der statischen Methode machen, (die Menüs die grau sind, und deshalb nicht ausgewählt werden können, einfach überspringen)
Nach dem Booten sollte man kontrollieren, ob die Netzwerkkarte richtig erkannt wurde: mit Shift-PgUP (Bild-Oben) oder mit "dmesg" die Ausgaben des Kernels kontrollieren; eventuell muß das entsprechende Modul 3c59x geladen werden.
Zuerst wird die Netzwerkkarte mit einer beliebigen Adresse initialisiert: "ifconfig 192.168.1.1".
Dann wird "dhclient eth0" aufgerufen - in weiteren Fenstern kann man mit "tcpdump" den Verkehr am Netz beobachten bzw. mit "watch ifconfig" die Konfiguration kontrollieren - irgendwann sollte dhclient Erfolg melden bzw. ifconfig eine andere Adresse (statt 192.168.X.X) anzeigen - die Datei /var/state/dhcp/dhclient.leases enthält nach erfolgter dhcp Konfiguration die erhaltenen Daten und kann damit auch zur Kontrolle verwendet werden.
Die Routen und der Nameserver werden von dhclient automatisch gesetzt d.h. keine weiteren Schritte notwendig.
Der dhclient der mit SuSE 6.1 kommt ist scheinbar nicht
kompatibel mit dem Telekabel Server - ich habe mir eine neuere
Version (dhcp-2.0b1pl27) von
http://gd.tuwien.ac.at/infosys/servers/isc/dhcp/ geholt
und übersetzt (im README gibt es eine genaue Anleitung:
./configure und make); Ich habe nur den neuen client aus dem
Verzeichnis client nach /sbin
kopiert.
Ab Version 7.0 ist bei SuSE ein neuer Client (dhcpcd) dabei - damit sollte es perfekt funktionieren.
Falls es sich um eine PnP (Plug & Play) Netzwerkkarte handelt, sollte diese Funktion vorher abgeschaltet werden.
Der passende Treiber heißt 3Com EtherLink III EISA (3C579) und kommt direkt von der Diskette auf der auch das Tool zum Deaktivieren von pnp ist. Nicht der von der Win95 CD. Mit dem hat's bei mir nicht geklappt. In den Eigenschaften dieses Treibers gibt's, trotz non pnp, gar keine Einstellungen zu IRQ und I/O.
Hinweis: Die Diskette mit den entsprechenden Treibern gibt es meiste auf der Hompage des Kartenherstellers.
Es gibt auch einige Utilities für Linux: Linux Network Drivers
Weitere Links für 3Com Karten: 3c509b Umschaltung/Konfiguration Installationshinweise 3Com Suchmaschine
Man kann auch eine andere (nicht PnP) Karte einsetzen -- siehe andere Karte.
Unter Systemsteuerung/Netzwerk hab ich die Protokolle für pnp gar nicht entfernen müssen. (sind jetzt alle doppelt vorhanden)
Noch mal alle Schritte:
Die nachfolgende Anleitung hat auf einem RedHat 5.1 System (inkl. einiger Update-Packages) zu einem funktionierenden TK-Anschluß geführt. In diesem Kapitel stehen alle IP-Nummern der Art 99.99.99.99 für die eigene IP-Adresse und müssen durch diese ersetzt werden. Für das Gateway steht 99.99.99.1, für das Netzwerk 99.99.99.0; hier sind statt der 9er-Gruppen jeweils die ersten drei Zahlen der eigenen IP-Adresse einzusetzen.
Zunächst eine (nicht notwendigerweise vollständige) Liste der Packages, welche installiert sein müssen:
Überprüfung durch befragen der RPM-Datenbank:
rpm -q net-tools netkit-base bind-utils
liefert z.B.
net-tools-1.46-1
netkit-base-0.10-13
bind-utils-4.9.6-11
Im X das Control-Panel starten (unter Administration enthalten).
Im Fenster "Netzwerkverwaltung" nun wählen:
die weiteren 'search domain 2-6' können leer bleiben
Im Fenster "Netzwerkverwaltung" nun wählen:
Es gibt noch die Möglichkeit /etc/networks
zu
bearbeiten. Bei mir ist das leer. Falls es Sinn
macht, dort was reinzuschreiben: Der Ablauf ist analog
zu /etc/hosts
, nur dass das erste Fenster eben
/etc/networks
heisst. Alle anderen Fenster/Felder sind
ident. Der Aufruf geht so:
Letzter Schritt: Konfiguration der Netzwerkkarte beim Start automatisch durchführen
/etc/rc.d
anlegen, zB. /etc/rc.d/MyRouteInit
und mit dem Editor Deiner Wahl wie folgt eintragen (siehe auch
Default
Gateway):
# /etc/rc.d/MyRouteInit
#
# Module laden
#
ifconfig lo
ifconfig eth0
#
# LoopbackDevice konfig und Route setzen
#
ifconfig lo 127.0.0.1
route add 127.0.0.1
#
# selbes mit eth0, incl. Default Gateway
#
ifconfig eth0 99.99.99.99 netmask 255.255.255.0
route add -net 99.99.99.0
route add default gw 99.99.99.1
#
# testen
#
route -n
#
cd /etc/rc.d
chmod 0755 MyRouteInit
Kontrolle mit
ls -l My*
-rwxr-xr-x 1 root root 534 Aug 18 19:52 MyRouteInit
./MyRouteInit
ping 195.34.133.11
ping www.orf.at
traceroute 199.183.24.225
/etc/rc.d/rc.local
bearbeiten: Am Besten nach den Eingangs-Kommentaren die
folgenden Zeilen einfügen:
:
:
# set my network environment
#
if [ -f /etc/rc.d/MyRouteInit ]; then
/etc/rc.d/MyRouteInit
fi
#
# on with the original stuff
:
:
siehe Nameserver und Gateway
Datei /etc/resolv.conf
search telekabel.at
nameserver 195.34.133.10
nameserver 195.34.133.11
Datei /etc/host.conf
order hosts bind
multi on
Datei /etc/nsswitch.conf
(? nur wenn vorhanden - nur glibc2 ?)
hosts: files dns
networks: files dns
zuerst das looopback device (lo)
ifconfig lo 127.0.0.1
ifconfig lo
route add 127.0.0.1
route -n
ping 127.0.0.1
selbes mit eth0 (Nummern bitte anpassen)
ifconfig eth0 212.17.17.14 netmask 255.255.255.0
ifconfig
(es sollte das Device lo und das eth0 sichtbar sein)route add -net 212.17.17.0
route -n
ping 212.17.17.1
route add default gw 212.17.17.1
ping 128.130.2.3
ping tunamea.tuwien.ac.at
Verbesserung:
Alle Rechner in /etc/hosts
eintragen -
dann kann man auch Namen statt der Nummern verwenden
(siehe
Rechnername und
Gateway)
127.0.0.1 localhost
212.17.17.14 dein.rechner.name
212.17.17.1 default.gateway
Die Konfiguration kann mit
BOOTP vereinfacht
werden.
Linux bietet auch die Möglichkeit, die IP Adresse direkt vom Kernel via BOOTP Protokoll zu bestimmen.
Dazu müssen bei der Konfiguration eines 2.2.x Kernels folgende Optionen ausgewählt werden:
Achtung: Im Gegensatz zu der Konfiguration mit DHCP werden dabei z.B. die Nameserver nicht automatisch konfiguriert.
Dieser Kapitel von Wolfgang Winkler <winklerw@telering.at> beschreibt alles noetige um einen Linux-PC, der ueber kein geeignetes ein Konfigurationswerkzeug verfuegt, ans chello-Netz zu bringen.
Diese Methode funktioniert wahrscheinlich fuer jedes Betriebssystem, vorausgesetzt der dhcp-client ist verfuegbar oder laesst sich kompilieren.
In der Dokumentation werden folgende genannt:
Ich gehe davon aus, dass die Bedeutung/Aufgabe von Konfigurationsdateien wie z.B.
/etc/resolv.conf
bekannt ist und auch wie man sie erfolgreich editiert.
Software: dhcp-3.0pl2 (am 11.05.2003) Das Packet enthaelt DHCP-client und -server, es wird aber nur der Client benoetigt).
Bei Bedarf source von ftp://ftp.isc.org/isc/dhcp/dhcp-3.0pl2.tar.gz (845 kB) runterladen, kompilieren und installieren.
config-file fuer dhclient: /etc/dhclient.conf
#/etc/dhclient.conf
#based on instructions taken from BLFS-BOOK: http://beyond.linuxfromscratch.org
#eth0 bei Bedarf aendern !!
timeout 45;
retry 30;
interface "eth0" {
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name;
require subnet-mask, domain-name-servers;
}
# end /etc/dhclient.conf
Die Zeilen timeout 45
und retry 30
sind optional und legen das Verhalten fuer
den dhclient fest, wenn nicht gleich eine Antwort vom Chello-DHCP-Server kommt. In so einem Fall geht
dhclient
nach timeout
Sekunden in den Hintergrund, wartet retry
Sekunden,
und versucht dann wieder eine IP-Adresse vom DHCP-Server zu bekommen.
Details zur Konfiguration: man dhclient.conf
Zum Konfigurieren der Netzwerkkarte reicht dann das Starten des Programms dhclient
als root.
Das sieht normalerweise dann so aus:
Internet Software Consortium DHCP Client V3.0pl2
Copyright 1995-2001 Internet Software Consortium.
All rights reserved.
For info, please visit http://www.isc.org/products/DHCP
Listening on LPF/eth0/xx:xx:xx:xx:xx:xx (MAC-Adresse der Netzwerkkarte)
Sending on LPF/eth0/xx:xx:xx:xx:xx:xx (MAC-Adresse der Netzwerkkarte)
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPOFFER from 10.34.14.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 10.34.14.1
bound to xxx.xxx.xxx.xxx -- renewal in 1094119969 seconds.
dhcp-3.0pl2 bringt das script dhclient-script
mit, das automatisch von dhclient
gestartet wird und die Informationen, die vom chello-DHCP-Server kommen, automatisch in die entsprechenden
config-files eintraegt.
/etc/resolv.conf
sollte jetzt so aehnlich ausschauen:
search chello.at
nameserver 127.0.0.1
nameserver 195.34.131.180
nameserver 195.34.133.10
Das Kommando route -n
sollte dann aehnliches auswerfen:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
195.34.151.0 * 255.255.255.0 U 0 0 0 eth0
0.0.0.0 195.34.151.1 0.0.0.0 UG 0 0 0 eth0
Beispiel-Bootscript fuer Sys V-style-init
Pfade anpassen wenn notwendig!
#!/bin/sh
#starten mit "dhcp start" oder "dhcp stop"
case "$1" in
start)
echo "setting up eth0..."
#Bei Problemen eventuell noetig (vgl. /etc/modules.conf)
# modprobe eth0
/sbin/dhclient
;;
stop)
echo "shutting down eth0..."
/sbin/dhclient -r
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
Dieses Kapitel wurde gespendet von Anton Steiner <anton.steiner@salzburg-online.at>
Anforderung:
Kernel 2.6.x (hier 2.6.6) - selbstkompiliert und Kabelmodem (hier Motorola Surfboard) mit USB Anschluss.
Achtung: Nur Anschluß über Netzwerkkarte ODER USB
Module:
CDCEther (Devicedriver --> USB Support --> CDC Ethernet Support)
usbnet (Devicedriver --> USB Support --> Multipurpose USB Network Framework)
Die Module können entweder direkt in den Kernel oder als Module kompiliert werden. Als Module müssen sie mit
modprobe CDCEther
modprobe usbnet
eingebunden werden (man modules, update-modules, modules, modprobe)
Das Kommando
ifconfig -a
zeigt das Gerät als höchstes ethX Device (z.b. eth0 --> keine
Netzwerkkarte vorhanden , eth1 --> eine Netzwerkkarte ist vorhanden).
Weitere Installation wie bei
Manuelle Konfiguration + DHCP-client
Es gilt (Mai 2003) die Regelung, dass max. 1 GB/Monat traffic ueber die Leitungen von Chello geschickt werden darf, daher ist es wohl empfehlenswert den proxy-server der Uni zu verwenden.
Sofern der jeweilige Client das Autokonfigurationsscript (http://www.univie.ac.at/proxy fuer UNI Wien) versteht, gibts keine Probleme.
Eine manuelle Konfiguration ist auf keiner Support-Seite zu finden, laut ZID-Mitarbeitern ist der Proxy unter tk-proxy.univie.ac.at:3128 zu erreichen.
Wer sicher gehen will, dass der jeweilige Client auch wirklich den Proxy benutzt, kann sich unter:
Hier noch ein Vorschlag fuer die Konfiguration von wget:
~/.wgetrc
enthaelt dann folgendes:
http_proxy = http://tk-proxy.univie.ac.at:3128/
ftp_proxy = http://tk-proxy.univie.ac.at:3128/
use_proxy = on
ifconfig zeigt kein eth0 an: Treiber fehlt
ping xx.xx.xx.1 (IP Adresse des Gateway) geht nicht: IP Adresse nicht gesetzt (ifconfig) oder keine Route gesetzt
ping gateway funktioniert, ping auf alle anderen Rechner geht nicht: Route nicht gesetzt (route)
ping mit Nummer (IP Adresse) geht - mit Namen nicht: der Rechner findet den Name Server nicht
siehe Manuelle Konfiguration
nslookup ip.adresse
oder dig -x ip.adresse
Adresse des Default-Gateway: deine IP, aber letzte Stelle (letzte Gruppe nach dem Punkt) .1
zb: meine IP: 195.34.12.234, mein Gateway: 195.34.12.1)
Telekabel verwendet folgende Rechner (IP-Adressen) als Nameserver:
195.34.133.10 195.34.133.11
Teleweb unterstützt die automatische Proxy-Einstellung. gib unter edit|preferences|advanced|proxy die URL http://www.teleweb.at/autoproxy ein und aktiviere die automatische Einstellung.
Weiterführende Konfigurationshinweise (Browser, Mail, News etc.) gibt es bei Chello.
Wenn es mit der von Telekabel gelieferten Karte absolut nicht funktionieren will: man kann auch eine andere Karte einsetzen.
Bei der statischen Methode sollte es keine Probleme geben. Bei
der DHCP Variante sollte folgender Eintrag in der Datei
/etc/dhclient
vorgenommen werden:
send dhcp-client-identifier xx:xx:xx:xx:xx:xx:xx
Anstelle der xx ist die alte (von der original-tk-karte)
MAC-Adresse einzusetzen.
Bei einigen Karten kann auch direkt die MAC Adresse geändert werden:
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx:xx
damit funktioniert auch DHCP (Achtung: dieses Kommando muss vor dem Aktivieren der Karte ausgeführt werden).
Fehlermeldung:
dhcpcd[...] Infinite IP addresses lease time.Exiting failed
Infinite lease heißt nur, daß sich der Client nicht nach einer
bestimmten Zeit (=lease time) eine neue IP holen muß bzw. die
alte IP wieder reservieren muss. Der Client beendet sich deshalb,
nur die SuSE Skripts sehen das als Fehler -- die Verbindung
funktioniert trotzdem.
Dieses Kapitel wurde gespendet von Anton Steiner <anton.steiner@salzburg-online.at>
Konfiguration über DHCP - Client:
/etc/dhclient
timeout 60;
retry 60;
interface "ethX" { # entsprechend ifconfig -a anpassen
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name;
require subnet-mask, domain-name-servers;
}
Einbinden des DHCP-Client wie mit dem Bootscript unter
Manuelle Konfiguration + DHCP-client
beschrieben.
Die Konfiguration des Zuganges (Mailboxen, Webspace usw.) erfolgt
über
https://service.sbg.atZuletzt auch noch eine etwas verbesserte Version des dhclient Startscripts:
#!/bin/sh
#starten mit "dhclient start" oder "dhclient stop"
test -x /sbin/dhclient || exit 0
case "$1" in
start)
echo "Starting DHCP-Client: "
#Bei Problemen eventuell noetig (vgl. /etc/modules.conf)
# modprobe ethX
/sbin/dhclient eth1
;;
stop)
echo "Stopping dhclient: dhclient "
/sbin/dhclient -r
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac