Austrian Highspeed Internetconnection &ero; Linux HOWTO <htmlurl url="http://howto.htlw16.ac.at/AT-HIGHSPEED-HOWTO.html" name="(den Letztstand finden Sie hier)"> <author> <name> <htmlurl url="http://heimo.co.at" name="Heimo Schön"> <htmlurl url="mailto:heimo.schoen@gmx.at" name="<heimo.schoen@gmx.at>"> </author> <date>Version 4.03, 1. März 2007 <abstract> Setup einer Highspeed Internetanbindung mit <htmlurl url="http://www.linux.org" name="Linux">. Zugeschnitten für österreichische Providerverhältnisse. Dieses HOWTO unterstützt zur Zeit <ref id="adsl" name="ADSL">-, <ref id="ISDN" name="ISDN">- und <ref id="Kabel" name="Kabel"> (Chello/Telekabel, Kabelsignal, ...) Zugänge. </abstract> </titlepag> <sect>Allgemeines zu diesem HOWTO <label id="Allgemeines"> <sect1>Disclaimer <label id="Disclaimer"> <sect2>Comments/Kommentare <p> I would appreciate (but do NOT REQUIRE) that any changes (bugs, new features or spelling errors) be sent to me for inspection, discussion and possible inclusion into the next version. <p> Ich würde es begrüßen (es besteht aber keine Verpflichtung) daß Änderungen (Fehler, neue Funktionen, Rechtschreibfehler, etc.) an mich gesendet werden, zur Inspektion und Diskussion und möglicherweise zur Einarbeitung in die nächste Version dieses Dokuments. <sect2>Copyright <p> Dieses Dokument ist urheberrechtlich geschützt. Das Copyright liegt bei Heimo Schön und den auf der Titelseite genannten CO-Autoren für die Kapitel ADSL, Masquerading, ICQ, Kabel, uvm. <p> Das Dokument darf gemäß der <htmlurl url="http://www.gnu.org/copyleft/gpl.html" name="GNU General Public License"> verbreitet werden. Insbesondere bedeutet dieses, daß der Text sowohl über elektronische wie auch physikalische Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf, solange dieser Copyright Hinweis nicht entfernt wird und das Dokument in seiner Gesamtheit erhalten bleibt, somit weder fremde Texte hinzugefügt werden oder Teile des Dokuments entfernt werden. Eine kommerzielle Verbreitung ist erlaubt und ausdrücklich erwünscht. Bei einer Publikation in Papierform oder auf elektronischem Weg (Internet) ist der (sind die) Autor(en) zu informieren: <htmlurl url="mailto:roessmann@gmx.net" name="Bernhard Roessmann <roessmann@gmx.net>"> <htmlurl url="mailto:roland@wertkarten.net" name="Roland Seuhs <roland@wertkarten.net>"> <htmlurl url="mailto:august.hoerandl@gmx.at" name="August Hörandl <august.hoerandl@gmx.at>"> <htmlurl url="mailto:heimo.schoen@gmx.at" name="Heimo Schön <heimo.schoen@gmx.at>"> <p> Weder der Autor noch die CO-Autoren garantieren für die Funktion dieses HOWTOs. Es wird keine wie auch immer geartete Haftung oder Gewährleistung für dieses HOWTO durch den Autor oder die CO-Autoren übernommen. Weder der Autor noch die CO-Autoren haften für Schäden oder Kosten oder sonstige Schwierigkeiten, die durch dieses HOWTO entstehen. <p> Sie sollten eine Kopie der <htmlurl url="http://www.gnu.org/copyleft/gpl.html" name="GNU General Public License"> besitzen. Sollte dies nicht der Fall sein, schreiben Sie an Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. <p> <sect2>Links <p> Alle Links auf dieser Site werden in der Hoffnung zur Verfügung gestellt, das sie sinnvoll sind; aber OHNE GARANTIE, nicht einmal der impliziten Garantie für die VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Die Links auf dieser Site führen zu Ressourcen, auf die die Autoren dieses HOWTOs keinen Einfluß haben. Die dargestellten Inhalte und Meinungen müssen daher nicht mit der Meinung der HOWTO Autoren übereinstimmen. Die HOWTO Autoren übernehmen keine Verantwortung für diese Inhalte und Meinungen. Falls Sie diesen Haftungsauschluss nicht zustimmen, dürfen Sie die Links in diesem HOWTO nicht verwenden. <p> The links on this site are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This site links to pages, which are not under the control of the HOWTO-writers. The presented contents and opinions are not the opinions of the HOWTO-writers. The HOWTO-writers are in no form responsible for this contents and opinions. If you don't agree to the the above lack of warranty, you aren't allowed to to use the links in this HOWTO. <sect1>Einleitung <p> Dieses Dokument soll einen kleinen Leitfaden bieten, wenn Sie Ihren <htmlurl url="http://www.linux.org" name="Linux"> Rechner den Internetzugang mit <ref id="adsl" name="ADSL">-, <ref id="ISDN" name="ISDN">- oder <ref id="Kabel" name="Kabel">-Zugang mit dem Netz-der-Netze verbinden wollen. <p> Wenn Sie Ideen oder Anregungen zu diesem HOWTO haben, dann fühlen Sie sich frei sich bei mir zu melden. <itemize> <item>Heimo Schön <htmlurl url="mailto:heimo.schoen@gmx.at" name="<heimo.schoen@gmx.at>"> <item><htmlurl url="http://heimo.co.at" name="http://heimo.co.at"> </itemize> <p> Ich bin dankbar für alle Korrekturen und Anregungen. Wenn Sie spezielle Problemlösungen benötigen, dann muß ich Sie auf das Kapitel <ref id="adsl-problemloesungen" name="Probleme mit ADSL und deren Lösung"> und das Kapitel <ref id="Support" name="Support"> hinweisen. Individuelle Hilfe erhalten Sie (unter Beachtung der Nettikette) in der Newsgroup at.linux. <p> Wir (die Autoren) bitten um Ihr Verständnis, daß dieses HOWTO Non-Profit-Projekt entsteht, und wir (fast) alle unselbständig erwerbstätig sind. Wir können Ihnen daher (selbst gegen Bezahlung) keinen <ref id="Support" name="Support"> bieten. Bevor Sie sich an die Autoren wenden, "quälen" Sie bitte Ihre Logfiles und danach Ihren Provider. Sollten Sie alle Einstellungen entsprechend diesem HOWTO vorgenommen haben, und bieten auch die Logfiles und Debug-Outputs keine Anzeichen für einen Fehler in Ihrer Installation, dann liegt der Verdacht nahe, daß der Fehler beim Provider liegen könnte. <p> Dieses HOWTO entstand aus Anregungen von Kollegen und Bekannten (siehe auch Kapitel <ref id="danksagung" name="Danksagung">) und vielen Notizen die ich. Es war eigentlich nur als Sammlung für mich gedacht, damit ich beim nächsten Update nicht wieder alles zusammensuchen muß. <p> Wir (die Autoren) wünsche Ihnen noch viel Erfolg bei der Installation und dann noch viel Spaß mit Ihrem <ref id="ISDN" name="ISDN">, <ref id="adsl" name="ADSL"> oder <ref id="Kabel" name="Kabel"> Internetzugang mit dem erfolgreichsten Internet-Betriebssystem Linux. <p> Das Kapitel <ref id="adsl" name="ADSL"> wurde von <htmlurl url="mailto:roessmann@gmx.net" name="Bernhard Roessmann<roessmann@gmx.net>"> erarbeitet. <p> Das Kapitel <ref id="Masquerading" name="Linux als Internetgateway"> wurde von <htmlurl url="mailto:roland@wertkarten.net" name="Roland Seuhs <roland@wertkarten.net>">! zur Verfügung gestellt und soll dem Leser das IP-Masquerding näherbringen. Hier finden Sie die Homepage von <htmlurl url="http://Roland.Seuhs.com" name="Roland Seuhs"> <p> <htmlurl url="mailto:stsz@gmx.net" name="Szomraky Stefan<stsz@gmx.net>"> hat das Kapitel <ref id="icq" name="ICQ"> erstellt. <p> Internet über <ref id="Kabel" name="Kabel"> (Chello/Telekabel) stammt von <htmlurl url="mailto:stsz@gmx.net" name="Stefan Szomraky <stsz@gmx.net>"> und <htmlurl url="mailto:august.hoerandl@gmx.at" name="August Hörandl <august.hoerandl@gmx.at>"> <p> Von <htmlurl url="http://www.cso.net/~cpohanka/" name="Ing.Christian Pohanka"> <htmlurl url="mailto:<cpw@aon.at>" name="<cpw@aon.at>"> stammt das Kapitel <ref id="dyndns-variante" name="Eine dyndns.org - Variante"> <sect1>Einige Links zu verwandten und weiterführenden Themen <label id="links"> <p> <itemize> <item><htmlurl url="http://eciadsl.flashtux.org/" name="Driver Linux pour modem ECI HiFocus ADSL USB et modems avec puce Globespan"> <item><htmlurl url="http://www.tapler.info/Speedtouch-HOWTO-de.html" name="SpeedTouch USB-HOWTO mit den Benoit - Papillault's Open-Source Treibern"> <item>Unsere germanischen "Lieblingsnachbarn" dürfen hier weiterlesen <htmlurl url="http://www.adsl4linux.de" name="http://www.adsl4linux.de"> <item><htmlurl url="http://homepage.uibk.ac.at/~c10233/adsl.html" name="ADSL-Router auf zwei Floppies"> <item>Die <htmlurl url="http://www.mcca.at" name="MCCA"> <htmlurl url="http://www.mcca.at/faq" name="FAQ"> <item><htmlurl url="http://www.newbie-net.de/dokus/router/" name="Linux Router mit ISDN und dial-on-demand"> <item><htmlurl url="http://www.gnustuff.com/pub/doc/adsl-howto/adsl-howto.html" name="http://www.gnustuff.com/pub/doc/adsl-howto/adsl-howto.html"> <item>Icewalkers <htmlurl url="http://www.icewalk.com/doclib/howtos/mini/ADSL.html" name="ADSL-HOWTO for Linux Systems"> <item><htmlurl url="http://www.linuxdoc.org/HOWTO/DSL-HOWTO/" name="DSL-HOWTO for Linux "> <item>Wirklich tolle Arbeit wurde geleistet im <htmlurl url="http://www.linuks.net/sections.php3?op=viewarticle&ero;artid=62" name="Linux - Router - Masquerading - Proxy - Workshop"> (und darüber hinaus sogar in Deutsch :-))) <item>ADSL - <htmlurl url="http://www.geraldholl.cc/adsl/" name="Preisvergleich"> von Gerald Holl <item>ADSL - <htmlurl url="http://go.to/lreini" name="Preisvergleich"> von Reini <item>Ein ADSL rpm Paket von <htmlurl url="mailto:Friedrich Lobenstock <fl@fl.priv.at>" name="Friedrich Lobenstock <fl@fl.priv.at>"> finden Sie <htmlurl url="http://www.fl.priv.at/adsl/" name="hier"> als <htmlurl url="ftp://ftp.fl.priv.at/pub/adsl/SRPM/adsl-1.0.2-7.src.rpm" name="rpm"> <item>Alle <htmlurl url="http://adsl.inode.at" name="inode"> Kunden finden hier die <htmlurl url="http://www6.inode.at/support/internetzugang/adsl/konfiguration_linux.html" name="Linux"> Tips die sie benötigen <item>Alle <htmlurl url="http://service.kpnqwest.at/" name="kpnquest"> Kunden finden hier die <htmlurl url="http://service.kpnqwest.at/cserv/doc_store/linux/adsl.shtml" name="Linux"> Tips die sie benötigen <item>Viele Tips und Tricks bietet die <htmlurl url="http://www.internethilfe.at" name="Internethilfe"> <item><htmlurl url="http://www.little-idiot.de/firewall/" name="Firewalling"> <item><htmlurl url="http://home.pages.at/heaven/adsl/" name="Österreichisches ADSL Forum"> von <htmlurl url="mailto:mi.si@gmx.net" name="Michael Simon <mi.si@gmx.net>"> <item><htmlurl url="http://www.tsmservices.com/masq/" name="Masquerading Applications"> <item><htmlurl url="http://adsl.at" name="ADSL"> - <htmlurl url="http://adsl.at/forum/" name="Forum"> <item><htmlurl url="http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html" name="Linux IP Masquerade HOWTO"> <item><htmlurl url="http://radawana.at/lll/howto/howto-adsl.shtml" name="RADAWANA ADSL-HOWTO"> <item><htmlurl url="http://sdb.suse.de/sdb/de/html/sm_masq2.html" name="Firewall und Masquerading auf SuSE Linux 6.4"> <item><htmlurl url="http://at.onelist.com/files/ADSL/spdtch_home_man.pdf" name="Handbuch zum ADSL-Modem"> <item><htmlurl url="http://www.alcatel.com/telecom/asd/keytech/adsl/adsl/modem/home.htm" name="ANT"> <htmlurl url="http://www.alcatel.com/consumer/dsl/" name="ANT DSL Page"> <item>pap findet man in der <htmlurl url="http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1334.txt" name="RFC 1334"> <item>chap findet man in der <htmlurl url="http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1994.txt" name="RFC 1994"> <item>ppp findet man in der <htmlurl url="http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1661.txt" name="RFC 1661"> <item><htmlurl url="http://www.home.pages.at/heaven/sec.htm" name="Sicherheit im Kabelnetz"> <item><htmlurl url="http://schumann.cx/isdn-router/" name="ISDN-Router on a disk"> <item>Ein <htmlurl url="http://www.newbie-net.de/dokus/router/" name="ISDN-Router HOWTO">, jedoch ganz stark auf Verhältnisse in de zugeschnitten und eigentlich nur einen einzigen Provider (T-Online) erklärend. Außerdem geht es nur von einer einzigen Distribution aus. <item><htmlurl url="http://members.chello.at/wet/ipfwadm/fw-tab.html" name="Linux im Teleweb: Firewall Beispiel"> von Thomas Wenrich. <item><htmlurl url="http://gd.tuwien.ac.at/opsys/linux/LDP/docs.html" name="The Network Administrators Guide"> <item><htmlurl url="http://www.skysurf.at/index2.htm" name="http://www.skysurf.at/index2.htm"> <item> Speziell für Kabelnetze <itemize> <item> <htmlurl url="http://gd.tuwien.ac.at/opsys/linux/ldp/HOWTO/Ethernet-HOWTO.html" name="Ethernet-HOWTO"> <item> <htmlurl url="http://gd.tuwien.ac.at/opsys/linux/ldp/HOWTO/mini/DHCP/" name="DHCP mini-HOWTO"> <item> <htmlurl url="http://gd.tuwien.ac.at/opsys/linux/ldp/HOWTO/Plug-and-Play-HOWTO.html" name="The Linux Plug and Play HOWTO"> </itemize> <item> Von einigen HOWTOS gibt es auch eine deutsche Übersetzung: <htmlurl url="http://gd.tuwien.ac.at/opsys/linux/DE-HOWTO/" name="Deutsches Linux HOWTO Projekt"> </itemize> <sect1>Danksagung <label id="danksagung"> <p> Ohne August Hörandl <htmlurl url="mailto:august.hoerandl@gmx.at" name="<august.hoerandl@gmx.at>"> ( <htmlurl url="http://links.ee.htlw16.ac.at/~hoerandl" name="http://links.ee.htlw16.ac.at/~hoerandl"> ) wäre das alles nicht zum Laufen gekommen - Danke! <p> Besten Dank auch an die Autoren der Kapitel <ref id="icq" name="ICQ">, <ref id="Masquerading" name="Linux als Internetgateway">, <ref id="adsl" name="ADSL">, etc. (siehe Kapitel <ref id="danksagung" name="Danksagung">) und an die vielen Tester die auf unterschiedlichsten Wegen zu diesem HOWTO gekommen sind und Ihre Erfahrungen reported haben. <p> Dank gebührt auch allen die Ihre Tips&ero;Tricks beigesteuert haben, wie z. B. <itemize> <item><htmlurl url="mailto:tuxx@tuxx-home.at (Alexander Griesser)" name="tuxx@tuxx-home.at (Alexander Griesser)"> <item><htmlurl url="mailto:reinhard.schlager@jk.uni-linz.ac.at" name="Reinhard Schlager <reinhard.schlager@jk.uni-linz.ac.at>">, <item><htmlurl url="mailto:andreas.werschlan@gmx.at" name="Andreas Werschlan <andreas.werschlan@gmx.at>">, <item><htmlurl url="mailto:Oliver.Bogen@gmx.at" name="Oliver Bogen <Oliver.Bogen@gmx.at>">, <item><htmlurl url="mailto:leo_eibler@gmx.at" name="Leo Eibler <leo_eibler@gmx.at>">, <item><htmlurl url="http://www.cso.net/~cpohanka/" name="Ing.Christian Pohanka"> <item><htmlurl url="mailto:<cpw@aon.at>" name="<cpw@aon.at>">, <item><htmlurl url="mailto:<k.p.rabitsch@gmx.net>" name="Kirsten Peter Rabitsch<k.p.rabitsch@gmx.net>">, <item><htmlurl url="mailto:tm981054@fh-stpoelten.ac.at" name="Georg Maunz <tm981054@fh-stpoelten.ac.at>">, <item><htmlurl url="mailto:schmidp@o000o.org" name="Philipp Schmid <schmidp@o000o.org>">, <item><htmlurl url="mailto:Friedrich Lobenstock <fl@fl.priv.at>" name="Friedrich Lobenstock <fl@fl.priv.at>">, <item><htmlurl url="mailto:Manfred Larcher <m1.larcher@tirol.com>" name="Manfred Larcher <m1.larcher@tirol.com>">, <item><htmlurl url="mailto:Stefan Huber <schweinsaug@crosswinds.net>" name="Stefan Huber <schweinsaug@crosswinds.net>">, <item><htmlurl url="mailto:Peter Chiocchetti <girbal@tacheles.de>" name="Peter Chiocchetti <girbal@tacheles.de>">, <item><htmlurl url="mailto:Erich Brunner <brunner@lba-bauspar.com>" name="Erich Brunner <brunner@lba-bauspar.com>">, <item><htmlurl url="mailto:Marco Kammerer <m.kammerer@gmx.at>" name="Marco Kammerer <m.kammerer@gmx.at>">, <item><htmlurl url="mailto:Dieter WERNER <d_werner@gmx.net>" name="Dieter WERNER <d_werner@gmx.net>">, <item><htmlurl url="mailto:Andy Dunkl <adunkl@nostromo.quake.at>" name="Andy Dunkl <adunkl@nostromo.quake.at>">, <item><htmlurl url="mailto:Dieter Höfler <dieter.Hoefler@gmx.at>" name="Dieter Höfler <dieter.Hoefler@gmx.at>">, <item><htmlurl url="mailto:Zbigniew Strzempa <max@uibk.ac.at>" name="Zbigniew Strzempa <max@uibk.ac.at>"> <item><htmlurl url="mailto:Harald Müller (Gonzo)<gweb@aon.at>" name="Harald Müller (Gonzo)<gweb@aon.at>"> <item><htmlurl url="mailto:Roland Lezuo <roland.lezuo@chello.at>" name="Roland Lezuo <roland.lezuo@chello.at>"> <item><htmlurl url="mailto:adi@selingers.com (adi)" name="adi@selingers.com (adi)"> <item><htmlurl url="mailto:Christian Eder <chris_eder@aon.at>" name="Christian Eder <chris_eder@aon.at>"> <item><htmlurl url="mailto:t.zimmermann@tz-com.at" name="Zimmermann Thomas <t.zimmermann@tz-com.at>"> <item><htmlurl url="mailto:Erich Birngruber <ebirn@gmx.at>" name="Erich Birngruber <ebirn@gmx.at>"> <item><htmlurl url="mailto:Aljosha <Aljosha.judmayer@aon.at>" name="Aljosha <Aljosha.judmayer@aon.at>"> <item><htmlurl url="mailto:Stefan Mannsbart <vipergts@lycos.at>" name="Stefan Mannsbart <vipergts@lycos.at>"> <item><htmlurl url="mailto:Wolfgang Winkler <winklerw@telering.at>" name="Wolfgang Winkler <winklerw@telering.at>"> <item><htmlurl url="mailto:Daniel Imrich <newsgroups@danielimrich.net>" name="Daniel Imrich <newsgroups@danielimrich.net>"> <item><htmlurl url="mailto:Martin Großhauser <csad2635@uibk.ac.at>" name="Martin Großhauser <csad2635@uibk.ac.at>"> <item><htmlurl url="mailto:Georg Naggies <georg@georgs-home.com>" name="Georg Naggies <georg@georgs-home.com>"> <item><htmlurl url="mailto:Wolfgang Hackl <wolf.hackl@gmx.at>" name="Wolfgang Hackl <wolf.hackl@gmx.at>"> <item><htmlurl url="mailto:Klaus Triendl <triendl.kj@aon.at>" name="Klaus Triendl <triendl.kj@aon.at>"> <item><htmlurl url="mailto:Patrick Eixelsberger <pat_eix@yahoo.de>" name="Patrick Eixelsberger <pat_eix@yahoo.de>"> <item><htmlurl url="mailto:Anton Steiner <anton.steiner@salzburg-online.at>" name="Anton Steiner <anton.steiner@salzburg-online.at>"> <item><htmlurl url="mailto:hans-peter.lackner@netstruct.at (Hans-Peter Lackner)" name="hans-peter.lackner@netstruct.at (Hans-Peter Lackner)"> <item><htmlurl url="mailto:Filip Ljubas <f.ljubas@inode.at>" name="Filip Ljubas <f.ljubas@inode.at>"> <item><htmlurl url="mailto:Jacob Rief <jacob.rief(at)gmx.at>" name="Jacob Rief <jacob.rief(at)gmx.at>"> <item><htmlurl url="mailto:Florian Lentsch <florian.lentsch@gmx.at>" name="Florian Lentsch <florian.lentsch@gmx.at>"> <item>uvm. </itemize> <sect1>Version History <p> <itemize> <item> 0.1 01 Dec 1999 first trial <item> 0.2 12 Dec 1999 Korrekturen nach Anmerkungen von August Hörandl <item> 1.0 26 Dec 1999 Erste Veröffentlichung in der at.linux <item> 1.1 27 Dec 1999 Korrekturen auf Grund zahlreicher Rückmeldugnen <item> 1.2 30 Dec 1999 Kapitel <ref id="adsl" name="ADSL"> von <htmlurl url="mailto:roessmann@gmx.net" name="Bernhard Roessmann<roessmann@gmx.net>"> inkludiert <item> 1.3 31 Dec 1999 Kapitel IP-Masquerading von <htmlurl url="mailto:roland@wertkarten.net" name="Roland Seuhs <roland@wertkarten.net>"> eingefügt und Kapitel ssh erstellt <item> 1.4 2 Jan 2000 Kapitel <tt>/etc/ppp/ip-up</tt> überarbeitet, Kapitel Datum/Uhrzeit überarbeitet und in Kapitel <ref id="adsl" name="ADSL"> die Spitzen Klammern in Ordnung gebracht <item> 1.5 3 Jan 2000 kleinere redaktionelle Änderungen, Adapterliste für wvdial.conf begonnen <item> 1.6 5 Jan 2000 Unterstützung für interne TA eingefügt <item> 1.7 6 Jan 2000 internen TA geändert <item> 1.8 8 Jan 2000 reduce verbosity of pppd <item> 1.9 8 Jan 2000 neue Version des Kapitel 7 von Bernhard integriert <item> 1.10 15 Jan 2000 Kapitel route eingefügt, Hinweis auf firewall wenn 24 Stunden online, Link auf ADSL-Forum eingefügt. <item> 1.11 16 Jan 2000 Korrekturen die sich aus dem Korrekturlesen der Veröffentlichung in PCNEWS ergaben <item> 1.12 18 Jan 2000 crontab für news aktualisiert <item> 1.13 22 Jan 2000 http Erklärung eingefügt, Kapitel <ref id="Support" name="Support"> eingebracht <item> 1.14 23 Jan 2000 script line 1 von /bin/sh auf /bin/bash geändert, script push-index die Rechte des .netrc korrigiert <item> 1.15 25 Jan 2000 Umstellung auf Querverweise vua Labels, Link auf das deutsche ISDN-LINUX-HOWTO <htmlurl url="http://www.franken.de/users/klaus/DE-ISDN-HOWTO/html/DE-ISDN-HOWTO.html" name="http://www.franken.de/users/klaus/DE-ISDN-HOWTO/html/DE-ISDN-HOWTO.html"> von <htmlurl url="mailto:kfr@klaus.franken.de" name="Klaus Franken <kfr@klaus.franken.de>"> eingefügt. <item> 1.16 26 Jan 2000 Kapitel <ref id="dyndns" name="dynamische DNS Anbieter"> mit Leben befüllt <item> 1.17 27 Jan 2000 In Kapitel sendmail RELAY integriert <item> 1.18 30 Jan 2000 some minor changes/bugfix <item> 1.19 1 Feb 2000 wvdial &ero; tty9 problem solution <item> 1.20 2 Feb 2000 <ref id="dyndns-variante" name="Eine dyndns.org - Variante"> von Christian eingefügt, Kapitel <ref id="pushindex" name="Generierung und upload von index.html"> nach Ideen von August Hörandl <htmlurl url="mailto:august.hoerandl@gmx.at" name="<august.hoerandl@gmx.at>"> und <htmlurl url="mailto:leo_eibler@gmx.at" name="Leo Eibler <leo_eibler@gmx.at>"> umgebaut. <item> 1.21 11 Feb 2000 Bernhards Änderungen im Kapitel <ref id="adsl" name="ADSL"> eingefügt <item> 1.22 14 Feb 2000 Links auf elina korrigiert <item> 1.22 14 Feb 2000 Anregungen von <htmlurl url="mailto:<k.p.rabitsch@gmx.net>" name="Kirsten Peter Rabitsch<k.p.rabitsch@gmx.net>"> eingefügt <item> 1.23 16 Feb 2000 mywvdial aktualisiert <item> 1.24 17 Feb 2000 Link auf das <htmlurl url="http://radawana.at/lll/howto/howto-adsl.shtml" name="RADAWANA ADSL-HOWTO"> eingefügt <item> 1.25 25 Feb 2000 Kapitel <ref id="adsl" name="ADSL"> nach Ideen von <htmlurl url="mailto:tm981054@fh-stpoelten.ac.at" name="Georg Maunz <tm981054@fh-stpoelten.ac.at>"> erweitert. <item> 1.26 25 Feb 2000 Kapitel <ref id="adsl" name="ADSL"> mit einem Beitrag von <htmlurl url="mailto:schmidp@o000o.org" name="Philipp Schmid <schmidp@o000o.org>"> aus der Newsgroup at.linux ergänzt <item> 2.00 15 Mar 2000 Nachdem nun <htmlurl url="mailto:roessmann@gmx.net" name="Bernhard"> das Kapitel <ref id="adsl" name="ADSL"> neu überarbeitet hat und nun die Anmerkungen der letzten Wochen alle ausgebessert sind, habe ich mich entschlossen die Major-Version auf 2.00 zu erhöhen. <item> 2.01 9 Apr 2000 squid.conf entsprechend einem Posting von August Hörandl in der at.linux geändert <item> 2.02 30 Apr 2000 Workaround bei ISDN-Problemen in Kapitel <ref id="ppp-problem" name="Probleme beim Verbindungsaufbau"> eingefügt <item> 2.03 28 May 2000 <tt>/etc/ppp/options</tt> im Kapitel ADSL korrigiert - Anmerkung eingefügt, daß der Kundenname die Teilnehmerkennung ist (Besten Dank an P. Kronfuss und J. Tinnacher für den Beitrag in der at.linux) <item> 2.04 30 May 2000 --- Änderung rückgängig gemacht am 27.7.2001 --- <item> 2.05 4 Jun 2000 Links auf RFCs in Kapitel <ref id="adsl" name="ADSL"> eingefügt und kleinere Fehler behoben <item> 2.06 10 Jun 2000 Als Vorbereitung auf die nächsten ADSL Provider wurden nun alle Verweise auf den Musterprovider entfernt (soweit dies sinnvoll und möglich war). <item> 2.07 16 Jun 2000 adsl.sh im Kapitel <ref id="adsl" name="ADSL"> eingefügt. Das Script adsl.sh ist erledigt bei Roland die Wiedereinwahl bei ADSL Verbindungsausfällen <item> 2.08 22 Jun 2000 Inode Verweise in die Kapitel <ref id="links" name="Links zu verwandten Themen"> und <ref id="adsl" name="ADSL"> eingebaut. <item> 2.09 23 Jun 2000 Script /bin/datetimenow aktualisiert <item> 2.10 26 Jun 2000 Einarbeitung der Anregungen und Ergänzungen von <htmlurl url="mailto:louis@graz.inode.at" name="Alois Martin Hopfer <louis@graz.inode.at>"> einem der Sysadmins von <htmlurl url="http://www.inode.at" name="http://www.inode.at"> <item> 2.11 9 Jul 2000 Die Umstellung auf AT-HIGHSPEED-HOWTO ist erfolgt und der Link auf die aktuelle Heimat des HOWTOs wurde in den Titel eingefügt. Weitere Verweise auf den ursprünglichen Provider ausgebaut. Anmerkungen im Kapitel Firewall ergänzt <item> 2.12 10 Jul 2000 Link auf das ADSL rpm Paket von <htmlurl url="mailto:Friedrich Lobenstock <fl@fl.priv.at>" name="Friedrich Lobenstock <fl@fl.priv.at>"> auf <htmlurl url="http://www.fl.priv.at/adsl/" name="http://www.fl.priv.at/adsl/"> eingefügt <item> 2.13 12 Jul 2000 Gerhard Maly's Tip, für fetchmail ein eigenes Kapitel zu spendieren, wurde eingebaut und ein Hiweis wo man fetchtmail bei SUSE findet. <item> 2.14 16 Jul 2000 Im Kapitel <ref id="adsl" name="ADSL"> einen Tip aus der at.linux eingefügt, Links auf die RFCs von ppp, chap und pap eingefügt, Link auf Sicherheit in Kabelnetzwerken eingefügt <item> 2.15 28 Jul 2000 ediffen der Änderungen die Bernhard Rössmann in das Kapitel <ref id="adsl" name="ADSL"> eingearbeitet hat / Link auf die ADSL <htmlurl url="http://go.to/lreini" name="Preisvergleiche"> eingefügt. / PAP/CHAP Umstellung beschrieben. <item> 2.16 2 Aug 2000 Fehlerbehebung von Leo Eibler in den checkisdn scripts (für interne und externe TAs) eingebaut, indem beim ping ein -t8500 mitgegeben wird um die Ping-Wartezeit zu erhöhen. <item> 2.17 14 Aug 2000 Kommentar von <htmlurl url="mailto:Manfred Larcher <m1.larcher@tirol.com>" name="Manfred Larcher <m1.larcher@tirol.com>"> im Kapitel <ref id="adsl" name="ADSL"> eingearbeitet. <item> 2.18 24 Aug 2000 Beitrag von <htmlurl url="mailto:Stefan Huber <schweinsaug@crosswinds.net>" name="Stefan Huber <schweinsaug@crosswinds.net>"> im Kapitel dyndns eingearbeitet, den Link <htmlurl url="http://schumann.cx/isdn-router/" name="ISDN-Router on a disk"> aufgenommen, Beitrag zum Reseten der ANT von <htmlurl url="mailto:Manfred Larcher <m1.larcher@tirol.com>" name="Manfred Larcher <m1.larcher@tirol.com>"> im Kapitel <ref id="adsl" name="ADSL"> eingearbeitet. <item> 2.19 4 Sep 2000 Link auf den <htmlurl url="http://www.linuks.net/sections.php3?op=viewarticle&ero;artid=62" name="Linux - Router - Masquerading - Proxy - Workshop"> eingefügt <item> 2.20 10 Sep 2000 Link auf das Icewalker ADSL HOWTO eingearbeitet <item> 2.21 12 Sep 2000 Beim Erzeugen dern Links mit ln --symbolic war der falsche Dateinamen angegeben (Besten Dank an alle die das reportet haben), Tip von <htmlurl url="mailto:Peter Chiocchetti <girbal@tacheles.de>" name="Peter Chiocchetti <girbal@tacheles.de>"> im Kapitel <ref id="adsl-problemloesungen" name="Probleme mit ADSL und deren Lösung"> eingearbeitet <item> 2.22 24 Sep 2000 Link S22adsl auf S23adsl korrigiert (Tip von <htmlurl url="mailto:Erich Brunner <brunner@lba-bauspar.com>" name="Erich Brunner <brunner@lba-bauspar.com>">) <item> 2.23 29 Sep 2000 Kleinere Korrekturen im Kapitel <ref id="Masquerading" name="Linux als Internetgateway">, struktureller Umbau des HOWTO in die Hauptkapitel <ref id="adsl" name="ADSL">, <ref id="Kabel" name="Kabel">, <ref id="ISDN" name="ISDN"> und die dazugehörigen <ref id="Internetdienste" name="Internetdienste"> (sendmail, ...). <item> 2.24 5 Okt 2000 Beginn der Erstellung des Kapitels <ref id="ups" name="Unterbrechungsfreie Stromversorgung"> <item> 2.25 6 Okt 2000 Kapitel <ref id="ups" name="Unterbrechungsfreie Stromversorgung"> mit der PIN-Belegung des 9 poligen Steckers ergänzt <item> 2.26 15 Okt 2000 Fehler in wvdial.conf behoben und Kapitel <ref id="sms" name="SMS"> eingearbeitet. <item> 2.27 16 Okt 2000 Links aktualisiert im Kapitel <ref id="links" name="Links zu verwandten Themen"> <item> 2.28 5 Nov 2000 Tip von <htmlurl url="mailto:Marco Kammerer <m.kammerer@gmx.at>" name="Marco Kammerer <m.kammerer@gmx.at>"> eingearbeitet: <ref id="ANT-RESET" name="Rücksetzen der ANT"> funktioniert nur bei Onetouch-Typen; andere ANT-Typen haben damit Probleme. <item> 2.29 17 Dec 2000 Kapitel <ref id="adsl-suse-firewall" name="Suse-Firewall und ADSL"> von <htmlurl url="mailto:Dieter WERNER <d_werner@gmx.net>" name="Dieter WERNER <d_werner@gmx.net>"> eingearbeitet im Kapitel <ref id="adsl" name="ADSL">, <item> 2.30 16 Mar 2001 Verweis auf den <htmlurl url="https://service.kpnqwest.at/cserv/doc_store/linux/adsl.shtml" name="KPNQwest Linux Support"> eingefügt <item> 2.31 17 Mar 2001 Hinweis auf die Distribution/Version Abhängigkeit der der Lokalität der Start-/Stop-Scripts eingefügt (<tt>/sbin/init.d /etc/init.d /etc/rc.d</tt> usw.) <item> 2.32 24 Mar 2001 Kapitel <ref id="adsl-usb" name="ADSL-Modem Speed Touch (tm) USB"> eingefügt <item> 2.33 15 Apr 2001 Kapitel <ref id="ADSL-Security" name="ADSL vs. Security?"> eingefügt <item> 3.0 16 Apr 2001 Chello/Telekabel Howto in Kapitel <ref id="Kabel" name="Kabel"> eingefügt (AH) <item> 3.1 17 Apr 2001 Kapitel <ref id="Kabel" name="Kabel"> minor bugs fixed (HS) <item> 3.2 29 Apr 2001 Chello/Telekabel Howto in Kapitel <ref id="Kabel" name="Kabel"> Update (AH), Kapitel <ref id="TODO" name="TODO"> eingefügt (HS), Link auf das Speedtouch-USB-HOWTO eingefügt (HS) <item> 3.3 1. Mai 2001 Fehlender chmod a+x adsl eingebaut (Tipp von <htmlurl url="mailto:Dieter Höfler <dieter.Hoefler@gmx.at>" name="Dieter Höfler <dieter.Hoefler@gmx.at>">) (HS) <item> 3.4 7. Mai 2001 Link zum <htmlurl url="http://homepage.uibk.ac.at/~c10233/adsl.html" name="ADSL-Router auf zwei Floppies"> von <htmlurl url="mailto:Zbigniew Strzempa <max@uibk.ac.at>" name="Zbigniew Strzempa <max@uibk.ac.at>"> eingefügt. <item> 3.5 10. Jun 2001 Im Kapitel <ref id="adsl-usb" name="adsl-usb"> wurde ein Link eingearbeitet, der auf die Beschreibung von <htmlurl url="mailto:Harald Müller (Gonzo)<gweb@aon.at>" name="Harald Müller (Gonzo)<gweb@aon.at>"> verweist, in der der Setup von <htmlurl url="http://members.aon.at/gweb/gweb/linux/speedtouch.html" name="SpeedTouch USB unter Linux"> sehr einfach und übersichtlich erklärt wird. <item> 3.6 10. Jun 2001 Im Kapitel <ref id="ADSL-reconnect" name="ADSL Wiedereinwahlscript"> wurde ein Unterkapitel <ref id="ADSL-reconnect-ipdown" name="Variante ip-down"> von <htmlurl url="mailto:Dieter WERNER <d_werner@gmx.net>" name="Dieter WERNER <d_werner@gmx.net>"> eingefügt, der das Reconnecten der ADSL-Verbindung über das ip-down script regelt. <item> 3.7 11. Jun 2001 Bugfixes in <ref id="ADSL-reconnect-ipdown" name="Variante ip-down">, Verweis auf das Script im Kapitel <ref id="adsl-autologin" name="Automatisches Login/Logout">. Extension in <ref id="links" name="Links zu verwandten Themen"> <item> 3.8 19. Jun 2001 Ein Kapitel Links im Disclaimer spendiert. <item> 3.9 5. Jul 2001 Roland ist übersiedelt ;-) Neue Mailadresse und Homepage eingetragen <item> 3.10 17. Jul 2001 Beitrag von <htmlurl url="mailto:Roland Lezuo <roland.lezuo@chello.at>" name="Roland Lezuo <roland.lezuo@chello.at>"> in Kapitel <ref id="adsl-problemloesungen" name="Probleme mit ADSL und deren Lösung"> eingefügt. Von <htmlurl url="mailto:Dieter WERNER <d_werner@gmx.net>" name="Dieter WERNER <d_werner@gmx.net>"> stammt das neue Kapitel <ref id="logauswertung" name="Auswertung des syslog"> <item> 3.11 27. Jul 2001 Rückbau aller Einträge von Version 2.04 vom 30 May 2000 (auf Wunsch des damaligen Autors) und aller dazugehörigen Beiträge. Rückbau aller Hinweise auf den ANT Hersteller (lediglich die Links wurden belassen). <item> 3.12 3. Aug 2001 Anmerkung im Kapitel <ref id="ppp-options" name="ppp-options"> und das neue Kapitel <ref id="DNSmasq" name="DNSmasq"> eingefügt. Alle Ergänzungen stammen von Sebastian C. B. Sauer (nochmals besten Dank fürs mehrmalige Fehlerlesen) <item> 3.13 16. Aug 2001 Kleiner Korrekturen im Kapitel Telekabel <item> 3.14 8 Sep 2001 kpnquest Verweise im Kapitel <ref id="links" name="Links zu verwandten Themen"> eingebaut. <item> 3.15 15 Sep 2001 Übersiedelung des HOWTO auf <htmlurl url="http://howto.htlw16.ac.at" name="http://howto.htlw16.ac.at"> <item> 3.16 2 Okt 2001 Auf meinem SBC 5820 is die Harddisk eingegangen. Bei der Gelegenheit hatte ich endlich mal die Chance von Grund auf neu zu installieren. Natürlich alles wie hier im HOWTO beschrieben. Und prompt fanden sich einige notwendige Korrekturen. Ergebnis: AON-Complete nach allen Regeln der Kunst, von einer frischen HD beginnend, sollte in einem (laaaangen) Abend aufgesetzt werden können :-)) <item> 3.17 9 Okt 2001 Neues Kapitel <ref id="kabel-dhcpcd-fehler" name="dhcpcd Fehlermeldung"> im Kapitel <ref id="Kabel" name="Kabel"> eingefügt. <item> 3.18 30 Dez 2001 Im Kapitel <ref id="adsl-usb" name="adsl-usb"> einen Artikel von <htmlurl url="mailto:adi@selingers.com (adi)" name="adi@selingers.com (adi)"> aus der at.linux eingearbeitet. <item> 3.19 30 Dez 2001 Im Kapitel <ref id="sms" name="SMS"> einen Beitrag von <htmlurl url="mailto:Christian Eder <chris_eder@aon.at>" name="Christian Eder <chris_eder@aon.at>"> als neues Kapitel <ref id="sms2" name="SMS-Routinen von Christian Eder <chris_eder@aon.at>"> eingearbeitet. <item> 3.20 7 Jan 2002 Im Kapitel <ref id="adsl-usb" name="adsl-usb"> den Link auf <htmlurl url="http://www.linux-usb.org/SpeedTouch/" name="Linux Driver page for SpeedTouch USB ADSL Modem"> eingefügt. <item> 3.21 12 Jan 2002 Link auf "altes" TK-HOWTO entfernt <item> 3.22 26 Mar 2002 E-Mail Adress changed of schmidp@o000o.org <item> 3.23 24 Apr 2002 Im Kapitel <ref id="adsl-usb" name="adsl-usb"> einen Link auf das <htmlurl url="AT-Speedtouch-HOWTO.html" name="AT-Speedtouch-HOWTO"> von <htmlurl url="mailto:tuxx@tuxx-home.at (Alexander Griesser)" name="tuxx@tuxx-home.at (Alexander Griesser)"> eingefügt <item> 3.24 13 Aug 2002 Anmerkung 3 in Kapitel <ref id="pap-secrets" name="pap-secrets"> nach einem Hinweis von <htmlurl url="mailto:t.zimmermann@tz-com.at" name="Zimmermann Thomas <t.zimmermann@tz-com.at>"> eingefügt. Link zum <htmlurl url="http://www.tapler.info/Speedtouch-HOWTO-de.html" name="SpeedTouch USB-HOWTO mit den Benoit - Papillault's Open-Source Treibern"> eingefügt im Kapitel <ref id="links" name="Links zu weiterführenden Themen"> <item> 3.25 8 Nov 2002 Wieder einmal wurde das Wiedereinwahlscript von <htmlurl url="mailto:Dieter Höfler <dieter.hoefler@gmx.at>" name="Dieter Höfler <dieter.hoefler@gmx.at>"> geändert. Diesmal machten wir daraus gleich ein neues Kapitel <ref id="adsl-suse" name="SuSE 8.1">. Von <htmlurl url="mailto:Erich Birngruber <ebirn@gmx.at>" name="Erich Birngruber <ebirn@gmx.at>"> wurde im Kapitel <ref id="ANT-RESET" name="Rücksetzen der ANT"> ein Scriptvorschlag eingearbeitet, der auf expect basiert. <item> 3.26 18 Nov 2002 neues Kapitel <ref id="pptp-ausfuehrbar" name="pptp ausführbar machen"> gespendet von <htmlurl url="mailto:Aljosha <Aljosha.judmayer@aon.at>" name="Aljosha <Aljosha.judmayer@aon.at>"> wurde eingefügt. <item> 3.27 30 Dez 2002 neues Kapitel <ref id="xdsl" name="xDSL"> von <htmlurl url="mailto:Bernhard Roessmann <roessmann@gmx.net>" name="Bernhard Roessmann <roessmann@gmx.net>"> eingefügt. <item> 3.28 27 Mar 2003 Von <htmlurl url="mailto:Stefan Mannsbart <vipergts@lycos.at>" name="Stefan Mannsbart <vipergts@lycos.at>"> stammt eine überarbeitete Version des Scripts adsl, daß beim automatischen Start nun die richtige Variable (ADSL statt AON) auswertet. <item> 3.29 1 Jun 2003 Von <htmlurl url="mailto:Wolfgang Winkler <winklerw@telering.at>" name="Wolfgang Winkler <winklerw@telering.at>"> wurde das Kapitel <ref name="Manuelle Konfiguration + DHCP-client" id="manual_dhcp"> gespendet und integriert <item> 3.30 8 Jun 2003 Von <htmlurl url="mailto:Daniel Imrich <newsgroups@danielimrich.net>" name="Daniel Imrich <newsgroups@danielimrich.net>"> stammt der Hinweis auf das Suse Config-SpeedTouch-HTML-HOWTO <item> 3.31 13 Jul 2003 Von <htmlurl url="mailto:Martin Großhauser <csad2635@uibk.ac.at>" name="Martin Großhauser <csad2635@uibk.ac.at>"> statmmt ein Beitrag im Kapitel <ref id="ADSL-reconnect" name="ADSL Wiedereinwahlscript"> wurde die <ref id="ADSL-reconnect-crontab" name="Variante direkt in der cron-tab"> eingefügt. Zusätzlich wurde von Martin Großhauser das Kapitel <ref id="pptp-BSD" name="pptp und BSD"> gespendet. <item> 3.32 10 Aug 2003 Von <htmlurl url="mailto:Georg Naggies <georg@georgs-home.com>" name="Georg Naggies <georg@georgs-home.com>"> stammt der Hinweis, daß jetzt "pptp 10.0.0.138 --localbind 10.0.0.140" anstatt wie bisher "pptp 10.0.0.138 10.0.0.140" getippt werden muß. Und von <htmlurl url="mailto:Wolfgang Hackl <wolf.hackl@gmx.at>" name="Wolfgang Hackl <wolf.hackl@gmx.at>"> stammt ein weiteres xDSL-Script, daß sich nun im Kapitel <ref id="xdsl-script-2" name="xDSL Script von Wolfgang Hackl"> findet <item> 3.33 7 Sep 2003 "Netteres" Wording im Kapitel <ref id="xdsl-script-2" name="xDSL Script von Wolfgang Hackl">. Von <htmlurl url="mailto:Klaus Triendl <triendl.kj@aon.at>" name="Klaus Triendl <triendl.kj@aon.at>"> stammen die neuen Kapitel <ref id="adsl-debian" name="ADSL & Debian"> und <ref id="adsl-persist" name="Variante persist Option"> <item> 3.34 8 Dez 2003 Hinweis auf Zusammenhang von Netzwerkkarten und Verfügbarkeit von Leitungen, eingefügt im Kapitel im Kapitel <ref id="adsl-problemloesungen" name="Probleme mit ADSL und deren Lösung">. Im Kapitel <ref id="ppp-options" name="ppp-options"> die Option replacedefaultroute nach einem Tip von <htmlurl url="mailto:Patrick Eixelsberger <pat_eix@yahoo.de>" name="Patrick Eixelsberger <pat_eix@yahoo.de>"> eingebaut <item> 3.35 15 Jun 2004 Von <htmlurl url="mailto:Anton Steiner <anton.steiner@salzburg-online.at>" name="Anton Steiner <anton.steiner@salzburg-online.at>"> stammen die neuen Kapitel <ref id="manual_usb" name="Kabelzugang über den USB-Anschluss"> <ref id="zugang_ueber_salzburg_online" name="Kabelzugang über Salzburg-Online"> <item> 3.36 12 Sep 2004 Von <htmlurl url="mailto:hans-peter.lackner@netstruct.at (Hans-Peter Lackner)" name="hans-peter.lackner@netstruct.at (Hans-Peter Lackner)"> stammt ein neues Startscript für Fedora. Eingefügt im Kapitel <ref id="adsl-autologin" name="Automatisches Login/Logout"> als Unterkapitel <ref id="adsl-autologin-fedora" name="Fedora">. <item> 3.37 25 Nov 2004 Von <htmlurl url="mailto:Filip Ljubas <f.ljubas@inode.at>" name="Filip Ljubas <f.ljubas@inode.at>"> wurde im Kapitel <ref id="adsl-usb" name="adsl-usb"> das neue Unterkapitel <ref id="adsl-usb-zyxel" name="USB Modem Zyxel Prestige"> eingefügt. <item> 3.38 4 Jan 2005 Von <htmlurl url="mailto:Wolfgang Hackl <wolf.hackl@gmx.at>" name="Wolfgang Hackl <wolf.hackl@gmx.at>"> wurde ein neues <ref id="xdsl-script-3" name="xDSL Script"> eingearbeitet, daß nun auch PPPoE unterstützt, das seit 2004 von Inode erhältlich ist. <item> 3.39 17 März 2005 Von <htmlurl url="mailto:Jacob Rief <jacob.rief(at)gmx.at>" name="Jacob Rief <jacob.rief(at)gmx.at>"> stammt das neue Kapitel <ref id="xdsl-script-4" name="xDSL Einwahl bei INODE"> <item> 3.40 15 April 2005 Von <htmlurl url="mailto:Florian Lentsch <florian.lentsch@gmx.at>" name="Florian Lentsch <florian.lentsch@gmx.at>"> kam der Hinweis, daß bei AON-Kunden nicht die 10-stellige Kundennummer, sondern die Teilnehmerkennung als Anmeldenamen zu verwenden ist. Die Änderung wurde eingebracht in den Kapiteln <ref id="ppp-options" name="/etc/ppp/options"> <ref id="pap-secrets" name="/etc/ppp/pap-secrets"> Anm. von H.Schön: noch verwirrender als das Nummernchaos von AON, geht es eigentlich gar nicht? Alle kundenfreundlichen Provider haben den Realname als Kundennamen und eine Kundennummer für die interne Verwaltung. Bei der AON ist die Teilnehmerkennung eine genauso nichtssagende Nummer, wie die Kundennummer. Ausser zur Verwirrung der Kunden, sehe ich keinen Grund darin. Ähnliche Hinweise gab es vor langer Zeit auch im Kapitel <ref id="homepage-upload" name="händischer HP upload"> <item> 4.01 10 November 2006 Ein neues Kapitel <ref id="umts" name="UMTS"> wurde begonnen, in dem ich alles sammeln möchte was man für <ref id="umts" name="UMTS"> in Österreich alles tun muss um es unter Linux zum Laufen zu bringen. Im Moment ist das Kapitel nur eine Sammlung von Notizen. Vielleicht findet sich jemand, der es schön aufbereiten möchte. Ideen und Anregungen sind ausdrücklich willkommen. Viel Spass. <item> 4.02 19 Feb 2007 Von <htmlurl url="mailto:David Wührer <def@gmx.at>" name="David Wührer <def@gmx.at>"> stammt das neue Kapitel <ref id="adsl-debian-2" name="ADSL & Debian - Stand 2007"> <item> 4.03 1 Mar 2007 Einige tote Links entfernt und ein Beispiel des Files /etc/ppp/options eingefügt im Kapitel <ref id="ppp-options" name="/etc/ppp/options"> </itemize> <p> <sect1>TODO <label id="TODO"> <sect2><ref id="adsl" name="ADSL"> <p> nothing todo <sect2><ref id="Kabel" name="Kabel"> <p> <tscreen><verb> http://wet.port5.com/ ------------ http://www.mindstorm.com/~sparlin/demos/fwconfig/ ------------------ http://www.oreilly.de/german/freebooks/linux_netz/inhalt.html ----------------- Masquerading MINI-HOWTO Dieses Dokument beschreibt folgende Situation und löst das Problem vollständig: 1 Linux (oder kompatible :) Rechner (2.2.x er Kernel oder höher) mit Internetanbindung 1 oder mehrere Rechner (beliebiges Betriebssystem) ohne Internetanbindung, welche angebunden werden sollen. Beliebige Netzwerkkonstellation Der Internetzugang am Linuxrechner muß bereits konfiguriert worden sein, wenn nicht lesen Sie bitte das Internet mit Linux Tutorial.. a) Am Linux Rechner - Kernel mit Masquerading Support compilen cd /usr/src/linux make xconfig - für Konfiguration von X-Windows aus make menuconfig - für Konfiguration im Textmodus (ncurses menü) make config - für Konfiguration im Textmodus (nicht empfohlen) Einstellungen vornehmen nach belieben, jedoch in der Sektion Networking Options (mindestens) follgende Einstellungen vornehmen: (wenn möglich, bzw. nötig kann anstatt yes auch module genommen werden) TCP/IP Networking: yes IP: Firewalling: yes IP: Always defragment: yes IP: transparent proxy support: yes IP: masquerading: yes IP: ICMP masquerading: yes (ab hier folgen nur noch optionale Einstellungen) Masquerading special modules support: yes IP: ipautofw masq support (EXPERIMENTAL): modules (empfohlen) (Achtung! Sie müßen in der Section Code Maturaty Level Options Ask for incomplete/developement drivers auf yes setzen) IP: ipportfw masq support (EXPERIMENTAL): modules (empfohlen) (Achtung! Sie müßen in der Section Code Maturaty Level Options Ask for incomplete/developement drivers auf yes setzen) IP: ipfw masq-forwarding support(EXPERIMENTAL): modules (empfohlen) (Achtung! Sie müßen in der Section Code Maturaty Level Options Ask for incomplete/developement drivers auf yes setzen) -- In der Section Filesystems müßen sie /proc filesystem unbedingt auf YES setzen!!! Ansonsten wird masquerading nicht möglich sein!!! Dannach auf Save+Exit gehen und folgendes ausführen: make dep && make zImage && make zlilo Achten Sie auf die Groß/Klein Schreibung! Falls dies fehl schlägt: make dep && make bzImage && make bzlilo Dannach make modules && make modules_install Achtung! Bei manchen Systemen ist noch cd / cp vmlinuz System.map /boot/ lilo notwendig... Dannach bitte neustarten shutdown -r now ctrlaltdel reboot (restart) oder einfach STRG+ALT+ENTF drücken (keine Angst, Linux fängt dies ab, und führt das script restart aus) - Masquerading aktivieren Nach jedem Neustart des Systems muß ipchains -P forward DENY ipchains -A forward -i eth0 -j MASQ echo 1 > /proc/sys/net/ipv4/ip_forward eingegeben werden... Ersetzen sie eth0 gegebenenfalls duch ihr Netzwerkinterface (ppp0, eth1....) Wenn sie sich mich ipchains auskennen können sie jetzt auch noch diverse Services sperren, oder gewisse IPs... Wie sie es bewältigen das jedesmal auszuführen bleibt ihnen überlassen (init.d script empfohlen...) b) Clientseitige konfiguration Die IP vergabe bleibt ihnen überlassen, stellen sie jedoch sicher das der Linuxrechner pingbar ist. Wichtig ist, das sie bei ihren TCP/IP einstellungen, die IP des Linuxrechners (internet IP) als Gateway angeben... Manchmal ist es notwendig die externe (Internet) IP des Linuxrechners als Gateway anzugeben ---------------------------- Roland Seuhs -- Gerasdorf bei Wien/Austria http://Roland.Seuhs.com +43/(0)699/10073892 Mail in German, French or English please Linux als Internetgateway Was macht ein Gateway? Ein Gateway ist im Prinzip nichts anderes als Netzwerkpakete von einen Netzwerk in ein anderes zu transportieren. Ein anderes Wort für Gateway ist Router. Um auf zwei Netzwerke zugreifen zu können, muß ein Gatewayrechner zwei Geräte zu Verfügung haben um Netzwerke anzusprechen. Also zum Beispiel zwei Netzwerkkarten, oder eine Netzwerkkarte und ein Modem. Wenn beide Netzwerke auf dem Rechner bereits laufen und funktionieren, kann man den Gateway aufsetzen. Wenn Sie ein lokales Netzwerk haben und ein Rechner in diesen Netz verfügt über einen Internetanschluß, so können Sie dann mit allen anderen Rechnern im Netz ebenfalls auf das Internet zugreifen, wenn Sie diesen Rechner als sogenannten Gatewayrechner betreiben. Da die Lizenzgebühren für Windows NT als Gateway sehr teuer sind, bietet sich Linux für diesen Zweck geradezu an. Nun stellt sich folgendes Problem: Die lokalen Netzwerkadressen (z.B. 192.168.x.x) werden nicht ins Internet geroutet. - Logischerweise, denn diese Adressen müssen offiziell nicht angemeldet werden und sind für lokale Netzwerke reserviert. Man hätte tausende gleiche IP Adressen wenn diese ins Internet geroutet werden. Die Lösung ist IP Maskierung. Bei diesem Verfahren werden die Pakete mit der IP Adresse des Gateways weitergeschickt. Um bei den vom Internet zurückgeschickten Paketen unterscheiden zu können welches Paket zu welchen Computer weitergeleitet werden soll, werden den Rechnern verschiedene Ports zugeordnet. (Die Antworten aus dem Internet gehen dann an diese Ports und werden dann vom Gateway an die jeweiligen Rechner weitergeleitet) Der Rechner, der die Pakete schickt, merkt nicht, daß der Gatewayrechner die Pakete an andere weiterleitet. Es werden Pakete an die selbe IP Adresse, aber an verschiedene Ports geschickt. - Aber das kann durchaus auch beim »normalen« Betrieb passieren; So benutzen z.B. Telnet, ftp und http verschiedene Ports. Voraussetzungen Um IP Maskierung einzurichten, muß man (neben einen Internetzugang und einen lokalen Netz) unter Umständen den Kernel neu konfigurieren. - Bei modernen Distributionen (z.B. SuSE 6.3 ist das jedoch nicht erforderlich) Probieren Sie es einfach aus; Falls sich die Module nicht laden lassen, müssen sich folgende Optionen bei der Neukompilation anwählen: * Prompt for development and/or incomplete code/drivers CONFIG_EXPERIMENTAL - this will allow you to select experimental IP Masquerade code compiled into the kernel * Enable loadable module support CONFIG_MODULES - allows you to load ipmasq modules such as ip_masq_ftp.o * Networking support CONFIG_NET * Network firewalls CONFIG_FIREWALL * TCP/IP networking CONFIG_INET * IP: forwarding/gatewaying CONFIG_IP_FORWARD * IP: firewalling CONFIG_IP_FIREWALL * IP: masquerading CONFIG_IP_MASQUERADE * IP: ipportfw masq support CONFIG_IP_MASQUERADE_IPPORTFW - recommended * IP: ipautofw masquerade support CONFIG_IP_MASQUERADE_IPAUTOFW - optional * IP: ICMP masquerading CONFIG_IP_MASQUERADE_ICMP - support for masquerading ICMP packets, recommended. * IP: always defragment CONFIG_IP_ALWAYS_DEFRAG - highly recommended * Dummy net driver support CONFIG_DUMMY - recommended * IP: ip fwmark masq-forwarding support CONFIG_IP_MASQUERADE_MFW - optional Falls diese Optionen in Ihren Kernel nicht vorhanden sind, kompilieren Sie einen neuen Kernel. Bevor Sie den Computer neu starten, fügen Sie folgende Zeilen in ein geeignetes (soll beim booten ausgeführt werden; /sbin/init.d/boot.local für SuSE) Skript ein. Schalten Sie außerdem noch IP-forwarding ein: Unter SuSE: Setzen Sie die Variable »IP_FORWARD« in /etc/rc.config auf »yes« Unter RedHat wird es folgendermaßen eingeschalten: echo 1 > /proc/sys/net/ipv4/ip_forward Sie sollten das auch unter SuSE machen, weil viele Programme diese Datei überprüfen. Wenn ihr Kernel nun geeignet ist um IP-Maskierung zu betreiben, dann geben Sie folgendes ein und achten Sie auf Fehlermeldungen: # IP Masquerading: ############################ # Module laden: /sbin/depmod -a /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_raudio /sbin/modprobe ip_masq_irc /sbin/modprobe ip_masq_cuseeme /sbin/modprobe ip_masq_vdolive # Forwarden einschalten (nur einmal notwendig: #echo 1 > /proc/sys/net/ipv4/ip_forward # Einstellungen machen: ipchains -P forward DENY ipchains -A forward -s 192.168.x.0/255.255.255.0 -j MASQ Die letzte Zeile erlaubt dem Netz 192.168.x.0 IP-Maskierung zu benutzen. Wenn alles klappt, dann tragen sie obiges in /sbin/init.d/boot.local (SuSE) oder in ein anderes geeignetes Bootskript ein. Erklärung: Zuerst werden die benötigten Kernelmodule geladen. Dann werden die Einstellungen zur Sicherheit gesetzt: ipchains -P forward DENY bestimmt, daß die Standardeinstellung für alle Rechte die Verweigerung der IP Maskierung ist. Andernfalls könnte jemand seine Identität verschleiern indem er Pakete durch Ihr Gateway schickt. (Ist zwar für einen Wählleitungszugang unwahrscheinlich, aber die Konsequenzen können sehr ärgerlich sein, wenn jemand Illegales über Ihr Gateway gemacht hat.) Prinzipiell sollte man nur das nötigste erlauben, also erlauben wir IP Maskierung nur für unser lokales Netz mit ipchains -A forward -s <Netzwerk>/<Netzmaske> -j MASQ Selbstverständlich können Sie IP-Maskierung auch nur für einzelne Rechner zulassen: ipchains -A forward -s <Rechner>/<Netzmaske> -j MASQ Bedenken Sie aber, daß jemand, der auf einen von den Rechnern über das Netz einloggen kann, trotzdem die IP Maskierung benutzen kann. Wenn Sie die IP-Maskierung ausprobieren, versuchen Sie zuerst einmal IP Nummern anstatt normaler Namen; Vielleicht stimmt Ihre Nameservereinstellung nicht. Einrichtung der Maschinen, die über das Netz IP-Maskierung nutzen wollen: SuSE: YaST -> Administration des Systems -> Netzwerk konfigurieren -> Netzwerk Grundkonfiguration -> F6 (IP-Adressen) bei dem entsprechenden Netz drücken -> Adresse default-Gateway eintragen: (=Adresse des Servers) /usr/sbin/rcroute restart Allgemein: Eintrag »default <IP-Adresse des Servers>« in /etc/route.conf eintragen Routing neu starten ----------------------------------------- </verb></tscreen> <sect2><ref id="ISDN" name="ISDN"> <p> nothing todo <sect1>Support <label id="Support"> <p> Aus gegebenem Anlaß: <p> Es hat keinen Sinn wenn Sie die Autoren mit Mails bombardieren oder versuchen telephonisch zu erreichen! Wenn in diesem HOWTO etwas mißverständlich erklärt ist, oder etwas aus anderen Gründen bei Ihnen nicht funktioniert, wenden Sie sich bitte vertrauensvoll an die Newsgroup at.linux oder noch besser an den Support Ihres Providers. *1) <p> dort werden Sie geholfen ;-) (frei nach Verona Feldbusch) <p> Andernfalls sind die Autoren nur noch mit 1st-level-support beschäftigt und finden keine Zeit mehr an diesem Dokument zu arbeiten. <p> Sollten Sie aber eine Lösung für Ihr Problem haben, dann sind sie selbstverständlich herzlich eingeladen die Lösung an einen der Autoren zu senden. Wir werden dann gerne die notwendigen Änderungen und Ergänzungen vornehmen. Da wir das HOWTO in unserer Freizeit "non-profit" betreiben, sind wir nur nicht zur Lösung individueller Probleme in der Lage. Dazu fehlt (zumindest mir - Heimo Schön) sowohl die Erfahrung, als auch ein ADSL-Zugang und Hardware zum Testen verschiedener Konfigurationen. <p> BESTEN DANK FÜR IHR VERSTÄNDNIS !!! <p> <p> *1) <p> Ich weiß das es fast schon zynisch klingt, wenn ich Sie an Ihren Provider verweise, da die meisten österreichischen Provider (z.B.AON) die Existenz von Linux bestreiten. Auch wenn Sie Hilfe z. B. aus der at.linux erhalten, sollten Sie den Provider darauf hinweisen, daß Sie mit Ihren Beiträgen auch die Hotline bezahlen, die Hotline Ihnen aber nicht helfen kann, weil Linux nicht unterstützt wird. Wenn genügend Leute die Hotline quälen, dann wird auch der Provider irgendwann zur Kenntnis nehmen müssen, daß es Linux gibt. Danke für Ihr Verständnis und für Ihre Mitarbeit bei der Verbreitung von Linux. <p> Ich kann daher allen Linux-Newbies nur empfehlen, erkundigen Sie sich z.B. bei Freunden, oder in der at.linux inwieweit österreichische Provider auch Linux Support anbieten. Bei AON sind Sie z.B. völlig falsch. Da werden Sie an der Hotline kaltschnäuzig abgewiesen, wenn Sie Linux erwähnen. Der Provider <htmlurl url="http://adsl.inode.at" name="Inode"> hingegen, betreibt eine wunderbares Linux-HOWTO für seinen ADSL Zugang, das vor allem für Anfänger hervorragend (wenn nicht sogar besser wie wie dieses HOWTO) geeignet ist, für die ersten Schritte mit ADSL unter Linux. <p> Provider mit Linux Support in Österreich (die Liste ist noch ein bischen spärlich ;-) : <itemize> <item> Bei <htmlurl url="http://adsl.inode.at" name="Inode"> finden Sie ADSL- <htmlurl url="http://www6.inode.at/support/internetzugang/adsl/konfiguration_linux.html" name="Support"> unter Linux! <item> <htmlurl url="mailto:Andy Dunkl <adunkl@nostromo.quake.at>" name="Andy Dunkl <adunkl@nostromo.quake.at>"> verweist nicht ganz zu unrecht auf den <htmlurl url="https://service.kpnqwest.at/cserv/doc_store/linux/adsl.shtml" name="KPNQwest Linux Support"> </itemize> Ich bin für alle Tips dankbar, sollten sich weitere Provider finden die schon von Linux gehört haben. <sect>UMTS <label id="umts"> <p> Dieses Kapitel basiert auf diversen Postings und einem PDF-File die unter folgenden Links gefunden wurden: <p> <htmlurl url="http://joergweis.wordpress.com/tag/linux/" name="http://joergweis.wordpress.com/tag/linux/"> <p> <htmlurl url="http://www.linuxforen.de/forums/showthread.php?t=157913" name="http://www.linuxforen.de/forums/showthread.php?t=157913"> <p> <htmlurl url="http://joergweis.wordpress.com/files/2006/06/vodafone_gt3g_emea_HOWTO.pdf" name="http://joergweis.wordpress.com/files/2006/06/vodafone_gt3g_emea_HOWTO.pdf"> <p> Dieses Kapitel ist also nur eine kurze Sammlung von Tips wie man UMTS mit einer A1-Vodafon-Karte in Österreich zum Laufen bringt. Andere Länder werden hier nicht behandelt. Ich habe mit den Typangaben auf meiner Karte nach folgendem String im Internet gesucht: <p> "Vodafone GT 3G+ linux" <p> und habe dabei die obigen Links gefunden. Wahrscheinlich gibt es noch viel mehr, aber die obigen Links haben bei mir zum Erfolg geführt (Vielen Dank an Jörg Weis, ...) <p> Trickreich ist, daß man einen Kernelmodul herunterladen muss (als Source-tgz), den ich aber dort wo im obigen PDF angegeben, nicht gefunden habe. Unter dem nachfolgenden Link bin ich dann fündig geworden: <p> <htmlurl url="http://packages.debian.org/unstable/net/nozomi-source" name="http://packages.debian.org/unstable/net/nozomi-source"> <p> Das tgz-File ist 25 kbyte gross und mit einem beherzten make compilierbar (getestet auf einer Suse 10.1). Das make install geht leider nicht, weil der modprobe -r (nona) nicht klappt, aber das einzige cp das make-install dort macht kann man auch per Hand machen (also cat Makefile und den cp ganz am Ende per Hand machen: <p> cp -f nozomi.ko /lib/modules/$(uname -r)/kernel/drivers/pci/hotplug <p> Dann ein beherztes modprobe nozomi.ko und die Karte in den GPRS-Slot und schon hat man 4 neue devices /dev/noz0 bis /dev/noz3 und dmesg bestätigt die gefundene Karte. <p> Weiter gehts dann wie im oben erwähnten PDF-File beschrieben. <sect>ADSL <label id="adsl"> <p> Dieses Kapitel wurde von <htmlurl url="mailto:roessmann@gmx.net" name="Bernhard Roessmann<roessmann@gmx.net>"> zusammengetragen. <p> <htmlurl url="http://adsl.inode.at" name="Inode"> Kunden finden <htmlurl url="http://www6.inode.at/support/internetzugang/adsl/konfiguration_linux.html" name="hier"> eine wunderbare Anleitung zur Installation von ADSL unter Linux. <p> Weiters gibt es von <htmlurl url="mailto:Friedrich Lobenstock <fl@fl.priv.at>" name="Friedrich Lobenstock <fl@fl.priv.at>"> ein ADSL rpm, daß Sie von <htmlurl url="http://www.fl.priv.at/adsl/" name="hier"> abholen können. <sect1>ADSL Grundwissen <label id="adsl-allgemeines"> <p> <sect2>Wie funktioniert ADSL unter Linux? <p> Gar nicht. Warum? Es gibt kein "ADSL", sondern viel mehr gibt es ADSL-Lösungen verschiedener Hersteller mit unterschiedlichen Protokollen. Wer also eine deutsche Beschreibung liest wird damit im österreichischen Netz von wenig anfangen. Deshalb dieses HOWTO: ADSL & Linux. <sect2>Was sind PPTP und PPoE? <p> Sowohl in Österreich wie auch in Deutschland wird für ADSL-Verbindungen "PPP" (Point-to-Point-Protocol) verwendet. Dieses Protokoll ist der Standard für Modemverbindungen. PPtP und PPoE tunneln eine PPP-Verbindung über ein lokales LAN welches im einfachsten Fall nur aus dem ADSL-Modem und dem Arbeitsplatzrechner besteht: <sect3>PPoE <p> PPoE ist das ältere Protokoll (<htmlurl url="http://www.faqs.org/rfcs/rfc2516.html" name="RFC 2516">) und wurde von UUNET/RedBack/RouterWare entwickelt. Es setzt die PPP-Verbindung direkt auf Ethernet, die Verbindung zwischen zwei Ethernet-Ports wird durch die Ethernet-Adressen und einer Session-ID identifiziert. Der größte Nachteil dieses Protokolls ist, daß durch den zusätzlichen Rahmen die maximale Länge der IP-Pakete reduziert wird (geringere MTU). <sect3>PPtP <p> PPtP ist ein in Redmond entwickeltes Protokoll (<htmlurl url="http://www.faqs.org/rfcs/rfc2637.html" name="RFC 2637">) zur Tunnelung einer PPP-Verbindung innerhalb einer IP-Verbindung. Obwohl typischerweise ebenfalls auf einem Ethernet eingesetzt, ist eine PPTP-Verbindung genauso wie jede andere IP-Verbindung nicht an ein bestimmtes Transportmedium gebunden. Der Preis für diese Flexibilität ist allerdings ein erhöhter Overhead. Diese Protokoll wird von den ANTs im österreichischen Netz zur Zeit benutzt. R4 Verschlüsselung wird von den ANTs nicht unterstützt, und damit entfällt auch die Lösung diverser mit dieser Verschlüsselung zusammenhängender Probleme. <sect2>Wie ist das österreichische ADSL aufgebaut? <p> Der Arbeitsplatzrechner wird über ein Twistet-Pair-Kabel mit  RJ-45 Steckern  (1:1) mit der ANT verbunden. Anfangs wurde das A1000, in der Zwischenzeit das Nachfolgemodell Speed Touch(tm) Home verwendet. Dieses Modem setzt PPTP auf PPoA (<htmlurl url="http://www.faqs.org/rfcs/rfc2364.html" name="RFC 2364">) - Point-to-Point-over-ATM um. Dh. die PPP-Verbinung wird am österreichischen Netz über ATM getunnelt. Die ATM-Strecke wird bis zum Internet-Provider geführt, bei diesem endet die PPP-Verbindung. <sect2>Wie funktioniert PPTP? <p> Für den Verbindungsaufbau genügt es den Hostnamen (bzw. die IP-Adresse) der Gegenstelle zu kennen (Default: 10.0.0.138). Innerhalb dieser Verbindung wird nun eine PPP-Verbindung aufgebaut. Patches für bestimmte Hardware-Versionen waren nur beim A1000-Modem notwendig. In Windows-Umgebung wird der Treiber für dieses (und andere) Protokolle als "VPN-Modem" bezeichnet. Für den - eher unwahrscheinlichen Fall - das sich zwischen ADSL-Modem und Rechner auf dem der PPTP-Client läuft, noch eine Firewall befindet, ist zu beachten, daß PPTP neben einer TCP-Verbindung auf Port 1723 auch eine IP-Verbindung mit der Protokoll-ID 47 (GRE) eröffnet; normalerweise befindet sich jedoch ohnehin die Firwall hinter dem PPTP-Clientrechner. <sect2>Was ist bei der PPP-Verbindung zu beachten? <p> Der pppd wird vom pptp-Client automatisch gestartet. Es gibt hier eigentlich nur einen wesentlichen Fallstrick - die Authentifizierung. Das ADSL Netz verwendet hier MS-CHAP (ident MD5-CHAP). Es handelt sich dabei um eine von MS abgewandelte Form des CHAP. Für Linux-Benutzer wesentlich: Es ist eine aktuelle Version von PPP erforderlich, oder ein Patch bei einer älteren Version. Die "debug" Option ist am Anfang sehr nützlich, damit kann man den Fortschritt beim Verbindungsaufbau im syslog (tail -f /var/log/messages) beobachten. Für die MTU ist kein eigener Parameter erforderlich. <sect2>Was muß ich als ADSL Kunde besonders beachten? <p> Da manche ADSL Kunden in den Genuß eines (z. B. 1 GB) Download-Limits gekommen sind, sollten Sie bei allen Einstellungen von sendmail, fetchmail, fetchnews, etc. darüber nachdenken wieviel trafic durch ständiges Abholen von z. B. 50 Newsgroups verursacht wird. Die Kapitel weiter oben (z. B. leafnode, etc.) sind zwar für ADSL User prinzipiell gültig, aber nicht darauf abgestimmt möglichst wenig download-traffic zu verursachen. <p> Daher alle Einstellungen z. B. in der crontab möglichst restriktiv einstellen, oder gleich aus der crontab aushängen und bei Bedarf von Hand starten. Das ist zwar dann alles nicht besonders elegant, aber es betrifft ja auch nur ADSL Kunden die einen Provider mit Download-Limit gewählt haben. <sect2>Sonstiges <p> Die ANT besitzt über die eigentliche Modemfunktion hinausgehend einige interessante Fähigkeiten - etwa ein einfacher DHCP und DNS-Server mit dem man dem eigenen LAN Adressen und Namen zuweisen kann. Es beherrscht darüber hinaus "Bridging" wie auch mehrere parallele PPP-Verbindungen, beides wird jedoch im ADSL Netz nicht unterstützt, genaueres ist dazu in der dem Modem beiliegenden Beschreibung zu finden. <sect1>Ausgangsannahmen <p> Der Zustand bevor Sie mit der Installation beginnen sollte folgendermaßen aussehen: <itemize> <item>eingeloggt als root <item>ADSL Zugang mit <item>"A1000" oder "Speed Touch(tm)" ADSL "Modem" (auch "ANT" genannt) </itemize> <sect1>Ethernet konfigurieren <p> Entsprechend der Anleitung der eingesetzten Distribution die Netzwerkkarte konfigurieren (SuSE: mit Yast; sonst: ifconfig). <tscreen><verb> IP-Adresse: 10.0.0.140 Subnetmask: 255.255.255.0 Rechnername: <rechnername> </verb></tscreen> (statt <rechnername> gewünschten Namen verwenden) <p> In <tt>/etc/hosts</tt> einen Hostnamen für den Ant vergeben: <tscreen><verb> 10.0.0.138 alcatel </verb></tscreen> 10.0.0.138 ist übrigens die IP, auf die der ANT werksseitig eingestellt ist. Wem das nicht gefaellt, kann ja mal mit seinem WWW-Browser http://10.0.0.138 probieren :-) In <tt>/etc/resolv.conf</tt> die Nameserveradressen eintragen, z.B. für den Provider INODE (Wien): <tscreen><verb> nameserver 195.58.160.2 nameserver 195.58.161.3 </verb></tscreen> Oder für den Provider AON: <tscreen><verb> nameserver 195.3.96.67 nameserver 195.3.96.68 </verb></tscreen> ACHTUNG!! Bei SuSE stattdessen folgendes in <tt>/etc/rc.config</tt> eintragen und danach SuSEconfig starten (resolv.conf wird automatisch erzeugt): INODE (Wien): <tscreen><verb> SEARCHLIST="inode.at" NAMESERVER="195.58.160.2 195.58.161.3" </verb></tscreen> AON: <tscreen><verb> SEARCHLIST="aon.at" NAMESERVER="195.3.96.67 195.3.96.68" </verb></tscreen> Neu boooten ;-) (es reicht auch beenden und neustarten aller Netzmodule z. B.: <tt>/sbin/init.d/network restart</tt> ) <p> Netzwerk testen mit "ping <rechnername>", es sollte in etwa folgende Ausgabe erscheinen: <tscreen><verb> 64 bytes from 10.0.0.140: icmp_seq=0 ttl=255 time=0.128 ms 64 bytes from 10.0.0.140: icmp_seq=1 ttl=255 time=0.207 ms </verb></tscreen> ANT testen mit "ping alcatel": <tscreen><verb> 64 bytes from 10.0.0.138: icmp_seq=0 ttl=15 time=1.464 ms 64 bytes from 10.0.0.138: icmp_seq=1 ttl=15 time=1.496 ms </verb></tscreen> <p> Der Ping zum Point-to-Point Partner sollte ca. 20 ms dauern (am Abend gelegentlich auch 200ms). <p> TODO: Die Installation eines eigenen Caching-Name-Servers macht Sinn (eine DNS-Auflösung dauert ansonsten jedes Mal ca. 100ms, liegt das Record im Cache nur ca. 1ms) <sect1>ppp konfigurieren <label id="ppp-konfigurieren"> <p> <sect2>/etc/ppp/options <label id="ppp-options"> <p> In <tt>/etc/ppp/options</tt> sollte folgendes eingetragen sein: <tscreen><verb> noipdefault name "<username>" noauth defaultroute replacedefaultroute </verb></tscreen> Anmerkung1: "<username>" ist der Name der einem vom Provider zugeteilt wurde in Anführungsstrichen (z. B. die Teilnehmerkennung bei AON Kunden bzw. Benutzername@provider.at bei allen anderen österreichischen Providern). <p> Anmerkung2: Im File <tt>/etc/ppp/options</tt> sollten die folgenden beiden Zeilen eingetragen werden: <tscreen><verb> lcp-echo-failure 10 lcp-echo-interval 10 </verb></tscreen> Ein ppp options file das für PPTP / ADSL ANT gedacht ist, findet sich hier : <tscreen><verb> # /etc/ppp/options # # Not every option is listed here, see man pppd for more details. This file # is read by the pppd, it is an error when it is not present. # # Use the following command to see the active options: # grep -v ^# /etc/ppp/options | grep -v ^$ # # The name of this server. Often, the FQDN is used here. #name <host> # Enforce the use of the hostname as the name of the local system for # authentication purposes (overrides the name option). #usehostname # If no local IP address is given, pppd will use the first IP address # that belongs to the local hostname. If "noipdefault" is given, this # is disabled and the peer will have to supply an IP address. noipdefault # With this option, pppd will accept the peer's idea of our local IP # address, even if the local IP address was specified in an option. #ipcp-accept-local # With this option, pppd will accept the peer's idea of its (remote) IP # address, even if the remote IP address was specified in an option. #ipcp-accept-remote # Run the executable or shell command specified after pppd has terminated # the link. This script could, for example, issue commands to the modem # to cause it to hang up if hardware modem control signals were not # available. # If mgetty is running, it will reset the modem anyway. So there is no need # to do it here. #disconnect "chat -- \d+++\d\c OK ath0 OK" # Increase debugging level (same as -d). The debug output is written # to syslog LOG_LOCAL2. #debug # Enable debugging code in the kernel-level PPP driver. The argument n # is a number which is the sum of the following values: 1 to enable # general debug messages, 2 to request that the contents of received # packets be printed, and 4 to request that the contents of transmitted # packets be printed. #kdebug n # noauth means do not require the peer to authenticate itself, this must # be set if you want to use pppd to connect to the internet. In this case # *you* must authenicate yourself to the peer(internet provider), so do # not disable this setting unless you are the dial-in server which where # the peer has to autenticate to. noauth # Use hardware flow control (i.e. RTS/CTS) to control the flow of data # on the serial port. crtscts # Specifies that pppd should use a UUCP-style lock on the serial device # to ensure exclusive access to the device. lock # Use the modem control lines.(is default) modem # The opposite: local # # Description: # Don't use the modem control lines. With this option, pppd will ignore the # state of the CD (Carrier Detect) signal from the modem and will not change # the state of the DTR (Data Terminal Ready) signal. # # You need to disable modem and enable local if you want to connect to anoter # system without using a modem: #local # async character map -- 32-bit hex; each bit is a character # that needs to be escaped for pppd to receive it. 0x00000001 # represents '\x01', and 0x80000000 represents '\x1f'. # To allow pppd to work over a rlogin/telnet connection, ou should escape # XON (^Q), XOFF (^S) and ^]: (The peer should use "escape ff".) #asyncmap 200a0000 asyncmap 0 # needed for some ISDN Terminaladaters, namely ELSA, those seem to have # problems with asyncmap negotiation, so you can turn off this procedure # in case your ISDN box has trouble with it, by enabling this option. # You have to disable the asyncmap <x> option to be sure to have it # active. If you use wvdial, set the ISDN parameter in /etc/wvdial.conf # instead. #default-asyncmap # Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd # will ask the peer to send packets of no more than <n> bytes. The # minimum MRU value is 128. The default MRU value is 1500. A value of # 296 is recommended for slow links (40 bytes for TCP/IP header + 256 # bytes of data). The value 1492 is for DSL connections (PPP Default - # PPPoE Header: 1500 - 8 = 1492) # mru 1492 # Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer # requests a smaller value via MRU negotiation, pppd will request that # the kernel networking code send data packets of no more than n bytes # through the PPP network interface. The value 1492 is for DSL connections # (PPP Default - PPPoE Header: 1500 - 8 = 1492) # mtu 1492 # Set the interface netmask to <n>, a 32 bit netmask in "decimal dot" # notation (e.g. 255.255.255.0). #netmask 255.255.255.0 # Don't fork to become a background process (otherwise pppd will do so # if a serial device is specified). nodetach # If this option is given, pppd will send an LCP echo-request frame to # the peer every n seconds. Under Linux, the echo-request is sent when # no packets have been received from the peer for n seconds. Normally # the peer should respond to the echo-request by sending an echo-reply. # This option can be used with the lcp-echo-failure option to detect # that the peer is no longer connected. lcp-echo-interval 30 # If this option is given, pppd will presume the peer to be dead if n # LCP echo-requests are sent without receiving a valid LCP echo-reply. # If this happens, pppd will terminate the connection. Use of this # option requires a non-zero value for the lcp-echo-interval parameter. # This option can be used to enable pppd to terminate after the physical # connection has been broken (e.g., the modem has hung up) in # situations where no hardware modem control lines are available. lcp-echo-failure 4 # Send up to 60 LCP configure-request during negotiation. With a value # of 2 for lcp-restart below, this might take up to 2 minutes. lcp-max-configure 60 # Resend unanswered LCP requests after 2 seconds. lcp-restart 2 # Specifies that pppd should disconnect if the link is idle for n seconds. idle 600 # Specifies the maximal number of attempts to connect to the server. This # is useful for dial on demand. Default value is 10. #maxfail 3 # Disable the IPXCP and IPX protocols. noipx # In the file /etc/ppp/filters are some active-filter rules. See man pppd # and man tcpdump for more informations. file /etc/ppp/filters #------------------------------------------------------------------------- # The next two options are only interesting for you if you are admin of # a system with other users that use ppp, and those users are normally # never allowed to add default route, or you do not want users to # replace the default route. #------------------------------------------------------------------------- # enable this to prevent users from attempting to add a default route. # Use this option with caution: If the user needs to use a program like # wvdial, he will not be able to connect because wvdial forces defaulroute # but this is rejected by this option and the user will not be able to # connect to the internet. #nodefaultroute # enable this to prevent users from replacing an existing default route. #noreplacedefaultroute #------------------------------------------------------------------------- # All options below only make sense if you configure pppd to be a dial-in # server, so don't touch these if you want dial into your provider with # PPP! #------------------------------------------------------------------------- # Set the assumed name of the remote system for authentication purposes # to <n>. #remotename <n> # Add an entry to this system's ARP [Address Resolution Protocol] # table with the IP address of the peer and the Ethernet address of this # system. {proxyarp,noproxyarp} #proxyarp # Use the system password database for authenticating the peer using # PAP. Note: mgetty already provides this option. If this is specified # then dialin from users using a script under Linux to fire up ppp wont work. #login # Specify which DNS Servers the incoming Win95 or WinNT Connection should use # Two Servers can be remotely configured #ms-dns 192.168.1.1 #ms-dns 192.168.1.2 # Specify which WINS Servers the incoming connection Win95 or WinNT should use #ms-wins 192.168.1.50 #ms-wins 192.168.1.51 </verb></tscreen> <sect2>/etc/ppp/pap-secrets <label id="pap-secrets"> <p> In <tt>/etc/ppp/pap-secrets</tt> sollte folgendes eingetragen sein: <tscreen><verb> <username> * <password> * </verb></tscreen> Damit auch bei CHAP-Authentifizierung alles klappt, tippen Sie: <tscreen><verb> cp /etc/ppp/pap-secrets /etc/ppp/chap-secrets </verb></tscreen> Damit wird dann sowohl für PAP, als auch für CHAP ein korrekter Eintrag mit Ihren Providerdaten gefunden. Achten Sie darauf, daß Sie danach Änderungen immer in beiden Files führen, damit Sie keine bösen Überraschungen erleben, wenn dann doch das Anmeldeverfahren durch Ihren Provider gewechselt wird. <p> Ihr chap-secrets und pap-secrets könnte dann so aussehen : <tscreen><verb> # Secrets for authentication using CHAP # client server secret IP addresses "yourlogin@YOURPROVIDER" * "yourpassword" * </verb></tscreen> Anmerkung1: <username> ist der Name der einem vom Provider zugeteilt wurde (z. B. die Teilnehmerkennung bei AON Kunden bzw. Benutzername@provider.at bei allen anderen österreichischen Providern) ohne Anführungsszeichen und <password> ist das Zugangspaßwort das Ihnen vom Provider zugeteilt wurde. <p> Anmerkung2: Nextra und Netway Anmerkung: August Hörandl mußte für seinen Nextra-Zugang in pap-secrets die Zeile <tscreen><verb> * * <password> * </verb></tscreen> eintragen, um eine Verbindung zustande zu bekommen. Sollten Sie bei der Anmeldung Probleme haben, könnte das eventuell helfen. Speziel z. B. NAK nach einem AuthReq, sollte durch diese Änderung behoben werden können. <p> Anmerkung3: <htmlurl url="mailto:t.zimmermann@tz-com.at" name="Zimmermann Thomas <t.zimmermann@tz-com.at>"> berichtete am 13.8. : <tscreen><verb> UTA hat vor ca. 1 Woche alle User von PAP auf CHAP umgestellt. D.H. es geht nur mehr mit der chap-secrets. Die pap-secrets sollte man loeschen. Folgendes Problem tritt auf: Kunde wird bei UTA fuer die Einwahl gesperrt (wenn mit PAP authentifiziert) Nach Anruf des Kunden wird dieser wieder freigeschaltet, muss sich dann aber das 1. mal richtig authentifizieren, sonst wird er wieder gesperrt! Danach sind wieder 20 Fehlversuche moeglich. </verb></tscreen> <p> <sect1>Hintergrund warum es Unterschiede zwischen AON und z. B. inode gibt: <p> Bei alle Providern (außer AON) ist es wichtig, daß der Name vollständig eingegeben wird, und zwar inkl. dem Teil hinter "@", da die Authentifizierung zuerst über einen Radius - Proxy bei der TA läuft, der erst mit dieser Angabe den richtigen Tunnel zum jeweiligen Provider öffnet. <p> Bei Inode wäre das also: username@inode.at <p> Besten Dank an <htmlurl url="mailto:louis@graz.inode.at" name="Alois Martin Hopfer <louis@graz.inode.at>"> einen der Sysadmins von <htmlurl url="http://www.inode.at" name="http://www.inode.at"> für die Überarbeitung und den Test dieses Kapitels. <sect1>pptp installieren <p> Den aktuellen pptp client finden Sie unter <htmlurl url="http://pptpclient.sourceforge.net/" name="http://pptpclient.sourceforge.net/"> (MPPE benötigen Sie für ADSL nicht.) <sect2>pptp ausführbar machen <label id="pptp-ausfuehrbar"> <p> Sollten Sie Probleme mit pptp haben, bitte überprüfen Sie ob die Datei pptp ausführbar ist (eXecute Rechte auf dem File gesetzt). Kontrollieren Sie mit <tscreen><verb> ls -al /usr/sbin/pptp </verb></tscreen> ob das x in den Rechten für alle owner,group,others gesetzt ist. Sollte das nicht der Fall sein, oder sollten Sie daran zweifeln, dann geben Sie folgendes Kommando ein: <tscreen><verb> chmod a+x /usr/sbin/pptp </verb></tscreen> Bedenken Sie, daß die Kommandos nur dann funktionieren, wenn Sie Ihren pptp in das Directory /usr/sbin kopiert haben. <p> Dieses Kapitel wurde spendiert von <htmlurl url="mailto:Aljosha <Aljosha.judmayer@aon.at>" name="Aljosha <Aljosha.judmayer@aon.at>"> <sect2>pptp und BSD <label id="pptp-BSD"> <p> Von <htmlurl url="mailto:Martin Großhauser <csad2635@uibk.ac.at>" name="Martin Großhauser <csad2635@uibk.ac.at>"> stammt der Hinweis, daß der BSD-user zum betrieb von pptp den kernel neu kompilieren muss, und die option "pseudo-device GRE" abschuschalten ist. <sect1>Verbindung testen <p> Testen des Verbindungsaufbau: <tscreen><verb> pptp alcatel </verb></tscreen> Verbindung wieder abbauen <tscreen><verb> killall pppd killall pptp </verb></tscreen> Wenn die Verbindung steht, sollte ifconfig etwa folgendes ausgeben: <tscreen><verb> ppp0 Link encap:Point-to-Point Protocol inet addr:10.66.8.39 P-t-P:172.19.90.132 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:346 errors:0 dropped:0 overruns:0 frame:0 TX packets:352 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 </verb></tscreen> <sect1>Automatisches Login/Logout <label id="adsl-autologin"> <p> Nach erfolgreicher Ausführung der nun folgenden Schritte loggt sich das System in Zukunft immer selbständig beim Hochfahren beim Provider ein (bei erreichen des runlevel 3). ALLE Benutzer haben ab dann Zugriff auf das Internet, auch wenn sie keine root-Rechte haben. Beim Niederfahren des Systems (runlevel <3) wird automatisch ausgeloggt. Die Angaben beziehen sich auf SuSE! <p> Folgende Zeile ins File <tt>/etc/rc.config</tt> eintragen: <tscreen><verb> ADSL="yes" </verb></tscreen> Nun das SuSE-Konfigurationsskript aufrufen (Schreibweise beachten!): <tscreen><verb> SuSEconfig </verb></tscreen> Folgendes Skript unter dem Namen <htmlurl url="adsl" name="adsl"> nach <tt>/sbin/init.d</tt> (oder wo immer in Ihrer Distribution die Startscripts liegen (SUSE < 7.1 <tt>/sbin/initd</tt>, SUSE >= 7.1 <tt>/etc/init.d</tt>, RedHat <tt>/etc/rc.d</tt>, usw.) kopieren. Das File mit chmod a+x adsl ausführbar machen. Nach <tt>/sbin/init.d/rc3.d</tt> wechseln und 2 symbolische Links erzeugen <tscreen><verb> ln --symbolic ../adsl K18adsl ln --symbolic ../adsl S23adsl </verb></tscreen> Anmerkung 1: Das HOWTO wurde zum Großteil unter SUSE 6.x geschrieben. Sollten die Links K18 oder S23 schon vergeben sein, dann suchen sie bitte nach der nächsten freien K(kill) oder S(tart) Nummer im Directory <tt>/sbin/init.d/rc3.d</tt> . Sollte die Start/Kill-Nummer schon vergeben sein, dann suchen Sie eine freie und passen die obigen ln -s Kommandos entsprechend an. Hier die ls Kommandos: <tscreen><verb> ls -alp /sbin/init.d/rc3.d/K18* ls -alp /sbin/init.d/rc3.d/S23* </verb></tscreen> Anmerkung 2: Für Redhat User sei hier noch angemerkt, daß die Startscripts bei Redhat in <tt>/etc/rc.d</tt> und nicht unter <tt>/sbin/init.d</tt> liegen. <p> So nun sollten wir mit dem auto-login-logout fertig sein. Mit root-Rechten kann man das adsl-Skript auch händisch aufrufen. Folgene Parameter sind möglich: <itemize> <item>adsl start : Logon beim Provider <item>adsl stop : Logoff <item>adsl restart : Logoff und danach Login <item>adsl status : Gibt aus, ob der pptp läuft oder nicht </itemize> <sect2>Fedora <label id="adsl-autologin-fedora"> <p> Von <htmlurl url="mailto:hans-peter.lackner@netstruct.at (Hans-Peter Lackner)" name="hans-peter.lackner@netstruct.at (Hans-Peter Lackner)"> stammt die neue Version des adsl-Skripts, dass auch unter Fedora funktioniert (getestet mit Version Fedora Core 2 final) <tscreen><verb> #! /bin/sh # # chkconfig: 2345 26 74 # description: for starting adsl # # Author: B.R. Jan 07 2000 # modified by StM - Mar 27 2003 # # /sbin/init.d/adsl # . /etc/rc.d/init.d/functions base=${0##*/} link=${base#*[SK][0-9][0-9]} test $link = $base && ADSL=yes test "$ADSL" = yes || exit 0 test -x /usr/sbin/pptp || exit 0 return=$rc_done case "$1" in start) echo -n "Login ADSL..." touch /var/run/adsl_up daemon /usr/sbin/pptp alcatel || return=$rc_failed echo -e "$return" ;; stop) echo -n "Logout ADSL..." rm -rf /var/run/adsl_up status /usr/sbin/pppd || return=$rc_failed killproc /usr/sbin/pptp || return=$rc_failed echo -e "$return" ;; restart) $0 stop && $0 start || return=$rc_failed ;; reload) ;; status) echo -n "Checking for connection to ADSL... " status /usr/sbin/pptp && echo "online" || echo "offline" ;; probe) ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 esac test "$return" = "$rc_done" || exit 1 exit 0 </verb></tscreen> <sect1>Speed Touch(tm) USB <label id="adsl-usb"> <p> Mit freundlicher Erlaubnis von <htmlurl url="mailto:tuxx@tuxx-home.at (Alexander Griesser)" name="tuxx@tuxx-home.at (Alexander Griesser)"> dürfen wir hier das <htmlurl url="AT-Speedtouch-HOWTO.html" name="AT-Speedtouch-HOWTO"> zur Verfügung stellen. <p> Die Beschreibung von <htmlurl url="mailto:Harald Müller (Gonzo)<gweb@aon.at>" name="Harald Müller (Gonzo)<gweb@aon.at>"> erklärt einfach und übersichtlich den Setup eines <htmlurl url="http://members.aon.at/gweb/gweb/linux/speedtouch.html" name="SpeedTouch USB unter Linux">. <p> Die folgenden Links bringen sie zu den Treibern für das Speed Touch(tm) USB-Modem : <htmlurl url="http://www.alcatel.com/consumer/dsl/dvrreg_lx.htm" name="http://www.alcatel.com/consumer/dsl/dvrreg_lx.htm"> <p> Eine Anleitung zu <htmlurl url="http://www.linuxdude.co.uk/docs/Alcatel-Speedtouch-USB-mini-HOWTO/" name="Configuring the Speedtouch USB ADSL Modem"> . Hier wird erklärt was alles zu tun ist um das Speedtouch USB unter Linux zum Laufen zu bringen. <p> <p> <htmlurl url="http://www.linux-usb.org/SpeedTouch/" name="Linux Driver page for SpeedTouch USB ADSL Modem"> <p> <sect2>Inode USB Modem Zyxel Prestige Internetverbindung <label id="adsl-usb-zyxel"> <p> Von <htmlurl url="mailto:Filip Ljubas <f.ljubas@inode.at>" name="Filip Ljubas <f.ljubas@inode.at>"> wurde uns dieses Kapitel zur Verfügung gestellt. Es beschreibt die Installation eines USB Modems Zyxel Prestige 630-41 mit Inode xDSL@home <p> <sect3>http://eciadsl.flashtux.org/ <p> Unter <htmlurl url="http://eciadsl.flashtux.org/ " name="http://eciadsl.flashtux.org/ "> ist beschrieben wie man das Modem installiert. <p> Wichtige Punkte sind: <itemize> <item>Dokumentation lesen (es gibt auch eine auf Deutsch) <item>Beginners Tutorial lesen <item>FAQ lesen (Besonders bei Problemen) <item>beachten, dass der Kernel OK ist (ab 2.6.7 kein patchen notwendig) <item>bei synchro files nehmt ihr Nr. 42 (WICHTIG!!! Sollten jedoch Probleme beim Synchronisationsvorgang auftauchen, könnt ihr auch ein anderes ausprobieren). </itemize> Bei weiteren Problemen/Fragen könnt ihr das Forum der Seite verwenden und auch der IRC Channel (alles auf http://eciadsl.flashtux.org/ angeführt)! <p> Nachdem ihr dass Modem installiert habt und es sich auch richtig synchronisiert (beide Lämpchen leuchten und sonst keine Fehlermeldungen), könnt ihr versuchen eine Verbindung aufzubauen. Doch bevor ihr dass könnt, müsst ihr Punkt 2 erledigen: <p> <sect3>http://www6.inode.at/support/internetzugang/xdsl_student/konfiguration_ethernet_linux.html <p> Vom Link <htmlurl url="http://www6.inode.at/support/internetzugang/xdsl_student/konfiguration_ethernet_linux.html" name="http://www6.inode.at/support/internetzugang/xdsl_student/konfiguration_ethernet_linux.html"> das tar.gz Packet herunteladen und installieren. Eine Beschreibung befindet sich ebenfalls auf dieser Inode-Seite. Dabei geht man genau so vor, wie wenn man ein Ethernet Modem hätte. Bei der Netzwerkkarte gebt ihr aber an: tap0 <p> tap0 ist die Schnittstelle eures USB Modems (Es ist möglich, dass euere USB Schnittstelle anders lautet). <p> Der Rest ist gleich, wie beim Ethernet Modem. Auch die Verbindung stellt ihr her, wie von Inode beschrieben. <p> Verwendete Distribution: <itemize> <item>SuSe 9.2 <item>Kernel 2.6.8 </itemize> <sect1>xDSL (von inode) <label id="xdsl"> <p> Von <htmlurl url="mailto:Bernhard Roessmann <roessmann@gmx.net>" name="Bernhard Roessmann <roessmann@gmx.net>"> stammt diese Anleitung für ein inode@student xDSL login/logout script. Der "normale" inode-Zugang ist bei <htmlurl url="http://adsl.inode.at" name="inode"> wunderbar beschrieben und erklärt. <p> Es gelten für dieses Kapitel folgende Anmerkungen: <itemize> <item>Fuer xdsl@student von Inode <item>Fuer Debian <item>DHCP-Client vorher installieren (unter Debian mit: apt-get install dhcp-client) </itemize> Das Skript (siehe am Ende dieses Kapitels) kennt 3 Aufrufmoeglichkeiten: <itemize> <item>xdsl status : Gibt an, ob online oder offline <item>xdsl start : Einloggen beim Provider <item>xdsl stop : Ausloggen beim Provider </itemize> Weiters habe ich einen cronjob (in /etc/crontab) installiert, der jede Minute nachschaut, ob die Verbindung steht (ohne dass Traffic produziert wird!) und gegebenenfalls das Skript aufruft. <tscreen><verb> * * * * * root /sbin/start-stop-daemon --start --quiet --test --exec /usr/sbin/pptp && /etc/init.d/xdsl start </verb></tscreen> <sect2>xDSL Script von Bernhard Roessmann <label id="xdsl-script-1"> <p> Hier nun das Script von Bernhard Roessmann: <tscreen><verb> #!/bin/sh # xdsl login/logout # Bernhard Roessmann 2002-12-29 MYSELF="$0" CMD="$1" ANT="10.0.0.138" test -f /usr/sbin/pptp || exit 1 if test ! -s /var/lib/dhcp/dhclient.leases then echo "no dhcp lease available" logger $MYSELF": no dhcp lease available" exit 1 fi case $CMD in start) if ! start-stop-daemon --start --quiet --test --exec /usr/sbin/pptp >>/dev/nul then echo "already online" exit 1 fi echo -n "logging in" logger $MYSELF" login..." #Man nehme die grobe Kelle ;-) fuer die Gateway-IP set $(grep "option routers" /var/lib/dhcp/dhclient.leases | tail -1 | cut -f5 -d' ' | tr -d ";") ROUTER="$1" if route -n | grep $ANT >>/dev/nul then /sbin/route del $ANT fi /sbin/route add $ANT gw $ROUTER start-stop-daemon --start --quiet --exec /usr/sbin/pptp $ANT >>/dev/nul & for foo in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 do echo -n . sleep 1 if ifconfig | grep ppp0 >>/dev/nul then #Nochmal die grobe Kelle ;-) fuer die richtige default-Route set $(ifconfig ppp0 | grep P-t-P | tr -s [:blank:] | cut -f4 -d' ' | cut -b7-) GATEWAY="$1" /sbin/route del default /sbin/route add default gw $GATEWAY echo "successful" logger $MYSELF" login: successful" exit 0 fi done echo "failed" logger $MYSELF" login: failed" start-stop-daemon --stop --quiet --exec /usr/sbin/pptp >>/dev/nul route del $ANT exit 1 ;; stop) if start-stop-daemon --start --quiet --test --exec /usr/sbin/pptp >>/dev/nul then echo "already offline" exit 1 fi echo -n "logging out" logger $MYSELF" logout..." start-stop-daemon --stop --quiet --exec /usr/sbin/pptp >>/dev/nul for foo in 1 2 3 4 5 do echo -n . sleep 1 if ifconfig | grep ppp0 >>/dev/nul then continue else echo "successful" logger $MYSELF" logout: successful" route del $ANT exit 0 fi done echo "failed" logger $MYSELF" logout: failed" exit 1 ;; status) if ifconfig | grep ppp0 >>/dev/nul then echo "online" else echo "offline" fi exit 0 ;; reload|force-reload) ;; *) echo "Usage: $MYSELF start|stop|status" exit 1 ;; esac </verb></tscreen> <sect2>xDSL Script von Wolfgang Hackl <label id="xdsl-script-2"> <p> <htmlurl url="mailto:Wolfgang Hackl <wolf.hackl@gmx.at>" name="Wolfgang Hackl <wolf.hackl@gmx.at>"> hat festgestell: <p> Das von Inode zur Verfügung gestellte Script hat leider ein paar Macken (dürfte auf einer älteren Distribution entwickelt worden sein?). Wesentlich war allerdings, daß die Routen nicht richtig gesetzt wurden, d. h. es wurde eine Verbindung aufgebaut, über die nichts geschickt wurde. Ich habe das Script abgeändert und mittlerweile ist es auch auf mehreren Distributionen im Einsatz, weil ich auf Debian Woody umgestellt habe. Ein Kollege hat das Script auch auf RedHat in Verwendung, weil er mit der Inode-Anleitung auch nicht zurechtgekommen ist. <p> Und hier nun das Script von <htmlurl url="mailto:Wolfgang Hackl <wolf.hackl@gmx.at>" name="Wolfgang Hackl <wolf.hackl@gmx.at>"> <tscreen><verb> #!/bin/sh # /etc/init.d/xdsl base=${0##*/} link=${base#*[SK][0-9][0-9]} test $link = $base && XDSL=yes test "$XDSL" = yes || exit 0 test -x /usr/sbin/pptp || exit 0 GATEWAY="`/sbin/route -n|/bin/grep "^0.0.0.0"|/usr/bin/cut -c17-32`" case "$1" in start) echo -n "Connecting to XDSL@inode" route del default eth1 route add -host 10.0.0.138 eth1 /usr/sbin/pptp inode defaultroute cp /etc/resolv.conf.bak /etc/resolv.conf echo -e "$return" ;; stop) echo -n "Disconnecting from XDSL@inode" killall -9 /usr/sbin/pppd killall -9 /usr/sbin/pptp /sbin/route del -host 10.0.0.138 echo -e "$return" ;; restart) $0 stop && $0 start ;; reload) ;; status) echo -n "Checking for XDSL connection: " STATE=`ps aux|grep pptpd|grep -v grep` if [ X$STATE = "X1" ] then echo "online" else echo "offline" fi ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 esac exit 0 </verb></tscreen> <sect2>xDSL Script von Wolfgang Hackl für Einwahl über PPPoE <label id="xdsl-script-3"> <p> <htmlurl url="mailto:Wolfgang Hackl <wolf.hackl@gmx.at>" name="Wolfgang Hackl <wolf.hackl@gmx.at>"> hat das folgende Script zur Verfügung gestellt, mit dem man bei Inode XDSL über PPPoE einwählen kann. Der Zugang wurde mit pppoeconf eingerichtet. <tscreen><verb> #!/bin/sh export PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin case "$1" in start) echo -n "Connecting to XDSL@inode" route del default eth1 /usr/bin/pon dsl-provider defaultroute ;; stop) echo -n "Disconnecting from XDSL@inode" /usr/bin/poff dsl-provider killall -9 pppd ;; restart) $0 stop && $0 start ;; status) echo -n "Checking for XDSL connection: " ifconfig ppp0 2>&1 > /dev/null STATE=`echo $?` if [ X$STATE = "X0" ] then echo "online" else echo "offline" fi ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 esac </verb></tscreen> <sect2>xDSL Einwahl bei Inode <label id="xdsl-script-4"> <p> Von <htmlurl url="mailto:Jacob Rief <jacob.rief(at)gmx.at>" name="Jacob Rief <jacob.rief(at)gmx.at>"> stammt dieses Kapitel <p> Sicherstellen, dass die RPM-Pakete dhclient, ppp und pptp installiert sind. pptp ist nicht in der Standard-Distribution vorhanden, man muss es also gegebenenfalls nachinstallieren, z.B. von http://pptpclient.sourceforge.net/ <p> Die Netzwerkeinstellungen müssen auf DHCP eingestellt sein, die Datei /etc/sysconfig/network-scripts/ifcfg-eth0 sollte wie folgt aussehen <tscreen><verb> DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp </verb></tscreen> Nach einem Netzwerk neustart <tscreen><verb> # /etc/init.d/network restart </verb></tscreen> sollten das Ethernet-Interface eine IP-Adresse zugewiesen bekommen. <p> Dies kann man wie folgt überprüfen. <tscreen><verb> # /sbin/ifconfig eth0      Protokoll:Ethernet  Hardware Adresse 00:11:22:33:44:55           inet Adresse:10.89.0.250  Bcast:10.89.255.255  Maske:255.255.0.0           inet6 Adresse: fe80::230:1bff:feb6:4426/64 Gültigkeitsbereich:Verbindung           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:12545 errors:0 dropped:0 overruns:0 frame:0           TX packets:9365 errors:0 dropped:0 overruns:0 carrier:0           Kollisionen:0 Sendewarteschlangenlänge:1000           RX bytes:6011628 (5.7 MiB)  TX bytes:1168102 (1.1 MiB)           Interrupt:10 Speicher:e8020000-0 lo        Protokoll:Lokale Schleife           inet Adresse:127.0.0.1  Maske:255.0.0.0           inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine           UP LOOPBACK RUNNING  MTU:16436  Metric:1           RX packets:1698 errors:0 dropped:0 overruns:0 frame:0           TX packets:1698 errors:0 dropped:0 overruns:0 carrier:0           Kollisionen:0 Sendewarteschlangenlänge:0           RX bytes:2312190 (2.2 MiB)  TX bytes:2312190 (2.2 MiB) </verb></tscreen> Nun muss dhclient noch dazu gebracht werden, dass auch der ppp-Tunnel mittels pptp aufgebaut wird. Hierzu muss die Datei /etc/dhclient-exit-hooks erstellt werden: <tscreen><verb> MODIP="10.0.0.138" if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \   [ x$reason = xREBIND ] || [ x$reason = xREBOOT ]; then   route del default 2>/dev/null   route del -host $MODIP 2>/dev/null   for route in $new_routers; do     route add -host $MODIP gw $route   done   pptp $MODIP   return 0 fi </verb></tscreen> Jetzt muss nur noch der ppp-Daemon konfiguriert werden. In der Datei /etc/ppp/options <tscreen><verb> lock name loginame@home defaultroute noipdefault noauth asyncmap 0 </verb></tscreen> ersetzt man loginname@home mit dem Inode-Loginnamen. <p> In diesen beide Dateien trägt man den Loginnamen und dass Inode-Passwort ein: /etc/ppp/chap-secrets und /etc/ppp/pap-secrets <tscreen><verb> "loginname@home" * "password" </verb></tscreen> Nach einem weiteren Netzwerk neustart, sollte mittels pptp ein ppp-Tunnel zum Inode Server aufgebaut werden. Dies kann mittels ifconfig überprüft werden. <tscreen><verb> # /sbin/ifconfig <...snip...> ppp0      Protokoll:Punkt-zu-Punkt Verbindung           inet Adresse:83.64.19.245  P-z-P:62.99.171.103  Maske:255.255.255.255           UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metric:1           RX packets:6977 errors:0 dropped:0 overruns:0 frame:0           TX packets:6599 errors:0 dropped:0 overruns:0 carrier:0           Kollisionen:0 Sendewarteschlangenlänge:3           RX bytes:5376573 (5.1 MiB)  TX bytes:614146 (599.7 KiB) </verb></tscreen> Für Fragen und Anregungen bin ich unter <htmlurl url="mailto:Jacob Rief <jacob.rief(at)gmx.at>" name="Jacob Rief <jacob.rief(at)gmx.at>"> erreichbar. <sect1>Anmerkungen <p> <itemize> <item>Erweiterte Debug-Meldungen des pppd können mittels Option DEBUG in <tt>/etc/ppp/options</tt> eingestellt werden <item>Alte Versionen des pppd machen oft Probleme, neueste Version besorgen! <item>Debug Ausgaben anzeigen z.B. mit "tail -f /var/log/messages" <item>Das Login-Skript berücksichtigt keine Einwahlprobleme <item>Quelle: http://infolibre.free.fr/adsl/adsl.html <item>Weitere interessanter Link zum Thema: <htmlurl url="http://radawana.at/lll/howto/howto-adsl.shtml" name="RADAWANA ADSL-HOWTO">. <item>Kommentare/Verbesserungsvorschläge ausdrücklich erwünscht </itemize> <sect1>ADSL Wiedereinwahl Script <label id="ADSL-reconnect"> <p> <sect2>Variante adsl.sh <p> Von <htmlurl url="mailto:roland@wertkarten.net" name="Roland Seuhs <roland@wertkarten.net>"> (Hier gibts <htmlurl url="http://Roland.Seuhs.com" name="Rolands Homepage">) stammt das folgende Script adsl.sh. Dieses Script verwendet Roland um sich erneut einzuwählen, sollte die Verbindung abbrechen. <p> Im Script sind die IP-Adressen eventuell zu korrigieren, da diese von Provider zu Provider unterschiedlich sein können. <p> (Und natürlich das chmod a+x adsl.sh nicht vergessen, damit das Script auch ausführbar ist). <tscreen><verb> #!/bin/sh LOGFILE=/var/log/adsl.log Firewall() { IPCHAINS=/sbin/ipchains #INET_DEV=$3 #INET_IP=$2 INET=0.0.0.0/0 #LNET_DEV=eth0 #LNET_IP=192.168.0.4 #LNET=192.168.0.0/24 LNET_DEV=$2 LNET=$3 LNET_IP=$4 INET_DEV=$5 INET_IP=$6 INET_DEV2=eth0 INET_IP2=10.0.0.140 #*********************************** case "$1" in start) # route add default $INET_DEV echo Inet-Dev: {INET_DEV} Inet-IP: {INET_IP} # flush all rules # $IPCHAINS -F $IPCHAINS -F input $IPCHAINS -F output # set default policies $IPCHAINS -P input DENY $IPCHAINS -P output DENY # $IPCHAINS -P forward DENY # INPUT-chain # full access for LAN # $IPCHAINS -A input -i ${LNET_DEV} -s ${LNET} -d ${INET} -j ACCEPT # no IP spoofers wanted (log that) $IPCHAINS -A input -i ${INET_DEV} -s ${LNET} -d ${INET} -j DENY -l # $IPCHAINS -A input -i ${INET_DEV2} -s ${LNET} -d ${INET} -j DENY -l # turn on ports from 1023+ # ACHTUNG! ssh funktioniert nur noch mit der Option -P !!! echo 1023+ $IPCHAINS -A input -i ${INET_DEV} -p tcp -s ${INET} -d ${INET_IP}/32 1023:65535 -j ACCEPT $IPCHAINS -A input -i ${INET_DEV} -p udp -s ${INET} -d ${INET_IP}/32 1023:65535 -j ACCEPT # turn on ssh echo turn on ssh $IPCHAINS -A input -i ${INET_DEV} -p tcp -s ${INET} -d ${INET_IP}/32 22 -j ACCEPT # $IPCHAINS -A input -i ${INET_DEV} -p tcp -s ${INET} -d ${INET_IP}/32 80 -j ACCEPT # $IPCHAINS -A input -i ${INET_DEV2} -p tcp -s ${INET} -d ${INET_IP2}/32 22 -j ACCEPT # ICMP answers allowed $IPCHAINS -A input -i ${INET_DEV} -p icmp -s ${INET} -d ${INET_IP}/32 -l -j ACCEPT # local interface OK $IPCHAINS -A input -i lo -j ACCEPT $IPCHAINS -A input -l $IPCHAINS -A input -i ${LNET_DEV} -j ACCEPT # $IPCHAINS -A input -i ${INET_DEV} -j ACCEPT $IPCHAINS -A input -i ${INET_DEV2} -j ACCEPT # OUTPUT-chain $IPCHAINS -A output -i ${LNET_DEV} -s ${INET} -d ${LNET} -j ACCEPT # LAN via ppp reachable?? $IPCHAINS -A output -i ${INET_DEV} -s ${INET} -d ${LNET} -j DENY -l # trash unmasked packets $IPCHAINS -A output -i ${INET_DEV} -s ${LNET} -d ${INET} -j DENY # trash SMB/NBD packets. # $IPCHAINS -A output -i ${INET_DEV} -p tcp -s ${INET} 137:139 -d ${INET} -j DENY -l # $IPCHAINS -A output -i ${INET_DEV} -p udp -s ${INET} 137:139 -d ${INET} -j DENY -l # masqd, INET is dest -> ok $IPCHAINS -A output -i ${INET_DEV} -s ${INET_IP}/32 -d ${INET} -j ACCEPT $IPCHAINS -A output -i ${INET_DEV2} -s ${INET_IP2}/32 -d ${INET} -j ACCEPT # local interface ok $IPCHAINS -A output -i lo -j ACCEPT #log anything else $IPCHAINS -A output -l $IPCHAINS -A output -i ${LNET_DEV} -j ACCEPT # $IPCHAINS -A output -i ${INET_DEV} -j ACCEPT $IPCHAINS -A output -i ${INET_DEV2} -j ACCEPT # FORWARD-chain # masquerade ip-addr. local -> inet # $IPCHAINS -A forward -i ${INET_DEV} -s ${LNET} -d ${INET} -j MASQ # $IPCHAINS -A forward -l ;; stop) # route del default # $IPCHAINS -F $IPCHAINS -P input ACCEPT $IPCHAINS -F input # $IPCHAINS -P forward ACCEPT $IPCHAINS -P output ACCEPT $IPCHAINS -F output ;; *) echo "Usage: $0 {start|stop} <LAN device> <LANet> <LAN IP> <Internet device> <Internet IP>" return 1 esac return 0 } verbinden() { echo Verbindung aufbauen killall -w pptp rm -rf /var/run/pptp/* pptp 10.0.0.138 10.0.0.140: >> /tmp/adsl.output & sleep 40 IPNummer=`/sbin/ifconfig | grep -2 ppp | grep addr | cut -f2 -d: | \ tr " " : | cut -f1 -d:` if ping -c 1 $IPNummer then # Alles OK echo echo alles OK, Verbindung steht! echo `date` Verbindung steht: $IPNummer >> $LOGFILE # Achtung! Firewall argumente vorher überprüfen! Firewall start eth1 192.168.0.0 192.168.0.1 `/sbin/ifconfig | \ grep ppp | tr " " : | cut -f1 -d:` $IPNummer else sleep 10 echo echo `date` Einwahl fehlgeschlagen, versuche es nochmal echo `date` Einwahl fehlgeschlagen, versuche es nochmal >> $LOGFILE killall pptp fi } echo "Skript für österreichische ADSL Provider Anbindung" echo " (c) Roland Seuhs 2000" echo "Dieses Skript versucht eine ständige Internetverbindung aufrecht zu erhalten." echo "Wenn alles OK ist, schreibt es Punkte an die Standardausgabe" while true do if /bin/ping -c 1 dns1 > /dev/null 2> /dev/null then echo -n . else if /bin/ping -c 1 dns2 > /dev/null 2> /dev/null then echo -n . else echo echo baue Verbindung auf #date >> /root/Verbindung.log verbinden sleep 80 # Das kann dauern, bis die Verbindung steht ;-) fi fi sleep 30 done </verb></tscreen> Sollte obiges Script nicht funktionieren, sei noch angemerkt neuerdings heißt es: <tscreen><verb> pptp 10.0.0.138 --localbind 10.0.0.140 </verb></tscreen> anstatt wie bisher <tscreen><verb> pptp 10.0.0.138 10.0.0.140: </verb></tscreen> <sect2>Variante ip-down <label id="ADSL-reconnect-ipdown"> <p> Von <htmlurl url="mailto:Dieter WERNER <d_werner@gmx.net>" name="Dieter WERNER <d_werner@gmx.net>"> stammt die folgende Variante das Wiedereinwahlproblem zu lösen. <p> Um nicht ständig PINGs mit dem Provider austauschen zu müssen scheint am einfachsten die Verwendung von <tt>/etc/ppp/ip-down</tt> (bei SuSE), das sowieso ausgeführt wird wenn die PPP Verbindung abbricht. Mit dem Script <htmlurl url="adsl" name="adsl"> im Kapitel <ref id="adsl-autologin" name="Automatisches Login/Logout">. läßt sich das schön realisieren: <p> Einfach im "start" Zweig die Zeile <tscreen><verb> touch /var/run/adsl_up </verb></tscreen> einfügen und im "stop" Zweig ein <tscreen><verb> rm -f /var/run/adsl_up </verb></tscreen> einfügen. <p> Dann noch in <tt>/etc/ppp/ip-down</tt> (oder bei SuSE <tt>/etc/ppp/ip-down</tt>.local) im "...down" Zweig die Zeile <tscreen><verb> test -f /var/run/adsl_up && adsl restart </verb></tscreen> Die entsprechende Zeile sieht so aus (die "sleep" sollen sicherstellen, dass die alte Verbindung komplett abgebaut ist): <tscreen><verb> test -f /var/run/adsl_up && (/usr/bin/killall pppd;sleep 5;/usr/bin/killall pptp;sleep 15;/sbin/startproc /usr/local/sbin/pptp alcatel) </verb></tscreen> Gegenüber der ping Lösung hat diese Lösung den Vorteil, dass man sich "Netzwerklast" und einen Prozeß spart und vor allem dass der neue Verbindungsaufbau direkt durch den Verbindungsabbau getriggert wird. <sect2>Variante direkt in der cron-tab <label id="ADSL-reconnect-crontab"> <p> Von <htmlurl url="mailto:Martin Großhauser <csad2635@uibk.ac.at>" name="Martin Großhauser <csad2635@uibk.ac.at>"> stammt die Idee, das Erkennen der ausgefallenen Leitung direkt in der crontab zu erkennen und dort direkt zu beheben. Hierzu fügen Sie in der Datei /etc/crontab die nachfolgende Zeile ein. Die Zeile teilt dem cron-dämon mit, jede Minute einen ping auf die angegebene Adresse auszuführen. Im Falle das dieser Ping mit Fehler endet, wird das Script adsl mit dem Parameter reconnect aufgerufen. <tscreen><verb> 0-59 * * * * root ping -c 1 ip.ad.res.se || adsl reconnect </verb></tscreen> Nachteil: sollte der gepingte Rechner nicht erreichbar sein, dann wird jede Minute die adsl-Verbindung frisch aufgebaut. Gegenmaßnahme: suchen Sie einen Server von dem Sie sicher sind, daß wenn der nicht da ist, sie höchst wahrscheinlich nicht mehr weiterarbeiten möchten und Ihnen dieser "Nebeneffekt" damit egal ist. <p> Dieses Kapitel wurde eingefügt, da lt. Martin Großhauser die anderen Varianten seit Suse 7.x nicht mehr funktionieren. Dafür funktioniert diese Variante auch unter netbsd1.6.1 <sect1>Script zum Rücksetzen der ANT <label id="ANT-RESET"> <p> Von <htmlurl url="mailto:Manfred Larcher <m1.larcher@tirol.com>" name="Manfred Larcher <m1.larcher@tirol.com>"> stammt dieses Kapitel <p> Das Modem kann sich ja immer wieder mal so ganz ohne weiteres Zutun aufhängen und wenn man dann nicht immer selbst oder jemanden anderen hinschicken will zum Ein- und Ausschalten, dann kann man folgendes Script verwenden um einen Reset und damit eine neue Leitungsyncronisation zu erzwingen! <tscreen><verb> ############### #!/bin/sh ( echo -n -e '\r' sleep 2 echo -n -e root'\r' sleep 2 echo -n -e system'\r' sleep 2 echo -n -e reboot'\r' sleep 2 ) | telnet alcatel rm /var/run/pptp/10.0.0.138 sleep 60 pptp alcatel & ############### </verb></tscreen> Zur Erkärung, es wird einfach eine Telnet Verbindung aufgebaut und die nötigen Befehle für einen Reset geschickt. Danach noch das Verbindungs-File in /var/run/pptp löschen und nach weiteren 60 Sekunden (Leitungssynchronisation) starten wir den pptp wieder. (alcatel sollte natürlich in der <tt>/etc/hosts</tt> eingetragen sein) <p> Idealerweise baut man das ganze dann noch in das Script ein welches via Ping die Verbindung überwacht und man wird so schnell keine Probleme mehr haben! <p> <sect2>Anmerkung von Heimo <p> Hat jemand Lust das Script auf expect umzustellen? Dieses hardcoded sleeps gefallen mir nicht wirklich und ich habe selber leider kein ADSL. <p> <sect2>ACHTUNG A1000 User!!! <p> <htmlurl url="mailto:Marco Kammerer <m.kammerer@gmx.at>" name="Marco Kammerer <m.kammerer@gmx.at>"> hat herausgefunden, das dieses RESET Script leider nur bei der One-Touch Version(tm) funktioniert. <p> Das A1000 (ISDN) benötigt ein Paßwort für den telnet-Zugang. <sect2>Eine Variante des Rücksetz-Scripts auf Basis von Expect <p> <htmlurl url="mailto:Erich Birngruber <ebirn@gmx.at>" name="Erich Birngruber <ebirn@gmx.at>"> schickt uns das folgende Script. Das Script setzt die ANT zurück. Es basiert auf der Verwendung von expect und sollte sich daher leicht in übergeordnete Scripts integrieren lassen. <tscreen><verb> #!/usr/bin/expect # Benutzername, Passwort und Hostname fuer ANT set USERNAME "antuser" set PASSWORD "strenggeheim" set ANT "alcatel" # Langsamere Zeichenuebergabe war bei mir # notwendig, damit der ANT die Befehle # annimmt set send_slow {1 .1} # Telnet Verbindung herstellen spawn telnet $ANT # am ANT anmelden expect "User : " send "$USERNAME\r" expect "Password : " send "$PASSWORD\r" # ins Menue "system" wechseln und neustarten expect -e "=>" send -s "system\r" expect -e "[system]=>" send -s "reboot\r" exit </verb></tscreen> <sect1>ADSL vs. Security? <label id="ADSL-Security"> <p> Anfang April 2001 kam die Sicherheit der ANT ins Gerede. Für alle die sich mal mit dem Expert-Mode Ihrer ANT spielen wollen, gibt es hier die Möglichkeit sich das Paßwort für den Expert-Mode zu holen. Sie müssen nur die MAC-Adresse Ihrer ANT in das Eingabefenster eingeben und erhalten das Paßwort zurück. Die Texteingabe muß lauten (ohne Hochkomma) : <p> "SpeedTouch (MAC-adresse)" <p> Der Link : <htmlurl url="http://security.sdsc.edu/self-help/alcatel/challenge.cgi" name="http://security.sdsc.edu/self-help/alcatel/challenge.cgi"> <p> Hier noch ein paar Links zum Thema (ohne Wertung und Gewichtung): <p> <itemize> <item><htmlurl url="http://security.sdsc.edu/self-help/alcatel/" name="http://security.sdsc.edu/self-help/alcatel/"> <item><htmlurl url="http://slashdot.org/articles/01/04/11/1249209.shtml" name="http://slashdot.org/articles/01/04/11/1249209.shtml"> <item><htmlurl url="http://www.alcatel.com/consumer/dsl/security.htm" name="http://www.alcatel.com/consumer/dsl/security.htm"> <item><htmlurl url="http://security.sdsc.edu/self-help/alcatel/alcatel-bugs" name="http://security.sdsc.edu/self-help/alcatel/alcatel-bugs"> </itemize> <sect1>Auswertung des Syslog <label id="logauswertung"> <p> <htmlurl url="mailto:Dieter WERNER <d_werner@gmx.net>" name="Dieter WERNER <d_werner@gmx.net>"> hat dieses Kapitel und die drei Scripts <htmlurl url="downlamount" name="downlamount">, <htmlurl url="logsurf" name="logsurf"> und <htmlurl url="logsr" name="logsr"> spendiert. <p> Bei bestehender ADSL Verbindung sind zwei Arten von Einträgen in /var/log/messages besonders interessant: Meldungen der Firewall über verdächtige Pakete und die Meldungen des pppd über die empfangene Datenmenge als Kontrolle über das Downloadlimit. <p> Mit einfachen Scripts kann man diese Information extrahieren und aufbereiten. Hier drei Beispiele, die Lokalisierung der Dateien entspricht SuSE. <sect2>Firewallauswertung mit logsurf und logsr <p> <htmlurl url="logsurf" name="logsurf"> ist ein Script das aus /var/log/messages Meldungen mit REJECT/DENY/ACCEPT für einen bestimmten Tag extrahiert. Dieser Tag ist entweder das aktuelle Datum (aus der letzten Zeile in /var/log/messages) oder ein Datum das in der Shellvariable TAG übergeben wird. Dabei muss auf die korrekte Notation geachtet werden (6 Zeichen, davon 3 Zeichen Monat, 1 oder 2 Leerzeichen, 2 oder 1 stellig Tag des Monats - die Angabe wird direkt für ein grep verwendet). ZB: <tscreen><verb> $ export TAG="Jun 17" ; logsurf $ export TAG="Jun 7" ; logsurf </verb></tscreen> <htmlurl url="logsr" name="logsr"> verwendet <htmlurl url="logsurf" name="logsurf"> und reduziert die Ausgabe weiter. Bestimmte Einträge werden verworfen (die ICMP Pakete von AON) und die Ausgabe gekürzt. zB aktuelles Datum: <tscreen><verb> $ unset TAG ; logsr </verb></tscreen> Der Inhalt der Variable TAG wird etwas plausibilisiert, allerdings kann man ohne weiteres einen 39. Februar eingeben und erhält dann natürlich keine Ausgabe. <sect2>Downloadvolumenauswertung mit downlamount <p> Beim Beenden einer PPP Verbindung schreibt der pppd die Anzahl der empfangenen und gesendeten Bytes in /var/log/messages. Das bietet sich an um die Downloadmenge zu kontrollieren. <p> Das Script <htmlurl url="downlamount" name="downlamount"> durchsucht /var/log/messages nach diesen Meldungen für ppp0 (falls man mehrere PPP Verbindungen hat kann man die gewünschte also auswählen, es sollte nur immer die selbe sein) und summiert die einzelnen Verbindungen für ein Monat auf. Es nimmt entweder das aktuelle Monat (aus dem letzten Eintrag in /var/log/messages) oder ein gewähltes Monat aus der Variable MONAT (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec). Bei fehlerhafter Monatsangabe wird das aktuelle Monat verwendet. Anmerkungen: <p> Falls /var/log/messages (eventuell bei bestimmter Größe automatisch) komprimiert wird sollte man rechtzeitig zuvor die bis dahin angefallenen Werte notieren. <p> Falls der pppd zu unsanft beendet wird (zB beim Shutdown oder kill -9) kommt er nicht mehr dazu diese Meldungen zu schreiben. <p> Da /var/log/messages nur von root gelesen werden können verwende ich "sudo" und "alias": <tscreen><verb> alias log='sudo /usr/local/sbin/logsr' alias dla='sudo /usr/local/sbin/downlamount' </verb></tscreen> zum Beispiel: <tscreen><verb> $ log $ dla $ export MONAT=Mai ; dla $ export TAG="Jun 1" ; log </verb></tscreen> <sect1>zwei Netzwerkkarten und ADSL <p> In der at.linux schreibt <htmlurl url="mailto:schmidp@o000o.org" name="Philipp Schmid <schmidp@o000o.org>"> folgenden Tip, den ich Ihnen nicht vorenthalten möchte: <p> Zitat: <p> Da ich zwei Netzwerkkarten habe muß ich immer angeben über welche ich die ppp Verbindung aufbauen will. Bei mir geht das mit <tscreen><verb> pptp 10.0.0.138 10.0.0.140: </verb></tscreen> Wobei 10.0.0.140 die ip meiner netzwerkkarte ist und 10.0.0.138 die vom ant. (Den doppelpunkt hinter der zweiten ip nicht vergessen). <p> Sollte der pptp nicht funktionieren, sei noch angemerkt neuerdings heißt es: <tscreen><verb> pptp 10.0.0.138 --localbind 10.0.0.140 </verb></tscreen> anstatt wie bisher <tscreen><verb> pptp 10.0.0.138 10.0.0.140: </verb></tscreen> <sect1>SuSE <label id="adsl-suse"> <p> <sect2>SuSE 8.1 <p> <htmlurl url="mailto:Dieter Höfler <dieter.hoefler@gmx.at>" name="Dieter Höfler <dieter.hoefler@gmx.at>"> hat uns folgenden Beitrag spendiert und schrieb: <p> Ich habe gerade eine ADSL Verbindung unter SuSE 8.1 mit Hilfe Ihres ADSL HOWTOs eingerichtet. Dabei haben sich einige Änderungen zur bisherigen Vorgehensweise ergeben: <itemize> <item>die Nameserver werden am besten nun auch mit Hilfe von YAST im Netzwerk/Basis, gleich bei der Konfiguration der Netzwerkkarte (10.0.0.140) mitangelegt. <item>das PPTP Protokoll habe ich weiterverwendet </itemize> Die größten Änderungen betreffen die automatische Einwahl: <p> Das System der rc.config wurde aufgegeben und durch ein anderes System ersetzt. Dies macht Änderungen am ADSL Skript notwendig (Skript liegt bei). Dieses wird nach /etc/rc.d/ kopiert und mit chmod +x adsl lauffähig gemacht. (wie bisher) <p> Um nun das Skript in die entsprechenden Runlevels einzubinden muß der Runlevel Editor in YAST-System gestartet werden. dort wird dann der entsprechende Runlevel (meist 3 und 5) makiert und beim Button Anwenden/Zurücksetzen auf Dienst aktivieren gesetzt. <p> Das Skript kann in der Konsole mit rcadsl start (stop, restart, oder status) manuell bedient werden. Weitere Details zu den Optionen des Scripts, finden Sie im Script selbst. Das Script bekommen Sie <htmlurl url="adsl-8.1" name="hier"> (download eventuell mit SHIFT und linke Maustaste.) Nach dem download muß das Script renamed werden auf adsl: <tscreen><verb> mv adsl-8.1 adsl chmod a+x adsl </verb></tscreen> <sect2>SuSE 8.2 <p> An dieser Stelle sein noch darauf hingewiesen, daß <htmlurl url="mailto:Daniel Imrich <newsgroups@danielimrich.net>" name="Daniel Imrich <newsgroups@danielimrich.net>"> mit dieser <htmlurl url="<http://howto.htlw16.ac.at/at-highspeed-howto-2.html#ss2.9>" name="Anleitung <http://howto.htlw16.ac.at/at-highspeed-howto-2.html#ss2.9>"> sehr gute Erfolge bei SuSE 8.2 hatte. <p> Als VPI/VCI-Nummern muß man für Österreich 8.48 eintragen. Bei <htmlurl url="mailto:Daniel Imrich <newsgroups@danielimrich.net>" name="Daniel Imrich <newsgroups@danielimrich.net>"> hat das auf Anhieb geklappt. <sect2>Suse-Firewall und ADSL <label id="adsl-suse-firewall"> <p> Dieses Kapitel zeigt die Verwendung und Konfiguration der SuSE Firewall (Pakete "ipchains" und "firewals") für ADSL. Für dieses Kapitel bedanken wir uns bei <htmlurl url="mailto:Dieter WERNER <d_werner@gmx.net>" name="Dieter WERNER <d_werner@gmx.net>"> <p> Nach der Entscheidung für einen ADSL Zugang und nach Meldungen, daß auch zunehmend Linux Systeme Ziele von Angriffen sind, (Anm.d.Red.: Linux Systeme weisen zwar eine der Konstruktion des Betriebssystems anhaftende natürliche Festigkeit gegenüber Angriffen von außen auf, aber entschuldigt deshalb noch lange nicht das Fehlen einer Firewall. Vorallem bei älteren Linux Installationen sollten die Server und Dämonen regelmäßig aktualisiert werden um bekannte Löcher zu stopfen). habe ich mich zur Installation einer Firewall entschlossen. Zu diesem Zeitpunkt hatte ich einen Modem-Dialup Zugang, d.h. eine bestehende ppp Konfiguration unter SuSE 7.0 mit wvdial. Mit dem Umstieg auf eine quasi-Standleitung über ADSL wurde dann eine Firewall notwendig. <p> Als Firewall Laie habe ich einfach die SuSE Pakete "ipchains" und "firewals" aus der Serie "sec1" installiert. Voraussetzung ist auch, daß man einen Kernel verwendet bei dessen Erstellung die Parameter <tscreen><verb> CONFIG_FIREWALL=y CONFIG_IP_FIREWALL=y </verb></tscreen> gesetzt waren (bei den SuSE Kerneln ist das der Fall). <p> Zusätzlich braucht man nur in der Datei <tt>/etc/ppp/ip-up</tt> das Kommentarzeichen vor den Zeilen <tscreen><verb> test "$START_FW" = yes && /sbin/SuSEfirewall </verb></tscreen> (für den case "ppp" "ip-up" und "ip-down") zu entfernen und am besten mit YaST die Variablen START_FW=yes und FW_DEV_WORLD=ppp0 zu setzen. <p> <tt>/sbin/SuSEfirewall</tt> setzt bei Aktivierung des ppp-Interfaces mittels ipchains die Firewall Regeln in Abhängigkeit von weiteren Variablen. Die Defaultkonfiguration dieser weiteren Variablen (sie beginnen alle mit "FW_") war für meinen Einsatzzweck bereits ausreichend. <p> SuSEconfig erzeugt mit den FW_ Variablen die Datei <tt> /etc/rc.config.d/firewall.rc.config </tt> in der die gesetzten Variablen enthalten und ausführlich kommentiert sind. Z.B. kann man mit FW_ALLOW_PING_FW=yes/no konfigurieren, ob die Firewall einen ankommenden ping beantwortet oder nicht. <p> Die Firewall wird jetzt bereits beim Eintritt in runlevel 2/3 initialisiert. Zu diesem Zeitpunkt existiert das ppp Interface noch nicht was zu einer Warnung führt die ignoriert werden kann. Sobald daß ppp Interface aktiv wird werden die ipchains Regeln via <tt>/etc/ppp/ip-up</tt> und <tt>/sbin/SuSEfirewall</tt> gesetzt und beim Abbruch der Verbindung durch <tt>/etc/ppp/ip-down</tt> und <tt>/sbin/SuSEfirewall</tt> wieder gelöscht. <p> Die Firwall loggt in "/var/log/messages" oder "/var/log/firwall" verworfene (DENY) und verdächtige angenommene (ACCEPT) Pakete mit. Das logging level läßt sich ebenfalls konfigurieren. <p> Für die Benutzung von ADSL bzw. generell für die Benutzung weiterer Netzwerkinterfaces muß man nun folgendes berücksichtigen: die Firewall kann angeschloßene Netze in drei Kategorien teilen <itemize> <item>intern (trusted, FW_DEV_INT) <item>extern (untrusted, FW_DEV_WORLD) <item>demilitarisierte Zone (FW_DEV_DMZ) </itemize> (siehe dazu die links weiter oben) für die man jeweils eigene Regeln setzen kann. Im Falle von ADSL erfolgt die Anbindung an das Internet via ppp, daher stimmt weiterhin FW_DEV_WORLD=ppp0. Allerdings hat man die Verbindung zum ANT via Ethernet Karte. Damit diese Verbindung nicht durch die Firewall geblockt wird muß man FW_DEV_INT="eth0" setzen (vorausgesetzt eth0 stellt die Verbindung zum ANT dar). Falls man mehrere Netzwerkkarten hat kann man mittels "ifconfig" feststellen, welche Interfaces (eth0, eth1,...) womit verbunden sind und diese dann ebenfalls bei FW_DEV_INT (oder FW_DEV_WORLD oder FW_DEV_DMZ) angeben. <p> Mit FW_PROTECT_FROM_INTERNAL="no" gewährleistet man nun, daß alle Daten des internen Interfaces (das zum ANT) ungefiltert die Firewall passieren. Für einen EinzelPC oder einfaches Heim-LAN ist das eine ausreichende Konfiguration. <p> Da diese Konfiguration wirklich einfach ist und sie doch einiges an Sicherheit bringt sollte man sich wirklich die Zeit nehmen dies durchzuführen und nicht ohne Firewall ans Netz zu gehen. Schließlich wollen wir doch alle, daß die Anzahl gehackter Linux Systeme deutlich unter der einer bestimmten anderen Betriebssystem Familie liegt. Von der Sicherheit der eigenen Daten ganz zu schweigen. <sect1>Debian <label id="adsl-debian"> <p> Von <htmlurl url="mailto:Klaus Triendl <triendl.kj@aon.at>" name="Klaus Triendl <triendl.kj@aon.at>"> stammt dieses Kapitel für Debian-User. <p> Mit den folgenden Schritten, loggt sich das System automatisch beim Provider ein (beim Erreichen des Runlevel 2+) bzw. beim Herunterfahren (oder Neustarten) automatisch wieder aus. Außerdem wählt sich pppd bei einem Verbindungsabbruch automatisch wieder ein. <p> Das unten stehende Skript nach /etc/init.d/adsl kopieren und mit chmod a+x adsl ausführbar machen. Dann folgende Zeile auf der Konsole eingeben (mit root-rechten): <tscreen><verb> update-rc.d adsl defaults 21 18 </verb></tscreen> Damit wird bei den runlevels 2-5 das adsl-Skript mit Startnummer 21 eingefügt und bei den runlevels 1+6 mit Killnummer 18. Sollten die Nummern schon vergeben sein, einfach nach freien Nummern suchen oder die alphabetische Ordnung gelten lassen. ALLE Benutzer haben ab dann Zugriff auf das Internet, auch wenn sie keine root-Rechte haben. <p> Beachten Sie, daß eine allfällige Firewall dementsprechend eingerichtet ist, bevor eine adsl-verbindung hergestellt wird, sonst bleibt das skript schon beim start hängen. Wenn Sie noch keine Firewall haben, aber eine benötigen, werfen Sie einen Blick auf http://fireflier.sourceforge.net (als Debianpakete fireflier-server und fireflier-client-(gtk|qt) verfügbar). <p> Mit root-Rechten kann man das Skript auch händisch aufrufen. Folgende Parameter sind möglich: <itemize> <item>adsl start : Logon beim Provider <item>adsl stop : Logoff <item>adsl restart: Logoff und danach Logon <item>adsl reload : Logoff und danach Logon, pptp und pppd werden nicht beendet </itemize> Hier nun das ADSL-Script: <tscreen><verb> #!/bin/sh # (C) 2003 by triendl.kj # dieses skript dient zur herstellung einer adsl-verbindung in Österreich; # Voraussetzugn ist, daß sie grundsätzlich eine erfolgreiche verbindung # herstellen können. # genauere Informationen dazu finden sie im österreichischen adsl-howto # http://howto.htlw16.ac.at/at-highspeed-howto.html PATH=/bin:/usr/bin:/sbin/:usr/sbin DAEMON=/usr/sbin/pptp PPPD=/usr/sbin/pppd # verwenden sie für die pid-datei den namen des Interface über das die # adsl-verbindung läuft; # wenn das interface z.b. ppp1 ist, dann ist das /var/run/ppp1.pid PIDFILE=/var/run/ppp0.pid MODEM="10.0.0.138" # ip-adresse des adsl-modems, standard: 10.0.0.138 OPTS="persist maxfail 0" # automatische wiedereinwahl ohne ende ARGS="$MODEM $OPTS" test -x $DAEMON || exit 0 test -x $PPPD || exit 0 case "$1" in start) echo -n "Starting adsl" if start-stop-daemon --quiet --stop --signal 0 --pidfile $PIDFILE --name pppd; then echo ": already running." exit 0 fi if start-stop-daemon --start --quiet --exec $DAEMON -- $ARGS; then echo "." else echo ": not started" fi ;; stop) echo -n "Stopping adsl" if start-stop-daemon --quiet --stop --signal 0 --pidfile $PIDFILE --name pppd; then # nach spätestens drei sekunden aufgeben if start-stop-daemon --stop --retry 3 --quiet --pidfile $PIDFILE --exec $PPPD --name pppd; then sleep 3 echo "." else echo ": not stopped." exit 1 fi else echo ": not running."; fi ;; reload) #SIGHUP senden, siehe pppd-manual if [ ! -z "`echo persist | grep -i persist`" ]; then echo -n "trying to reestablish adsl-connection: " # wenn nach spätestens 7 sekunden pppd nicht beendet ist, # dann war wiedereinwahl erfolgreich if ! start-stop-daemon --quiet --stop --retry -1/7 --exec $PPPD --name pppd; then echo "connection reestablished." else echo "connection terminated." fi else echo "reestablishing adsl-connection is only possible if $PPPD was started with the "persist"-option." fi ;; force-reload|restart) $0 stop && $0 start ;; *) echo "usage: adsl start|stop|restart|reload|force-reload" exit 1 ;; esac exit 0 </verb></tscreen> <sect1>ADSL & Debian - Stand 2007 <label id="adsl-debian-2"> <p> Von <htmlurl url="mailto:David Wührer <def@gmx.at>" name="David Wührer <def@gmx.at>"> stammt dieses Kapitel für Debian-User. <p> Ich selbst verwende Debian testing, und bin beim Klagenfurter Provider Linea7.com. Bevor ich das Howto fand, versuchte ich, mit Hilfe der Anleitung für Windows und lesen der relevanten man-Pages, ADSL zum Laufen zu bringen. Deshalb ist meine Lösung etwas anders als eure. <p> Ich weiss nicht, ob sie besser ist, aber für den Fall, dass sie hilfreich sein könnte, schicke ich sie euch jedenfalls. (Anm.d.Red: und wir veröffentlichen das auch ;-) <p> Bei mir startet nicht pptp den pppd, sondern umgekehrt. Die Datei /etc/ppp/peers/provider sieht bei mir so aus: <tscreen><verb> user dwuehrer@linea7.com pty "/usr/sbin/pptp 10.0.0.138 --nolaunchpppd" noipdefault #usepeerdns defaultroute replacedefaultroute hide-password lcp-echo-interval 10 lcp-echo-failure 10 connect /bin/true noauth persist noaccomp default-asyncmap </verb></tscreen> Das Modem weist meinem Rechner über DHCP eine IP-Adresse zu, würde dabei aber die nameserver des Providers aus /etc/resolv.conf löschen, deshalb ist usepeerdns auskommentiert. Zusätzlich, vielleicht redundant, habe ich das Paket resolvconf installiert, damit die nameserver in jedem Fall eingetragen bleiben. (Die nameserver von Linea7 sind übrigens 195.16.224.2 und 195.16.224.3, falls es von Interesse ist.) <p> Die Werte für die lpc-echo-Einträge habe ich aus eurem Howto übernommen. <p> Statt eines init.d-Skripts habe ich im Verzeichnis /etc/network/if-up.d eine ausfürbare Datei, die so aussieht: <tscreen><verb> #!/bin/sh /usr/sbin/pppd call provider </verb></tscreen> Damit wird beim Systemstart ADSL gestartet. Wenn man das nicht will, kann man stattdessen die Befehle pon und poff verwenden, die mit Debian mitgeliefert werden. <p> Entsprechend habe ich in /etc/network/if-down.d das Gegenstück: <tscreen><verb> #!/bin/sh /usr/bin/killall pppd </verb></tscreen> (Ein anderer Befehl wäre vielleicht eleganter, und bestimmt notwendig, wenn man mehr als eine PPP-Verbindung hat. Aber für eine Verbindung ist das recht zuverlässig.) <p> Entsprechend euren Empfehlungen habe ich auch einen DNS-Cache (totd) und einen Web-Cache (polipo) installiert. <p> Wie gesagt, meine Lösung ist anders als eure, und ich weiss nicht, ob mein Beitrag irgendetwas bringt. In jedem Fall will ich mich für das Howto bedanken. Es ist die beste Übersicht über ADSL und wie man es verwenden kann, die ich kenne. <sect1>Weitere ADSL Informationen <p> <sect2>Tip <label id="adsl-tip"> <p> Eine sehr umfangreiche und deutsprachige Sammlung mit Informationen rund um ADSL hat <htmlurl url="mailto:mi.si@gmx.net" name="Michael Simon <mi.si@gmx.net>"> in seinem <htmlurl url="http://home.pages.at/heaven/adsl/" name="österreichischen ADSL Forum"> zusammengetragen. Im Archiv des Diskussionsforum finden sich die Antworten zu den meisten Fragen die einem bei ADSL einfallen. ADSL User sollten dort einmal vorbeigesurft sein. <sect2>Variante persist Option <label id="adsl-persist"> <p> Von <htmlurl url="mailto:Klaus Triendl <triendl.kj@aon.at>" name="Klaus Triendl <triendl.kj@aon.at>"> stammt die Variante, die "persist"-Option für pppd zu nutzen, um ständig online zu bleiben. <p> aus dem pppd-Manual: <tscreen><verb> persist versucht, eine Verbindung nach Abbruch wieder zu öffnen; die "maxfail"-Option regelt die Anzahl der Versuche. Do not exit after a connection is terminated; instead try to reopen the connection. The maxfail option still has an effect on persistent connections. maxfail n Abbruch nach n aufeinanderfolgenden Fehlversuchen. Der Wert 0 bedeutet unbegrenzt. Standardwert ist 10. Terminate after n consecutive failed connection attempts. A value of 0 means no limit. The default value is 10. </verb></tscreen> Alle Optionen, die pptp nicht verarbeiten kann, leitet es an pppd weiter. Somit kann pptp mit folgenden Parametern aufgerufen werden: <tscreen><verb> pptp 10.0.0.138 persist maxfail 0 </verb></tscreen> bzw. können Sie die beiden Optionen auch in /etc/ppp/options eintragen. <p> Damit erübrigen sich alle bisher vorgestellten Varianten zur automatischen Wiedereinwahl, weshalb diese Variante sicher die am einfachsten zu handhabende ist. Ein vollständiges Skript finden Sie im Abschnitt <ref id="adsl-debian" name="ADSL & Debian"> . <sect1>Probleme mit ADSL und deren Lösung <label id="adsl-problemloesungen"> <p> <sect2>PPTP-Verbindung bricht ab: <p> Möglichkeit 1: Problem bei der "eigenen" Hardware, event. ANT defekt. <p> Möglichkeit 2: Im Netzwerkkarten SETUP (DOS-Programm das zumeist auf Floppy mit der Netzwerkkarte mitgeliefert wird ;-) haben Sie Full-Duplex aktiviert. Probieren Sie das auszuschalten und checken Sie ob es dann besser funktioniert. (Der Hinweis stammt von <htmlurl url="mailto:Peter Chiocchetti <girbal@tacheles.de>" name="Peter Chiocchetti <girbal@tacheles.de>"> ) <p> <sect2>PPP-Verbindung bricht ab: <p>ADSL bzw. ATM-Verbindung unterbrochen. Bricht die eigenen Verbindung immer wieder ab, während andere Speed-Teilnehmer in der Umgebung keine Probleme haben, dann handelt es sich meist um Störungen auf der eigenen "last mile". Sind von der Störung mehrere Teilnehmer betroffen, dann ist das ATM-Netz gestört. Tritt dieses Problem dauernd auf, so hilft auch ein Wechsel des Providers nichts. <p> <sect2>PPP-Verbindung steht, aber es werden keine Daten übertragen: <p> Test ob ein ping zum Point-to-Point-Partner funktioniert. Wenn ja, weiterer Test, ob ein Traceroute ins Internet (zB. www.orf.at) funktioniert. Funktioniert der Ping, Traceroute bricht aber irgendwo am Weg zum Ziel ab, so ist eine IP-Verbindung unterbrochen bzw. ein Router defekt. Von einem solchen Problem sind viele Teilnehmer des selben Providers  gleichzeitig betroffen, in dem Fall kann man nur warten. <p> <p> <sect2>Verfügbarkeit der Verbindung: <p> Michael Prochaska schrieb: <p> Das sich das modem hin und wieder aufhängen kann wissen wir ja, bei mir hat sich dieses problem allerdings erledigt, seit dem ich eine teure 3com netzwerkkarte verwende (seit ca. 2 jahren kein einziger hänger, ich schwöre *g*, davor alle 2-3 stunden) <p> <p> <sect2>ANT Varianten: <p> Wenn ADSL keinesfalls zum Laufen zu bringen ist, dann könnte dieser Beitrag von <htmlurl url="mailto:Roland Lezuo <roland.lezuo@chello.at>" name="Roland Lezuo <roland.lezuo@chello.at>"> noch einen Versuch wert sein: <tscreen><verb> Hallo Heimo, erst mal Dank für das tolle ADSL howto, war sehr hilfreich. Allerdings habe ich viele Stunden damit verbracht ADSL auf meiner LinuxBox zum laufen zu bringen, schuld war das Modem, und bevor andere verzweifeln, vielleicht kannst Du ja folgende Info in das HowTo aufnehmen: Symptom : pptp stellt verbindung zu modem her pppd wählt sich ein, Auth klappt IP Adressen, Gateway, DNS-Server werden eingetragen es geht kein ping auf den ptp partner und auch auf sonst nix Lösung: Das "Speed touch home" Modem hat zwar als Versionsnummer bcaa aufgedruckt läuft aber nur mit der pptp Version für das bbaa Modem Arg, bis ich das versucht habe hat es wriklich lange gedauert! Ach ja, noch etwas, wenn man in der /etc/ppp/options zusätzlich noch die Zeile "usepeerdns" einträgt (bin mir jetzt nicht ganz sicher, hab das man auf diesem Rechner nicht installiert) dann werden die DNS Server automatisch in die /etc/resolv.conf eingetragen, und beim Abbruch der Verbindung wieder mit den alten Einstellungen der /etc/resolv.conf überschrieben mfg Roland Lezuo -- Trennt sich das Ross von seinem Reiter, geht das Rennen nicht mehr weiter. ICQ: 98409354 </verb></tscreen> <p> <sect2>Zusammenfassung: <p> Bei den wenigsten dieser Probleme kann eine Hotline weiterhelfen. Kein Wunder - Linux wird offiziell nicht unterstützt und Leute welche Kentnisse auf diesem Niveau besitzen, sind in Betrieb und Wartung besser aufgehoben. Schließlich betreffen über 90% der Hotline-Anrufe einfache Konfigurationsprobleme. Hilfe bieten hier die news-Diskussionsforen at.linux bzw. local.*, letztere nur am Provider-Server. <sect2>Diverses <p> Aus der at.linux: <tscreen><verb> Andreas Ender wrote: > So ca. einmal im Monat erhalte ich folgede Meldung: > > warn[open_unixsock:pptp_callmgr.c:308]: Call manager for 10.0.0.138 is > already running. > fatal[callmgr_main:pptp_callmgr.c:124]: Could not open unix socket for > 10.0.0.138 > fatal[launch_callmgr:pptp.c:213]: Call manager exited with error 256 > startproc: exit status of /usr/sbin/pptp: 1 ==> rm -fR /var/run/pptp/ MfG / Regards Friedrich Lobenstock </verb></tscreen> <sect2>Anmerkungen: <p> Anmerkung von <htmlurl url="mailto:Manfred Larcher <m1.larcher@tirol.com>" name="Manfred Larcher <m1.larcher@tirol.com>"> : <p> Wenn das Modem ständig LCP Requests sendet und nach ca. 9 Versuchen hängen bleibt ohne jemals eine Antwort auf den Request bekommen zu haben (Ping geht aber), dann hat sich das Modem ganz einfach "verabschiedet". <p> Die Lösung: <p> Einfach das Modem (min. 1 Minute) abschalten und wieder einschalten, dann synchronisiert es sich wieder und alles klappt wieder wie am Schnürchen. <p> Anmerkung der Redaktion: Offenbar kein Linux in der ANT !? ;-) <sect>Kabelnetze <label id="Kabel"> <sect1>Übersicht <p> Möglichkeiten und Vorgehensweise bei der Anbindung eines Linux Rechners an das Chello/Telekabel Netzwerk <p> Der Anschluß erfolgt mittels einer von Chello beigestellten Netzwerkkarte mittel Twisted Pair Kabel an ein entsprechendes Modem. <sect2>Möglichkeiten <p> Es werden mehrere Möglichkeiten der Konfiguration beschrieben. <p> <itemize> <item>statisch: die IP Adressen werden fix eingetragen - es werden die Adressen z.B. aus Windows übernommen <item>DHCP / BOOTP: die Adressen werden durch automatische "Anfrage" bei Telekabel bestimmt </itemize> Den dynamischen Methoden sollte der Vorzug vor dem statischen Eintrag der IP Adressen gegeben werden - nur so werden eventuelle Änderungen der Konfiguration von Telekabel automatisch berücksichtigt. <p> <bf>Achtung:</bf> <p> Telekabel setzt mehrere verschiedene Arten der Netzwerkkarte ein, d.h. die angegebenen Typen bzw. Treiber sind nur beispielhaft angegeben. <p> Ebenso sind die angegebenen IP Adressen (Rechner und Gateway) nur als Beispiel zu sehen und auf jeden Fall durch die eigenen Werte zu ersetzen, <p> Da Chello "echte" IP Adressen verwendet ist der Rechner weltweit erreichbar. Die Installation einer Firewall bzw. eines IP Packetfilters wird unbedingt empfohlen - siehe <ref id="links" name="Links"> <sect2>Empfohlene Literatur <sect3>Einführung <p> siehe <ref id="links" name="Links"> <sect2>Feedback <p> 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 (<htmlurl url="mailto:august.hoerandl@gmx.at" name="<august.hoerandl@gmx.at>">). <sect2>Version / History des Chello/Telekabel Howtos <p> Dieses Teil des Howto ist aus einigen Postings in <url url="news:telekabel.linux" name="news:telekabel.linux"> und <url url="news:at.linux" name="news:at.linux"> entstanden. <p> <itemize> <item> Version 0.1 - 6. August 1999 <item> Version 0.2 - 15. August 1999: added: Manuelle Konfiguration <item> Version 0.3 - 20. August 1999: sgml, first public Version <item> Version 0.4 - 21. September 1999: howto links, redhat by Walter Haschka <item> Version 0.5 - April 2001 <item>integration in das at-highspeed howto </itemize> <sect1>Installation mit SuSE <p> Falls es sich um eine PnP (Plug & Play) Netzwerkkarte handelt, sollte diese Funktion <bf>vorher</bf> abgeschaltet werden - <ref id="pnp" name="Anleitung">. <p> 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 <ref id="update" name="update">). <p> Ab SuSE 7.0 gibt es auch im Handbuch eine Anleitung zur Installation. Siehe auch <htmlurl url="http://sdb.suse.de/sdb/de/html/kngu_cmodem.html" name="SuSE Support Datenbank">. <p> 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. <p> Notwendige Information: <itemize> <item>statische Variante: IP Adresse und Gateway - zB. aus der Windows Systemsteuerung oder mit Winipcfg festellen) - siehe auch <ref id="pnp" name="PnP"> <item>Art der Netzwerkkarte </itemize> <sect2>Statische Variante <label id="suse-stat"> <p> Siehe auch <htmlurl url="http://sdb.suse.de/sdb/de/html/kngu_cmodem.html" name="SuSE Support Datenbank"> <p>Kommandozeile: YaST aufrufen <itemize> <item>Administration des Systems <itemize> <item>Hardware ins System integrieren <item>Netzwerkkarte konfigurieren <itemize> <item>Typ des Netzwerks: eth0 <item>Art der Netzwerkkarte: deine Auswählen (oder ansonsten NE2000 kompatible) </itemize> </itemize> </itemize> <p>Netzwerk konfigurieren <list> <item>Netzwerk Grundkonfiguration <itemize> <item>erste Zeile auswählen (Nummer [0]) <item>F5 (Device) -> Ethernet <item>F6 (IP) -> IP-Adresse Ihres Rechners: :deine IP <item>Netmask: 255.255.255.0 <item>Adresse default <ref id="gateway" name="Gateway">: deine IP, aber letzte Stelle .1 <item>IP-Adresse des PointToPoint-Partners : nix <item>mit F4 sicherstellen das das [x] bei aktiv da ist. </itemize> <item>Rechnername ändern: beliebiger <ref id="anm" name="Rechnername"> Domain: telekabel.at </list> <p>Netzwerkdienste konfigurieren: <itemize> <item>inetd... JA <item>portmap ... NEIN <item>Posting zeile: TK212017125181.telekabel.at <item>Konfiguration <ref id="dns" name="Nameserver">: <item>möchten sie auf NS zugreifen... JA <itemize> <item>Liste der IP addressen: 195.34.133.10 195.34.133.11 <item>Liste der domains: telekabel.at </itemize> <item>Sendmail konfigurieren: <itemize> <item>Rechner mit permanenter Netzanbindung (SMTP) </itemize> </itemize> <p> Danach YaST beenden. <p> Neustarten des Systems oder: <tt>init 1</tt> eingeben und warten bis der runlevel 1 erreicht ist und dann <tt>init 2</tt> eingeben (oder <tt>init 3</tt> für X). Die Konfiguration kann mit <ref id="bootp" name="BOOTP"> oder <ref id="suse-dyn" name="DHCP"> vereinfacht werden. <p> Kontrollieren Sie nun mit <tt>ifconfig</tt> 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. <sect2>DHCP Client Variante <label id="suse-dyn"> <p> siehe auch <ref id="update" name="update">. <p> Siehe auch <htmlurl url="http://sdb.suse.de/sdb/de/html/kngu_cmodem.html" name="SuSE Support Datenbank"> <p>Achtung: Das eigentliche Programm/Paket heisst: dhcpcd (DHCP Client Dämon) - NICHT das Paket dhclient verwenden. <p>Kommandozeile: YaST aufrufen <p>Administration des Systems <p>Installation festlegen/starten (je nachdem welche Installationsart du gewählt hast kommt jetzt ein Dialog) <itemize> <item>Konfiguration ändern/erstellen <itemize> <item>Netzwerk-Support (TCP/IP, UUCP, Mail, News) <item>dhclient DHCP Client auswählen (Leertaste) (Achtung: <tt>NICHT</tt> dhcp ISC DHCP Server auswählen) <item>dann F10 (Ende) <item>dann nochmals F10 </itemize> <item>dann Installation starten eventuell kommt ein Dialog wo "Abhängigkeiten" überprüft werden,wenn nötig auf AUTO gehen. <item> dann warten, ... <item> dann ESC, dann bist du (nach den Konfig-Scripts) wieder im YAST Konfigmenü </itemize> <p>Dort auf Administration des Systems <itemize> <item>dann bei Hardware ins System integrieren <item>die Netzwerkkarte auswählen (siehe <ref id="suse-stat" name="statische methode">) <item>dann Netzwerk konfigurieren, <itemize> <item>dort DHCP Client auswählen <item>Möchten sie DHCP verwenden... JA </itemize> </itemize> <p>dann Konfig Scripts laufen lassen <p>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) <sect2>DHCP Client - Tips <p> 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. <p> Zuerst wird die Netzwerkkarte mit einer beliebigen Adresse initialisiert: "ifconfig 192.168.1.1". <p> 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. <p> Die Routen und der Nameserver werden von dhclient automatisch gesetzt d.h. keine weiteren Schritte notwendig. <sect2>Update DHCP Client <label id="update"> <p> 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 <htmlurl url="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 <tt>/sbin</tt> kopiert. <p> Ab Version 7.0 ist bei SuSE ein neuer Client (dhcpcd) dabei - damit sollte es perfekt funktionieren. <sect1>PNP - Plug & Play <label id="pnp"> <p> Falls es sich um eine PnP (Plug & Play) Netzwerkkarte handelt, sollte diese Funktion <bf>vorher</bf> abgeschaltet werden. <p> 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. <p> Hinweis: Die Diskette mit den entsprechenden Treibern gibt es meiste auf der Hompage des Kartenherstellers. <p> Es gibt auch einige Utilities für Linux: <htmlurl url="http://www.scyld.com/network/index.html" name="Linux Network Drivers"> <p> Weitere Links für 3Com Karten: <htmlurl url="http://support.3com.com/infodeli/tools/nic/3c509b.htm" name="3c509b"> <htmlurl url="http://support.3com.com/infodeli/inotes/techtran/302a_5ea.htm" name="Umschaltung/Konfiguration"> <htmlurl url="http://support.3com.com/infodeli/inotes/techtran/366e_5ea.htm" name="Installationshinweise"> <htmlurl url="http://search.3com.com/" name="3Com Suchmaschine"> <p> Man kann auch eine andere (nicht PnP) Karte einsetzen -- siehe <ref id="andere" name="andere Karte">. <p> Unter Systemsteuerung/Netzwerk hab ich die Protokolle für pnp gar nicht entfernen müssen. (sind jetzt alle doppelt vorhanden) <p> Noch mal alle Schritte: <itemize> <item>Mit Bootdisk starten und pnp deaktivieren <item>Windows booten -> Treiber installieren <item>Nach dem Reboot sollte die Verbindung zu TW unter Win wieder stehen <item>Das Programm Winipcfg im Verzeichnis c:/Windows starten und eigene IP notieren <item>Linux booten und im Fall von SuSE Yast starten: (siehe <ref id="suse-stat" name="statische methode"> oder <ref id="suse-dyn" name="mit DHCP">) </itemize> <sect1>Redhat <p> 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. <p> Zunächst eine (nicht notwendigerweise vollständige) Liste der Packages, welche installiert sein müssen: <itemize> <item>netkit-base <item>net-tools <item>bind-utils </itemize> Überprüfung durch befragen der RPM-Datenbank: <p><tt>rpm -q net-tools netkit-base bind-utils</tt> <p> liefert z.B. <tscreen><verb> net-tools-1.46-1 netkit-base-0.10-13 bind-utils-4.9.6-11 </verb></tscreen> <p> Im X das Control-Panel starten (unter Administration enthalten). <itemize> <item>Klick auf System Configuration (Dirigent; ggf. nach unten rollen oder Fenster vergrößern) <item>Reiter: Einstellungen - Button: Netzwerk <item>Im neuen Fenster "Netzwerkverwaltung" <itemize> <item>Reiter: Client Aufgaben - Button: Rechner Basisinformation <item>Im neuen Fenster "Basiskonfiguration dieses Rechners" <itemize> <item>Reiter: Rechnername oder IP-Nummer <itemize> <item>Im Textfeld den gewünschten <ref id="anm" name="Rechnername"> eingeben z.B. Marilyn </itemize> </itemize> <item>Reiter: Adapter 1 <itemize> <item>Checkbox 'aktiviert' ein <item>Optionen 'Konfigurationsmodus' manuell (statt DHCP, Bootp) <item>Textfeld 'Rechnername + Domäne' ? (zB. Marilyn.telekabel.at) <item>Textfeld 'Aliase (opt.)' <kann leer bleiben> (zB. MM) <item>Textfeld 'IP Adresse' <die eigene IP eintragen> (zB. 99.99.99.99) <item>ComboBox 'Netmask (opt.)' 255.255.255.0 < auswählen> <item>ComboBox 'Netzwerkgerät' eth0 <auswählen> <item>ComboBox 'Kernel Modul' 3c59x <auswählen> <item>Textfeld 'I/O/port (opt)' <frei lassen !> <item>ComboBox 'Irq (opt)' <frei lassen !> </itemize> <item>mit "Bestätigen" das Fenster "Basiskonfiguration dieses Rechners" schliessen. </itemize> <p>Im Fenster "Netzwerkverwaltung" nun wählen: <itemize> <item>Reiter: Client Aufgaben - Button: Name Server Specifikation (DNS) <item>Im neuen Fenster "Resolver configuration" <itemize> <item>Checkbox 'DNS usage / DNS required' ? (bei mir aus) <item>Textfeld 'default domain' ? (bei mir leer) <item>Textfeld '<ref id="dns" name="nameserver"> 1' 195.34.133.10 <item>Textfeld 'nameserver 2 (opt)' 195.34.133.11 <item>Textfeld 'nameserver 3 (opt)' 128.130.2.3 <item>Textfeld 'search domain 1 (opt)' telekabel.at <p> die weiteren 'search domain 2-6' können leer bleiben <item>mit "Bestätigen" das Fenster "Resolver configuration" schliessen. </itemize> </itemize> <p>Im Fenster "Netzwerkverwaltung" nun wählen: <itemize> <item>Reiter: Verschiedenes - Button: Informationen über andere Rechner <item>Im neuen Fenster "/etc/hosts" <itemize> <item>Button: Neu <item>Im neuen Fenster "Rechner/Netzwerkdefinition" die Daten des eigenen Rechners angeben wie unter "Rechner Basiskonfiguration": <itemize> <item>Textfeld 'Rechnername + Domäne' zB. Marilyn.telekabel.at <item>Textfeld 'Aliase (opt.)' zB. MM <item>Textfeld 'IP Adresse' z.B 99.99.99.99 <item>Textfeld 'Kommentar (opt)' <beliebig/leer> zB. Des bin i <item>mit "Bestätigen" das Fenster "Rechner/Netzwerkdefinition" schliessen. </itemize> </itemize> <item>Im Fenster "/etc/hosts" nun wieder <itemize> <item>Button: Neu <item>Im neuen Fenster "Rechner/Netzwerkdefinition" die Daten des Loopback device angeben: <itemize> <item>Textfeld 'Rechnername + Domäne' localhost <item>Textfeld 'Aliase (opt.)' <leer> <item>Textfeld 'IP Adresse' 127.0.0.1 <item>Textfeld 'Kommentar (opt)' <beliebig/leer> zB. Loopback device <item>mit "Bestätigen" das Fenster "Rechner/Netzwerkdefinition" schliessen. </itemize> </itemize> <item>mit "Bestätigen" das Fenster "/etc/hosts" schliessen. </itemize> <p> Es gibt noch die Möglichkeit <tt>/etc/networks</tt> zu bearbeiten. Bei mir ist das leer. Falls es Sinn macht, dort was reinzuschreiben: Der Ablauf ist analog zu <tt>/etc/hosts</tt>, nur dass das erste Fenster eben <tt>/etc/networks</tt> heisst. Alle anderen Fenster/Felder sind ident. Der Aufruf geht so: <itemize> <item>Im Fenster "Netzwerkverwaltung" nun wählen: <item>Reiter: Verschiedenes - Button: Information über andere Netzwerke <item>mit "Beenden" das Fenster "Netzwerkverwaltung" schliessen. </itemize> <item>mit "Beenden" das Fenster "Linuxconf 1.11" schliessen. <item>Im neuen Fenster "Zustand des Systems" den Button: aktivieren auswählen. Nach einer kleinen Nachdenkpause bleibt nur noch das Control-Panel übrig. </itemize> <p> Letzter Schritt: Konfiguration der Netzwerkkarte beim Start automatisch durchführen <itemize> <item>Eine Datei in <tt>/etc/rc.d</tt> anlegen, zB. /<tt>etc/rc.d/MyRouteInit</tt> und mit dem Editor Deiner Wahl wie folgt eintragen (siehe auch Default <ref id="gateway" name="Gateway">): <tscreen><verb> # /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 # </verb></tscreen> <item> auf der Shellebene / im Konsolen-Fenster ausführen: <tscreen><verb> cd /etc/rc.d chmod 0755 MyRouteInit </verb></tscreen> Kontrolle mit <tscreen><verb> ls -l My* -rwxr-xr-x 1 root root 534 Aug 18 19:52 MyRouteInit </verb></tscreen> <item>Damit's wirkt muss man das Skript jetzt noch ausführen: <tscreen><verb> ./MyRouteInit </verb></tscreen> <item>Jetzt sollte die Verbindung stehen. Die folgenden Befehle sollten problemlos funktionieren: <tscreen><verb> ping 195.34.133.11 ping www.orf.at traceroute 199.183.24.225 </verb></tscreen> <item> mit dem Editor Deiner Wahl die Datei <tt>/etc/rc.d/rc.local</tt> bearbeiten: Am Besten nach den Eingangs-Kommentaren die folgenden Zeilen einfügen: <tscreen><verb> : : # set my network environment # if [ -f /etc/rc.d/MyRouteInit ]; then   /etc/rc.d/MyRouteInit fi # # on with the original stuff : : </verb></tscreen> </itemize> <sect1>Manuelle Konfiguration <label id="manu"> <sect2>Konfiguration Nameserver: <p> siehe <ref id="dns" name="Nameserver"> und <ref id="gateway" name="Gateway"> <p>Datei <tt>/etc/resolv.conf</tt> <tscreen><verb> search telekabel.at nameserver 195.34.133.10 nameserver 195.34.133.11 </verb></tscreen> <p>Datei <tt>/etc/host.conf</tt> <tscreen><verb> order hosts bind multi on </verb></tscreen> <p>Datei <tt>/etc/nsswitch.conf</tt> (? nur wenn vorhanden - nur glibc2 ?) <tscreen><verb> hosts: files dns networks: files dns </verb></tscreen> <sect2>Konfiguration Netzwerk: <p>zuerst das looopback device (lo) <itemize> <item>setzen: <tt>ifconfig lo 127.0.0.1</tt> <item>testen: <tt>ifconfig lo</tt> <item>Route setzen: <tt>route add 127.0.0.1</tt> <item>Routen anzeigen: <tt>route -n</tt> <item>jetzt sollte ein ping gehen: <tt>ping 127.0.0.1</tt> </itemize> <p> selbes mit eth0 (Nummern bitte anpassen) <itemize> <item>setzen: <tt>ifconfig eth0 212.17.17.14 netmask 255.255.255.0</tt> <item>testen: <tt>ifconfig</tt> (es sollte das Device lo und das eth0 sichtbar sein) <item>Route setzen (lokales Netz): <tt>route add -net 212.17.17.0</tt> <item>Routen anzeigen: <tt>route -n</tt> <item>testen: <tt>ping 212.17.17.1</tt> <item>Route setzen (<ref id="gateway" name="default gateway">): <tt>route add default gw 212.17.17.1</tt> <item>jetzt sollte ein ping gehen: <tt>ping 128.130.2.3</tt> <item>auch mit symbolischen Namen: <tt>ping tunamea.tuwien.ac.at</tt> </itemize> Verbesserung: <p> Alle Rechner in <tt>/etc/hosts</tt> eintragen - dann kann man auch Namen statt der Nummern verwenden (siehe <ref id="anm" name="Rechnername"> und <ref id="gateway" name="Gateway">) <tscreen><verb> 127.0.0.1 localhost 212.17.17.14 dein.rechner.name 212.17.17.1 default.gateway </verb></tscreen> Die Konfiguration kann mit <ref id="bootp" name="BOOTP"> vereinfacht werden. <sect2>Autokonfiguration mit Bootp <label id="bootp"> <p> Linux bietet auch die Möglichkeit, die IP Adresse direkt vom Kernel via BOOTP Protokoll zu bestimmen. <p> Dazu müssen bei der Konfiguration eines 2.2.x Kernels folgende Optionen ausgewählt werden: <itemize> <item> Networking options <item>IP: kernel level autoconfiguration <item>BOOTP support </itemize> Damit wird die IP Adresse und der "Default Gateway" via BOOTP Protokoll abgefragt und die Netzwerkkarte konfiguriert. <p> Achtung: Im Gegensatz zu der Konfiguration mit DHCP werden dabei z.B. die Nameserver nicht automatisch konfiguriert. <sect2>Manuelle Konfiguration + DHCP-client<label id="manual_dhcp"> <p> Dieser Kapitel von <htmlurl url="mailto:Wolfgang Winkler <winklerw@telering.at>" name="Wolfgang Winkler <winklerw@telering.at>"> beschreibt alles noetige um einen Linux-PC, der ueber kein geeignetes ein Konfigurationswerkzeug verfuegt, ans chello-Netz zu bringen. <p> Diese Methode funktioniert wahrscheinlich fuer jedes Betriebssystem, vorausgesetzt der dhcp-client ist verfuegbar oder laesst sich kompilieren. <p> In der Dokumentation werden folgende genannt: <itemize> <item>{,Free-,Net-}BSD <item>OSF <item>SunOS </itemize> <p> Ich gehe davon aus, dass die Bedeutung/Aufgabe von Konfigurationsdateien wie z.B. <tt>/etc/resolv.conf</tt> bekannt ist und auch wie man sie erfolgreich editiert. <p> Software: dhcp-3.0pl2 (am 11.05.2003) Das Packet enthaelt DHCP-client und -server, es wird aber nur der Client benoetigt). <p> Bei Bedarf source von <htmlurl url="ftp://ftp.isc.org/isc/dhcp/dhcp-3.0pl2.tar.gz" name="ftp://ftp.isc.org/isc/dhcp/dhcp-3.0pl2.tar.gz"> (845 kB) runterladen, kompilieren und installieren. <p> config-file fuer dhclient: <tt>/etc/dhclient.conf</tt> <tscreen><verb> #/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 </verb></tscreen> <p> Die Zeilen <tt>timeout 45</tt> und <tt>retry 30</tt> 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 <tt>dhclient</tt> nach <tt>timeout</tt> Sekunden in den Hintergrund, wartet <tt>retry</tt> Sekunden, und versucht dann wieder eine IP-Adresse vom DHCP-Server zu bekommen. Details zur Konfiguration: <tt>man dhclient.conf</tt> <p> Zum Konfigurieren der Netzwerkkarte reicht dann das Starten des Programms <tt>dhclient</tt> als root. Das sieht normalerweise dann so aus: <tscreen><verb> 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. </verb></tscreen> <p> dhcp-3.0pl2 bringt das script <tt>dhclient-script</tt> mit, das automatisch von <tt>dhclient</tt> gestartet wird und die Informationen, die vom chello-DHCP-Server kommen, automatisch in die entsprechenden config-files eintraegt. <p> <tt>/etc/resolv.conf</tt> sollte jetzt so aehnlich ausschauen: <tscreen><verb> search chello.at nameserver 127.0.0.1 nameserver 195.34.131.180 nameserver 195.34.133.10 </verb></tscreen> <p> Das Kommando <tt>route -n</tt> sollte dann aehnliches auswerfen: <tscreen><verb> 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 </verb></tscreen> <p> Beispiel-Bootscript fuer Sys V-style-init <p> Pfade anpassen wenn notwendig! <tscreen><verb> #!/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 </verb></tscreen> <sect2>Kabelzugang über den USB-Anschluss<label id="manual_usb"> <p> Dieses Kapitel wurde gespendet von <htmlurl url="mailto:Anton Steiner <anton.steiner@salzburg-online.at>" name="Anton Steiner <anton.steiner@salzburg-online.at>"> <p> Anforderung: <p> Kernel 2.6.x (hier 2.6.6) - selbstkompiliert und Kabelmodem (hier Motorola Surfboard) mit USB Anschluss. <p> Achtung: Nur Anschluß über Netzwerkkarte ODER USB <p> Module: <p> CDCEther (Devicedriver --> USB Support --> CDC Ethernet Support) <p> usbnet (Devicedriver --> USB Support --> Multipurpose USB Network Framework) <p> Die Module können entweder direkt in den Kernel oder als Module kompiliert werden. Als Module müssen sie mit <tscreen><verb> modprobe CDCEther modprobe usbnet </verb></tscreen> eingebunden werden (man modules, update-modules, modules, modprobe) <p> Das Kommando <tscreen><verb> ifconfig -a </verb></tscreen> zeigt das Gerät als höchstes ethX Device (z.b. eth0 --> keine Netzwerkkarte vorhanden , eth1 --> eine Netzwerkkarte ist vorhanden). Weitere Installation wie bei <ref id="manual_dhcp" name="Manuelle Konfiguration + DHCP-client"> <sect2>Nachtrag fuer Student-Connect - Benutzer<label id="student_connect"> <p> 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. <p> Wer sicher gehen will, dass der jeweilige Client auch wirklich den Proxy benutzt, kann sich unter: <itemize> <item><htmlurl url="http://elina.htlw16.ac.at/~hoerandl/" name="http://elina.htlw16.ac.at/~hoerandl/"> nachschauen welche IP-Adresse angegeben wird (131.130.1.135, 131.130.1.143, 131.130.1.150 ist o.k. das sind tk-proxy{1,2,3}.univie.ac.at) <item><htmlurl url="http://www.stilllistener.addr.com/checkpoint1/" name="http://www.stilllistener.addr.com/checkpoint1/"> dasselbe, nur etwas ausfuehrlicher </itemize> <p> Hier noch ein Vorschlag fuer die Konfiguration von wget: <tt>~/.wgetrc</tt> enthaelt dann folgendes: <tscreen><verb> http_proxy = http://tk-proxy.univie.ac.at:3128/ ftp_proxy = http://tk-proxy.univie.ac.at:3128/ use_proxy = on </verb></tscreen> <sect1>Anhang <sect2>Fehlersuche <p> ifconfig zeigt kein eth0 an: Treiber fehlt <p> ping xx.xx.xx.1 (IP Adresse des <ref id="gateway" name="Gateway">) geht nicht: IP Adresse nicht gesetzt (ifconfig) oder keine Route gesetzt <p> ping gateway funktioniert, ping auf alle anderen Rechner geht nicht: Route nicht gesetzt (route) <p> ping mit Nummer (IP Adresse) geht - mit Namen nicht: der Rechner findet den Name Server nicht <sect2>Dateien <p> siehe <ref id="manu" name="Manuelle Konfiguration"> <sect2>Rechnername <label id="anm"> <p> <itemize> <item>der Rechnername kann beliebig gewählt werden. <item>offizieller Name: tk(IP-Adresse ohne Punkte).telekabel.at (zB. TK212017123123.telekabel.at) oder tk212017123123.tuwien.teleweb.at (beim Studenten Account) oder 212186004001.11.vie.surfer.at <item>Bestimmung des offiziellen Namens: <p> <tt>nslookup ip.adresse</tt> oder <tt>dig -x ip.adresse</tt> </itemize> <sect2>Gateway <label id="gateway"> <p> Adresse des Default-Gateway: deine IP, aber letzte Stelle (letzte Gruppe nach dem Punkt) .1 <p> zb: meine IP: 195.34.12.234, mein Gateway: 195.34.12.1) <sect2>Nameserver <label id="dns"> <p> Telekabel verwendet folgende Rechner (IP-Adressen) als Nameserver: <tscreen><verb> 195.34.133.10 195.34.133.11 </verb></tscreen> <sect2>Proxy Konfiguration <p> 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. <sect2>Links <p> Weiterführende Konfigurationshinweise (Browser, Mail, News etc.) gibt es bei <htmlurl url="http://subscriber.chello.at/support/doku/" name="Chello">. <sect2>Andere Karte <label id="andere"> <p> Wenn es mit der von Telekabel gelieferten Karte absolut nicht funktionieren will: man kann auch eine andere Karte einsetzen. <p> Bei der statischen Methode sollte es keine Probleme geben. Bei der DHCP Variante sollte folgender Eintrag in der Datei <tt>/etc/dhclient</tt> vorgenommen werden: <tscreen><verb> send dhcp-client-identifier xx:xx:xx:xx:xx:xx:xx </verb></tscreen> Anstelle der xx ist die alte (von der original-tk-karte) MAC-Adresse einzusetzen. <p> Bei einigen Karten kann auch direkt die MAC Adresse geändert werden: <p> <tt>ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx:xx</tt> <p> damit funktioniert auch DHCP (Achtung: dieses Kommando muss vor dem Aktivieren der Karte ausgeführt werden). <sect2>dhcpcd Fehlermeldung <label id="kabel-dhcpcd-fehler"> <p> Fehlermeldung: <p> <tscreen><verb> dhcpcd[...] Infinite IP addresses lease time.Exiting failed </verb></tscreen> 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. <sect2>Kabelzugang über Salzburg-Online <label id="zugang_ueber_salzburg_online"> <sect3>Cabellink Home <p> Dieses Kapitel wurde gespendet von <htmlurl url="mailto:Anton Steiner <anton.steiner@salzburg-online.at>" name="Anton Steiner <anton.steiner@salzburg-online.at>"> <p> Konfiguration über DHCP - Client: <tscreen><verb> /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; } </verb></tscreen> Einbinden des DHCP-Client wie mit dem Bootscript unter <ref id="manual_dhcp" name="Manuelle Konfiguration + DHCP-client"> beschrieben. Die Konfiguration des Zuganges (Mailboxen, Webspace usw.) erfolgt über <htmlurl url="https://service.sbg.at" name="https://service.sbg.at"> <p> Zuletzt auch noch eine etwas verbesserte Version des dhclient Startscripts: <tscreen><verb> #!/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 </verb></tscreen> <sect>ISDN <label id="ISDN"> <sect1>Einleitung <label id="Einleitung"> <p> In diesem Kapitel möchte ich beschreiben welche Hardware ich verwendet und getestet habe um meinen ISDN Zugang mit einigen Besonderheiten zum Laufen zu bringen, die wahrscheinlich viele andere User auch haben werden und wie ich das ganze konfiguriert habe. <p> <sect1>Ablauf des Umstiegs <p> In der Vorbereitungszeit habe ich mir einen Zyxel-TA gekauft. Bedingungen für den TA waren: <itemize> <item> mindestens 2 a/b Anschlüße <item> externer TA um einen embedded PC verwenden zu können <item> Nach Möglichkeit ein TA der in der SUSE Support Datenbank positiv erwänt wird </itemize> <p> Zuerst habe ich die Umstellung auf ISDN bestellt. Innerhalb weniger Tage wurde durch die Telekom die ISDN Verbindung hergestellt und die NT1 montiert. <p> Neben der NT1 habe ich meinen Terminaladapter <htmlurl url="http://www.zyxel.com/html/product/ta/lcds.html" name="Zyxel-LCD"> montiert und die beiden Geräte mit einem S0 Kabel verbunden. Dann wurden die Verbindung von einer der beiden a/b Buchsen des Zyxel zu der alten Telephonverkabelung im Haus wiederhergestellt und schon funktionierten alle Telephone und das Modem wie vor dem Umbau. Mit wenigen Stunden Unterbrechung haben alle analogen Komponenten wieder funktioniert. Sogar der analoge Internetzugang funktionierte wieder. Über das analoge Modem, die a/b Buchse des ISDN-TA, und die NT1 kam ich noch immer ins Internet. <p> Damit konnte ich nun in aller Ruhe einen kleinen Linux-PC in der Nähe des Zyxel TAs installieren und langsam einen Dienst nach dem anderen von der alten analogen Modemverbindung auf den neuen digitalen Zugang übernehmen. Durch die Erhaltung des analogen Zugangs konnte ich noch immer per E-Mail bei Kollegen anfragen oder im Internet blättern. <p> Der Clou war während der Inbetriebnahmephase konnte ich über den "neuen" PC, den ISDN-TA und den ISDN Zugang ins Netz einwählen, mit ifconfig die IP-Adresse auslesen und dann (gleichzeitig) mit dem analogen Modem und dem alten ISP einwählen und dann mit ping, telnet, rlogin, etc. den "neuen" Rechner "abklopfen". Mit <htmlurl url="http://www.insecure.org/nmap/index.html" name="nmap"> findet man damit schnell die noch offenen Schlupflöcher und kann die firewall hinter der ISDN Leitung abdichten. <sect1>Übersicht der eingesetzten Hardware <label id="eingesetzteHardware"> <p> Von der Telekom wurde als Abschluß des Zweidraht vom Amt, ein Network-Terminator NT1 installiert. An den NT1 habe ich ein <htmlurl url="http://www.zyxel.com/html/product/ta/lcds.html" name="Zyxel-LCD"> angeschlossen. <p> Der Firewall/Gateway läuft auf einem <htmlurl url="http://www.advantech.com" name="Advantech"> <htmlurl url="http://www.advantech.com/products/sbc/pcm-5820.htm" name="5820/L"> Der Winzling verschwindet unter dem ISDN-TA. Außerdem kommt er fast ohne bewegte Teile aus (abgesehen von der Harddisk, besitzt er keine Lüfter, etc.) und sollte daher mit hoher Verfügbarkeit glänzen. Der Stromverbrauch von ca. 10 W (auf der 220V Seite gemessen) hilft beim 24 Stundenbetrieb stromsparen. Das hilft vorallem bei der Diminsionierung einer USV. <sect1>wvdial <label id="wvdial"> <sect2>wvdial konfigurieren <p> Die wvdial Konfiguration geht am schnellsten indem Sie mit YAST die Files erstellen. Das geht bei SuSE wie folgt: <p> <itemize> <item>Administration des Systems <item>Netzwerk konfigurieren <item>PPP-Netzwerk konfigurieren <item>Konfigurieren Sie Ihren Provider </itemize> <p> dort habe ich folgende Werte eingetragen: <tscreen><verb> Telefonnummer: "194040" Benutzerkennung: "<username>" Passwort: "<password>" [*] Automatische Nameserverkonfiguration - wenn möglich (Tone-Dial) Wählverfahren [*] Modem an Telefonanlage (kein Wählton) (PAP/CHAP) Einwahlmodus </verb></tscreen> Für alle "nicht SuSE-User" sollte dann in <tt>/etc/wvdial.conf</tt> folgendes stehen. Auch SuSE-User sollten nocheinmal kontrollieren ob die wvdial.conf die folgenden Werte erhalten hat. <tscreen><verb> [Dialer Defaults] Username = <username> Modem = /dev/ttyS0 Password = <password> Init1 = ATZ # Erläuterung zu Init2: # B40 ... ppp async auf sync umsetzen # &ero;O2 ... (O wie Oje ;-) ATDs, ATDPs, ATDTs werden zu ATDIs (ISDN-Call) umgesetzt Init2 = ATB40&ero;O2 Compuserve = 0 Tonline = 0 Dial Command = ATX3DT Phone = 194040 Baud = 115200 Auto DNS = 1 Stupid Mode = 1 New PPPD = 1 </verb></tscreen> Nun ist man schon so weit, daß man den Zugang über ppp einmal ausprobieren kann, indem man in einem Fenster mit root Rechten das Kommando wvdial eingibt. Damit sollte über den ISDN-TA die ppp Verbindung aufgebaut werden. <p> Anmerkung: Der Init2 String muß händisch angepaßt werden und stimmt hier nur für das Zyxel omninet LCD. Bitte konsultieren Sie das Handbuch Ihres Terminaladapters. (Der INIT2 String der von den wvdial-tools bei mir eingetragen wurde, hat zu einigen Problemen geführt). <sect1>pppd <label id="pppd"> <sect2>pppd konfigurieren <p> Bei der wvdial Konfiguration sollte von Yast schon die Datei <tt>/etc/ppp/pap-secrets</tt> generiert worden sein, in der am Ende des Files folgende Zeile stehen sollte: <tscreen><verb> "<username>" * "<password>" * </verb></tscreen> <username> und <passord> müssen mit Ihrer Teilnehmerkennung und Ihrem Passwort aus dem Provider-Kuvert übereinstimmen. Damit auch bei CHAP-Authentifizierung alles klappt, tippen Sie: <tscreen><verb> cp /etc/ppp/pap-secrets /etc/ppp/chap-secrets </verb></tscreen> Damit wird dann sowohl für PAP, als auch für CHAP ein korrekter Eintrag mit Ihren Providerdaten gefunden. Achten Sie darauf, daß Sie danach Änderungen immer in beiden Files führen, damit Sie keine bösen Überraschungen erleben, wenn dann doch das Anmeldeverfahren durch Ihren Provider gewechselt wird. <p> Wenn die Verbindung läuft, kann man /var/log/messages schonen indem man den ppp-daemon ein bischen weniger verbose macht. Hierfür wird in <tt>/etc/ppp/options</tt> die Zeile debug hinter Kommentarzeichen gestellt: <tscreen><verb> # Increase debugging level (same as -d). The debug output is written # to syslog LOG_LOCAL2. #debug </verb></tscreen> <sect1>Terminaladapter <p> Dieses Kapitel soll Besonderheiten verschiedener TAs beschreiben. <sect2>Zyxel <p> Das Kapitel <ref id="ISDN" name="ISDN"> wird anhand eines externen Zyxel TA erklärt. Daher sind für die Zyxel TA IMHO keine speziellen Anmerkungen erforderlich. <sect2>Lasat Speed II <p> <htmlurl url="mailto:reinhard.schlager@jk.uni-linz.ac.at" name="Reinhard Schlager <reinhard.schlager@jk.uni-linz.ac.at>"> brachte seinen Lasat Speed II Adapter mit folgender Einstellung zum laufen: <tscreen><verb> Dial Command = ATX3 &ero;B2DT </verb></tscreen> <sect2>interne TAs <p> Nach einem Posting in der Newsgroup at.linux, erarbeitete <htmlurl url="mailto:andreas.werschlan@gmx.at" name="Andreas Werschlan <andreas.werschlan@gmx.at>"> den Tip, wie wvdial auch mit internen TA verwendbar ist, wenn man wvdial.conf wie folgt gegenüber den obigen Einstellungen, ändert: <tscreen><verb> Modem = /dev/ttyI0 Init2 = AT&ero;E(Deine MSN) <--- MSN einfügen (ohne Klammern!) Dial Command = ATD 1. man startet sein Lieblings-Terminalprogramm (z.B. minicom) </verb></tscreen> Nähere Informationen zu den AT Befehlen und der "Modem Emulation" (natürlich keine richtige, es wird nur das serielle Interface simuliert) findet sich in <htmlurl url="file:/usr/src/linux/Documentation/isdn/README" name="/usr/src/linux/Documentation/isdn/README">. <p> Bei SUSE-Distributionen kann der interne TA auch über YAST eingestellt werden, ohne ihn mit wvdial wie ein Modem zu betrieben: <tscreen><verb> Administration des Netzwerks Hardware ins System integrieren ISDN Hardware konfigurieren </verb></tscreen> Jedoch dürfte es zur Zeit noch keine geeigneten Reconnect Mechanismen geben, um den 8 Stunden Timeout meines ISDN-Providers zu umgeben. Daher wird z. Zt. AFAIK zumeist die wvdial-Methode verwendet. <p> Hier noch einige Links zu internen TAs: <itemize> <item>Aus der Suse-Supportdatenbank <htmlurl url="http://sdb.suse.de/sdb/de/html/aaaisdnhowto.html" name="http://sdb.suse.de/sdb/de/html/aaaisdnhowto.html"> <item>die SDB finden Sie auch lokal <htmlurl url="file:/usr/doc/packages/i4l" name="file:/usr/doc/packages/i4l"> <item>Ein deutsches HOWTO hat Andreas auch noch gefunden : <htmlurl url="http://www.franken.de/users/klaus/DE-ISDN-HOWTO/html/DE-ISDN-HOWTO.html" name="http://www.franken.de/users/klaus/DE-ISDN-HOWTO/html/DE-ISDN-HOWTO.html"> </itemize> <sect2>interne TAs <p> <p> In der at.linux schrieb <htmlurl url="mailto:adi@selingers.com (adi)" name="adi@selingers.com (adi)"> am 26.11.2001 im Beitrag <htmlurl url="<591f5097.0111260526.30ea04a2@posting.google.com>" name="<591f5097.0111260526.30ea04a2@posting.google.com>"> folgendes: <tscreen><verb> Ich habs geschafft, fritz!x usb unter suse 7.3 Anleitung: 1. fxsuse7.2 von avm runterladen 2. suse kernelquellen installieren 3. fxsuse entpacken 4. ins verzeichnis fritz wechseln 5. datei install: zeile 11 auf KERNEL=2.4.10-4GB ändern 6. als root: ln -s /usr/src/linux-2.4.10.SuSE /lib/modules/2.4.10-4GB 7. als root: cp /boot/vmlinuz.version.h /lib/modules/2.4.10-4GB/build/include/linux/version.h 8. im verzeichnis fritz/src.drv/ das makefile editieren: zeile 9: CCFLAGS = -c $(DEFINES) -O2 -Wall -I /lib/modules/2.4.10-4GB/build/include 10. im verzeichnis fritz: make eingeben 11. cp fritz/src.drv/fxusb.o fritz/ 12. ./install 13. rpm -i usbmgr-0.4.8-1.i386 14. pppd-2.4.0 installieren (pppd-2.4.1 funkt nicht) 15. "pppd call isdn/provider usepeerdns" und es funkt (die providerdateien einfach im verzeichnis /etc/ppp/peer/isdn abändern) thats ist PS: die dateien die ihr benötigt, und einen anleitung für teledat ist auf http://ds9.esmartweb.com </verb></tscreen> <sect1>pppd beim Booten starten: <p> Nun macht es aber keinen Spaß nach jedem Boot wieder die Modemverbindung mit dem Kommando wvdial neu zu starten. Daher fügt man in der Datei <tt>/etc/inittab</tt> die folgende Zeile ein: <tscreen><verb> 9:123:respawn:/bin/mywvdial tty9 </verb></tscreen> Das Script /bin/mywvdial könnte wie folgt aussehen. <tscreen><verb> #! /bin/bash # wvdial starter /bin/mywvdial # # Copyright (C) 1999 Heimo Schön <heimo.schoen@gmx.at> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # clear screen on tty9 an print startmessage clear > /dev/tty9 echo mywvdial is starting at `date` on $HOSTNAME ... > /dev/tty9 # do some logging and counting xx=`cat /tmp/wvdial_counter` expr $xx + 1 > /tmp/wvdial_counter echo $xx `date` >> /tmp/wvdial.log # start wvdial /usr/bin/wvdial Defaults 0< /dev/tty9 2>&1 3>&0 | tee -a /tmp/wvdial.out echo wvdial died at `date` >> /tmp/wvdial.log # sleep a little bit for not so fast restarting sleep 1 # Die nachfolgenden Zeilen sind ein Sicherheitsnetz für # eventuell noch hängende pppd und wvdial Prozesse: # zuerst schießen wir mit Platzpatronen (vielleicht schreckt er sich ;-) /usr/bin/killall wvdial /usr/bin/killall pppd # und jetzt wird scharf geschossen /usr/bin/killall -9 wvdial /usr/bin/killall -9 pppd </verb></tscreen> wvdial hat sich aber trotzdem massiv dagegen gewehrt auf /dev/tty9 auszugeben. Daher habe ich noch das console-device verbogen: <tscreen><verb> mv /dev/console /dev/console.old ln -s /dev/tty9 /dev/console </verb></tscreen> Dann noch einmal killen von wvdial, mywvdial und pppd (processids erhält man mit ps xafe oder man nimmt killall wvdial mywvdial pppd) und dann hat es endlich funktioniert, daß wvdial nur noch auf /dev/tty9 geschrieben hat. <sect1>route <p> In <tt>/etc/route.conf</tt> darf keine default-route gesetzt sein. Die Zeile <tscreen><verb> # default 192.168.0.1 </verb></tscreen> ist daher hinter Kommentarzeichen # zu stellen. Die einzige Zeile in meiner route.conf ist <tscreen><verb> 192.168.1.0 0.0.0.0 255.255.255.0 eth0 </verb></tscreen> <sect1>DNS-Cache <p> Nun ist es an der Zeit einen DNS-Cache zu aktivieren. Zwei Vorschläge hierzu finden Sie in den Kapiteln <ref id="bind" name="bind"> und <ref id="DNSmasq" name="DNSmasq"> (siehe dort). <sect1>firewall <p> Wenn man mit dem ISDN Zugang 24 Stunden online sein möchte, dann sollte man den Linux Rechner vor den 100 Millionen potentiellen Angreifern schützen. Dieser Schutzwall vor dem Internet wird firewall genannt. <p> Die Firewall habe ich aktiviert durch folgende Zeilen in <tt>/sbin/init.d/network</tt> (die Zeilen habe ich vor dem exit 0 eingefügt): <tscreen><verb> # Firewall aktivieren (1.12.99 / Heimo) /sbin/ipchains -F /sbin/ipchains-restore < /etc/ipchains.default /sbin/ipchains -L > /tmp/ipchains.bootup # Firewall Ende </verb></tscreen> Setzen Sie die Variable »IP_FORWARD« in <tt>/etc/rc.config</tt> auf »yes« <p> Eine andere Variante für den Start der Firewall wäre in <tt>/sbin/init.d/boot.loacl</tt> die oben gezeigten Zeilen einzufügen. Welchen Weg Sie wählen, bleibt ganz Ihrem Geschmack überlassen. <p> Hierzu benötigt man noch eine Datei <tt>/etc/ipchains.default</tt> die wahrscheinlich 1:1 von mir übernommen werden kann: <tscreen><verb> :input ACCEPT :forward ACCEPT :output ACCEPT -A forward -s 192.168.1.0/255.255.255.0 -i ppp0 -j MASQ -A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 80 -i ppp0 -p 6 -j ACCEPT -y -A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 22 -i ppp0 -p 6 -j ACCEPT -y -A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 113 -i ppp0 -p 6 -j ACCEPT -y -A input -s 0.0.0.0/0.0.0.0 20 -d 0.0.0.0/0.0.0.0 -i ppp0 -p 6 -j ACCEPT -y -A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -i ppp0 -p 6 -l -y -A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -i ppp0 -p 6 -j DENY -y </verb></tscreen> (Anm.: Beim Ausdrucken bitte landscape wählen, da sonst u. U. rechts ein paar Spalten verloren gehen. Ich möchte aber nicht backslash umbrechen, da sonst möglicherweise die Newbies Probleme haben). <p> Wer diese Standardkonfiguration erweitern möchte, oder andere Verbindungen benötigt, sollte unbedingt das <htmlurl url="http://www.little-idiot.de/firewall/" name="Firewall HOWTO"> gelesen haben, bevor er sich an die Konfiguration seiner Firewall wagt. Der Vollständigkeit halber sei noch erwähnt, daß obiges script <tt>/etc/ipchains.default</tt> nur eine "Idee" sein sollte wie andere Leute Ihre Firewall konfiguriert haben. Jeder gewissenhafte Betreiber eines High-speed Internetzugangs sollte sich des Risikos bewußt sein, und sich mit dem Script so weit auseinandersetzen, daß er einigermaßen versteht was es tut. Hierzu kann ich nur nocheinmal auf <htmlurl url="http://www.little-idiot.de/firewall/" name="Firewall HOWTO"> verweisen. <sect1>/etc/ppp/ip-up <label id="ip-up"> <p> Das File <tt>/etc/ppp/ip-up</tt> wird vom pppd gestartet, wenn eine Verbindung hochkommt oder abgebaut wird. Das gibt uns die Möglichkeit, Dinge zu tun, sobald sind im Status unserer ppp-Verbindung etwas ändert. Da bei bei meinem Provider die Verbindung nur maximal 8 Stunden besteht und dann vom Provider gekappt wird, ist die Wiederherstellung der Verbindung vermutlich die interessantere Phase. <p> Ich will an dieser Stelle nur ein paar Ideen geben was man mit ip-up "treiben" kann. Es soll aber keine vollständige Liste sein. <p> Z. B. kann es sinn machen andere Kollegen oder sich selber im Büro mitzuteilen, über welche IP-Adresse man erreichbar ist. Symbolisch angedeutet ist nachfolgend die structur des ip-up scripts. <tscreen><verb> : case "$INTERFACE" in ippp*) : ppp*) : case "$BASENAME" in ip-up) : </verb></tscreen> Ich habe im case INTERFACE=ppp* und BASENAME=ip-up folgende Zeilen eingefügt (Die Zeile mit wwwoffle kann entfallen, wenn squid verwendet wird): <tscreen><verb> /usr/bin/wwwoffle -online echo "http://$LOCALIP" | mail -s "http://$LOCALIP" anybody@anywhere echo "http://$LOCALIP" | mail -s "http://$LOCALIP" heimo@office case "$INTERFACE" in ppp0) su - <username> -c "/bin/push-index $LOCALIP" ;; esac su - <localuser> -c "/usr/bin/ssh -l <remoteuser> <ip-adr> <dosomething>" </verb></tscreen> Mit der ersten Zeile wird wwwoffle online geschaltet (siehe auch Kapitel <ref id="wwwoffle" name="wwwoffle">.) <p> Per Mail wird die aktuelle IP-Adresse weitergeleitet (einmal an einen Kollegen anybody und ins Büro) <p> Es kann auch ein Script gestartet werden, daß z. B. eine neue Homepage mit der aktuellen IP-Adresse generiert und mit ftp irgendwo hinkopiert (hier mit push-index angedeutet). Für <username> fügen Sie jenen account-namen ein unter dem push-index laufen soll. (wie so ein Script push-index aussehen könnte, ist im Kapitel <ref id="homepage" name="homepage"> beschrieben). <p> mit der letzten Zeile wird eine Secure-shell Verbindung symbolisch dargestellt, die auf einem anderen Rechner Funktionen ausführt. <sect1>Probleme beim Verbindungsaufban <label id="ppp-problem"> <p> Häufig haben die Rechner bei meinem Provider ein Problem beim Verbindungsaufbau. Manchmal funktioniert die automatische Einwahl bei meinem Provider wochenlang problemlos und dann bleibt oft mehrmals hintereinander der Verbindungsaufbau regelrecht stecken. IMHO wird beim Provider nach der Einwahl keine Authentizierung gestartet und dadurch kommt keine ppp-Verbindung zustande. Als workaround für dieses Problem hat sich folgendes script bewährt. Das Script gibte es hier für externe TAs: <tscreen><verb> #! /bin/bash # checkisdn - check if isdn connection is up-and-running and kill # wvdial, when no isdn found for more then 10 seconds # # Copyright (C) 1999 Heimo Schön <heimo.schoen@gmx.at> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. export ISDN_UNREACHABLE=`fping -t8500 195.3.96.67 | grep unreachable` if test -n "$ISDN_UNREACHABLE" ; then echo `date` : $ISDN_UNREACHABLE - 1st test >> /tmp/checkisdn.log sleep 10 export ISDN_UNREACHABLE=`fping -t 8500 195.3.96.67 | grep unreachable` if test -n "$ISDN_UNREACHABLE" ; then echo `date` : $ISDN_UNREACHABLE - 2nd test >> /tmp/checkisdn.log # here you can do, what you think that should be done # User with external TAs can do this: killall wvdial fi fi </verb></tscreen> Und hier gibt es noch den Vorschlag von <htmlurl url="mailto:leo_eibler@gmx.at" name="Leo Eibler <leo_eibler@gmx.at>"> für interne TAs: <tscreen><verb> #! /bin/bash # checkisdn - check if isdn connection is up-and-running and kill # wvdial, when no isdn found for more then 10 seconds # # Copyright (C) 1999 Heimo Schön <heimo.schoen@gmx.at> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. export ISDN_UNREACHABLE=`fping -t8500 195.3.96.67 | grep unreachable` if test -n "$ISDN_UNREACHABLE" ; then echo `date` : $ISDN_UNREACHABLE - 1st test >> /tmp/checkisdn.log sleep 10 export ISDN_UNREACHABLE=`fping -t8500 195.3.96.67 | grep unreachable` if test -n "$ISDN_UNREACHABLE" ; then echo `date` : $ISDN_UNREACHABLE - 2nd test >> /tmp/checkisdn.log # here you can do, what you think that should be done # User with internal TAs can do this: isdnctrl hangup ippp0 /sbin/init.d/i4l stop /sbin/init.d/i4l_hardware stop /sbin/init.d/i4l_hardware start /sbin/init.d/i4l start isdnctrl dial ippp0 fi fi </verb></tscreen> Wählen Sie nun das script aus, je nachdem ob Sie einen internen oder einen externen TA haben. Legen Sie es z. B. in die Datei /bin/checkisdn. Vergessen Sie nicht das Script exekutierbar zu machen mit: <tscreen><verb> chmod a+x /bin/checkisdn </verb></tscreen> Um das script regelmäßig laufen zu lassen, wird folgende Zeile in die crontab eingefügt: <tscreen><verb> 0-59/3 * * * * root test -x /bin/checkisdn && /bin/checkisdn </verb></tscreen> Nun müssen Sie nur noch cron neu starten und schon wird alle 3 Minuten überprüft ob die Einwahl hängegeblieben ist. Wird länger als 10 Sekunden keine Verbindung zum Provider gefunden, wird die ISDN-Verbindung geschlossen und eine neue Einwahl gestartet. <sect>Internetdienste <label id="Internetdienste"> <sect1>sendmail <p> In <tt>/etc/sendmail.cf</tt> müssen folgende Zeile geändert werden: <tscreen><verb> # "Smart" relay host (may be null) DSemail.aon.at # class E: names that should be exposed as from this host, even if we masquerade # class L: names that should be delivered locally, even if we have a relay # class M: domains that should be converted to $M #CL root CL heimo.schoen # who I masquerade as (null for no masquerading) (see also $=M) DMaon.at </verb></tscreen> <sect1>fetchmail <p> Zusätzlich wird in der Datei <tt>/etc/fetchmail</tt> eingetragen, von welchen Servern Mails abgeholt werden sollen. Das könnte wie folgt aussehen: <tscreen><verb> poll pop.gmx.net proto pop3 user "uuuu" pass pppp is llll poll mailbox.aon.at proto pop3 user "aon.kkkk" pass pppp is llll </verb></tscreen> Für uuuu tragen Sie den Usernamen am jeweiligen pop-server ein. Für pppp das Paßwort zu uuuu. Für llll tragen sie den Usernamen ein, für den die Post am lokalen System zur Verfügung gestellt werden soll. Anstatt kkkk tragen Sie Ihre Provider Kundennummer ein (werden Sie zumeist in einem Kuvert erhalten). Damit nun regelmäßig Mails abgeholt werden habe ich in der Datei <tt>/etc/crontab</tt> folgende Zeile eingetragen: <tscreen><verb> 0-59/1 * * * * root /bin/mailnow </verb></tscreen> In der Datei /bin/mailnow ist folgender komplexe Inhalt ;-) <tscreen><verb> #! /bin/bash # fetch mails from isp /usr/bin/fetchmail -f /etc/fetchmail </verb></tscreen> Anm.: fetchmail findet man in der SUSE-Distribution in der Gruppe n unter pop <p> In der Datei <tt>/etc/inet.conf</tt> die Zeile in der popper gestartet wird, vom Kommentarzeichen befreien. Das -s kann auch entfernt werden. Ich habe einfach die Zeile kopiert, und ohne das -s und ohne Kommentarzeichen am Zeilenanfang, in einer neuen Zeile angefügt. Das sieht dann so aus: <tscreen><verb> # pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/popper -s pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/popper </verb></tscreen> Danach sollten Sie den inetd neu starten mit <tscreen><verb> /etc/rc.d/inetd restart </verb></tscreen> Nun sollten Sie von Ihren Clientmaschinen bereits Mails abholen können. <sect1>sendmail relaying <p> Es gibt zwei Möglichkeiten sendmail dazu zu bewegen als Relay für client Rechner zu fungieren. <p> In <tt>/etc/mail/access</tt> habe ich die folgende Zeile eingefügt: <tscreen><verb> 192.168.1 RELAY </verb></tscreen> Man muß danach die access.db neu erzeugen. Das macht man mit dem Kommando <tscreen><verb> makemap hash access < access </verb></tscreen> Die andere Methode ist in <tt>/etc/mail/relay-domains</tt> alle Maschinen eintragen, von denen aus gemailt werden soll. Die Datei /etc/mail/relay-domains könnte so aussehen: <tscreen><verb> ternitz1.ternitz ternitz1 192.168.1.1 </verb></tscreen> <sect1>wwwoffle <label id="wwwoffle"> <p> Zur Aktivierung von wwwoffle sollten Sie in rc.config die Environmentvariable START_WWWOFFLE auf yes setzen und die Variable START_SQUID auf no. <p> Nach dieser Arbeit müssen sie <tt>/etc/wwwoffle/wwwoffle.conf</tt> anpassen. Hier werden nur die zu ändernden Rubriken aufgezählt. Der Rest bleibt unverändert: <p> Zuerst den Proxyserver <tscreen><verb> Proxy { # http://* = none http://* = proxy.aon.at:8080 #### Example #### # Use www.foo.com as a default http proxy server on port 8080 # Except for the foo.com domain which has no proxy. # http://* = www.foo.com:8080 # *://foo.com = none } </verb></tscreen> Nun die zuständigen Hosts beim Provider. <tscreen><verb> LocalHost { # localhost 127.0.0.1 195.3.96.67 195.3.96.68 www.aon.at #### Example #### # The server is on www.foo.com, with IP address 11.22.33.44. # www.foo.com # 11.22.33.44 } </verb></tscreen> In der nachfolgenden Rubrik tragen Sie alle Ihre Maschinen ein die auf den wwwoffle Ihres Gateways zugreifen dürfen. Ich habe nachstehend folgende Maschinen freigegeben (schreibweise wie es auch in <tt>/etc/hosts</tt> stehen könnte): <itemize> <item> 192.168.1.1 example1.example example1 <item> 192.168.1.2 example2.example example2 </itemize> <tscreen><verb> AllowedConnectHosts { ternitz1.ternitz ternitz1 192.168.1.1 ternitz2.ternitz ternitz2 192.168.1.2 #### Example #### # Only allow connections from hosts in the foo.com domain. # *.foo.com } </verb></tscreen> Da es keinen etwas angeht "welche Applikation" hier surft, sollten Sie die nachfolgend gezeigte Zeile ändern. Braucht ja keiner zu wissen, daß hier ein wwwoffle die Seiten fetcht und in einem Hausnetz zur Verfügung stellt, denn so wie es bei mir, ist immer nur ein client aktiv und die ganze "übung" mit Linux und wwwoffle ist nur als Verlängerung der ISDN Leitung gedacht, da die Telekom mir das Kabel nicht bis ins Arbeitszimmer gelegt hat, sondern nur bis in den Keller. Also steht dort ein kleiner Rechner und wandelt ISDN auf TCP/IP um. <tscreen><verb> CensorHeader { ### Example ### # Don't send the username. # From = # Don't send Cookies back # Cookie = # Lie about the Browser type. # User-Agent = WWWOFFLE/2.4 User-Agent = Mozilla/faked } </verb></tscreen> Infomrationen zu wwwoffle finden Sie unter <htmlurl url="file:/usr/doc/packages/wwwoffle" name="/usr/doc/packages/wwwoffle">. <sect1>squid <p> Da in der ersten Version dieses HOWTOs beinahe ein "Glaubenskrieg" ausbrach, ob nun wwwoffle oder squid das bessere Tool ist, findet sich hier der Setup für squid. Ich gebe zu, daß ich um squid in dem HOWTO zu dokumentieren, squid auf meinem Gateway installiert habe und er dort heute noch läuft, was aber umso mehr beweist, daß es IMHO egal ist was ich verwende. Zur Aktivierung von squid sollten Sie in rc.config die Environmentvariable START_SQUID auf yes setzen und die Variable START_WWWOFFLE auf no. <p> Nach dieser Arbeit müssen sie <tt>/etc/squid.conf</tt> anpassen. Hier werden nur die zu ändernden Rubriken aufgezählt. Der Rest bleibt unverändert: <tscreen><verb> # TAG: cache_dir # Usage: # # cache_dir Directory-Name Mbytes Level-1 Level2 # # You can specify multiple cache_dir lines to spread the # cache among different disk partitions. # # 'Directory' is a top-level directory where cache swap # files will be stored. If you want to use an entire disk # for caching, then this can be the mount-point directory. # The directory must exist and be writable by the Squid # process. Squid will NOT create this directory for you. # # If no 'cache_dir' lines are specified, the following # default will be used: /var/squid/cache. # # 'Mbytes' is the amount of disk space (MB) to use under this # directory. The default is 100 MB. Change this to suit your # configuration. # # 'Level-1' is the number of first-level subdirectories which # will be created under the 'Directory'. The default is 16. # # 'Level-2' is the number of second-level subdirectories which # will be created under each first-level directory. The default # is 256. # cache_dir /var/squid/cache 400 16 256 </verb></tscreen> So könnten Ihr ACLs aussehen. Das ist nur ein Beispiel und entsprechend Ihren Bedürfnissen anzupassen. Vor allem localnet werden Sie entsprechend Ihren Netzwerkgegebenheiten anpassen müssen: <tscreen><verb> # ACCESS CONTROLS # ----------------------------------------------------------------------------- # TAG: acl # Defining an Access List # # acl aclname acltype string1 ... # acl aclname acltype "file" ... # # when using "file", the file should contain one item per line # # acltype is one of src dst srcdomain dstdomain url_pattern # urlpath_pattern time port proto method browser user # # By default, regular expressions are CASE-SENSITIVE. To make # them case-insensitive, use the -i option. # # acl aclname src ip-address/netmask ... (clients IP address) # acl aclname src addr1-addr2/netmask ... (range of addresses) # acl aclname dst ip-address/netmask ... (URL host's IP address) # acl aclname myip ip-address/netmask ... (local socket IP address) # # acl aclname srcdomain foo.com ... # reverse lookup, client IP # acl aclname dstdomain foo.com ... # Destination server from URL # acl aclname srcdom_regex [-i] xxx ... # regex matching client name # acl aclname dstdom_regex [-i] xxx ... # regex matching server # # For dstdomain and dstdom_regex a reverse lookup is tried if a IP # # based URL is used. The name "none" is used if the reverse lookup # # fails. # # acl aclname time [day-abbrevs] [h1:m1-h2:m2] # day-abbrevs: # S - Sunday # M - Monday # T - Tuesday # W - Wednesday # H - Thursday # F - Friday # A - Saturday # h1:m1 must be less than h2:m2 # acl aclname url_regex [-i] ^http:// ... # regex matching on whole URL # acl aclname urlpath_regex [-i] \.gif$ ... # regex matching on URL path # acl aclname port 80 70 21 ... # acl aclname port 0-1024 ... # ranges allowed # acl aclname proto HTTP FTP ... # acl aclname method GET POST ... # acl aclname browser [-i] regexp # # pattern match on User-Agent header # acl aclname ident username ... # # string match on ident output. # # use REQUIRED to accept any non-null ident. # acl aclname src_as number ... # acl aclname dst_as number ... # # Except for access control, AS numbers can be used for # # routing of requests to specific caches. Here's an # # example for routing all requests for AS#1241 and only # # those to mycache.mydomain.net: # # acl asexample dst_as 1241 # # cache_peer_access mycache.mydomain.net allow asexample # # cache_peer_access mycache_mydomain.net deny all # # acl aclname proxy_auth username ... # # list of valid usernames # # use REQUIRED to accept any valid username. # # # # NOTE: when a Proxy-Authentication header is sent but it is not # # needed during ACL checking the username is NOT logged # # in access.log. # # # # NOTE: proxy_auth requires a EXTERNAL authentication program # # to check username/password combinations (see # # authenticate_program). # # # # WARNING: proxy_auth can't be used in a transparent proxy. It # # collides with any authentication done by origin servers. It may # # seem like it works at first, but it doesn't. # # acl aclname snmp_community string ... # # A community string to limit access to your SNMP Agent # # Example: # # # # acl snmppublic snmp_community public # # acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1 acl localnet src 192.168.1.0/255.255.255.0 acl SSL_ports port 443 563 acl Safe_ports port 80 21 443 563 70 210 1025-65535 acl CONNECT method CONNECT </verb></tscreen> Jetzt wird es Zeit Die Zugriffsrechte einzuschränken. Zuerst erlauben wir den Zugriff von localhost und localnet (haben wir gerade die acl eingerichtet) und dann drehen wir alles andere wieder ab (die Originalzeile .. allow all .. bitte hinter Kommentar stellen - sonst steht Ihre Maschine ungeschützt in der weiten Welt): <tscreen><verb> # TAG: http_access # Allowing or Denying access based on defined access lists # # Access to the HTTP port: # http_access allow|deny [!]aclname ... # # Access to the ICP port: # icp_access allow|deny [!]aclname ... # # NOTE on default values: # # If there are no "access" lines present, the default is to allow # the request. # # If none of the "access" lines cause a match, the default is the # opposite of the last line in the list. If the last line was # deny, then the default is allow. Conversely, if the last line # is allow, the default will be deny. For these reasons, it is a # good idea to have an "deny all" or "allow all" entry at the end # of your access lists to avoid potential confusion. # #Default configuration: #http_access allow manager localhost #http_access deny manager #http_access deny !Safe_ports #http_access deny CONNECT !SSL_ports # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # http_access allow localhost http_access allow localnet http_access deny all # http_access allow all # TAG: icp_access # Reply to all ICP queries we receive # icp_access allow all # TAG: miss_access # Use to force your neighbors to use you as a sibling instead of # a parent. For example: # # acl localclients src 172.16.0.0/16 # miss_access allow localclients # miss_access deny !localclients # # This means that only your local clients are allowed to fetch # MISSES and all other clients can only fetch HITS. # # By default, allow all clients who passed the http_access rules # to fetch MISSES from us. miss_access allow all </verb></tscreen> Die wohl wichtigste Funktion ist wie bei wwwoffle das faken der Browserkennung <tscreen><verb> # TAG: fake_user_agent # If you filter the User-Agent header with 'anonymize_headers' it # may cause some Web servers to refuse your request. Use this to # fake one up. For example: # # fake_user_agent Nutscrape/1.0 (CP/M; 8-bit) # (credit to Paul Southworth pauls@etext.org for this one!) # fake_user_agent Gozilla/4711.0815 (CP/M; 11-bit; 59 MByte) </verb></tscreen> Mehr habe ich für meinen squid nicht geändert. Der Rest blieb hinter Kommentarzeichen. <sect1>leafnode <p> Als Newsserver habe ich leafnode gewählt. Hierzu sind folgende Schritte notwendig. <p> Zuerst sollten Sie das leafnode Konfigurationsfile wie folgt anpassen. Hier ist nur der Anfang des Files gezeigt. Der Rest des Files kann so bleiben. Sie sollten aber gelegentlich man leafnode verinnerlichen und die Parameter ihrem News-Verhalten entsprechend anpassen, sonst haben Sie entweder nie die News die sie gerade lesen wollen oder Ihre Harddisk quillt über, etc. <tscreen><verb> ## This is the NNTP server leafnode fetches its news from. ## You need read and post access to it. Mandatory. server = news.aon.at ## Unread discussion threads will be deleted after this many days if ## you don't define special expire times. Mandatory. expire = 400 timeout = 60 ## ## All the following parameters are optional ## ## I have free access to my news server. If you don't have, comment out ## the following two lines and change them accordingly. # username = #password = </verb></tscreen> Im obigen Listing-Ausschnitt der Datei <tt>/etc/leafnode/config</tt> ist wichtig, daß die Zeilen username und password hinter Kommentaren bleiben. Damit leafnode auch von anderen Servern fetcht habe ich folgende Zeilen eingefügt: <tscreen><verb> ## This is a news server which does not understand the ## "LIST NEWSGROUP news.group" command. For this reason, we don't try to ## download newsgroups descriptions when getting new newsgroups. This is ## achieved by putting "nodesc = 1" somewhere behind the server/supplement ## line. supplement = news.wu-wien.ac.at supplement = news.univie.ac.at supplement = newscache.infosys.tuwien.ac.at supplement = euklid.nt.tuwien.ac.at supplement = news2.informatik.uni-bremen.de # nodesc = 1 ## Here we have another news server which has a very slow connection. For ## that reason, we wait a full minute before we give up trying to connect. ## The default is 10 seconds. supplement = news.inode.at timeout = 60 </verb></tscreen> Zu guter Letzt noch die leafnode/config für den User news lesbar machen. Am Besten gleich mit: <tscreen><verb> chmod a+r /etc/leafnode/config </verb></tscreen> <sect1>bind <label id="bind"> <p> In <tt>/etc/named.conf</tt> wird folgender Block aktiviert: <tscreen><verb> options { .... forwarders { 195.3.96.67 195.3.96.68 # = die beiden DNS Server des Providers hier eintragen }; .... }; </verb></tscreen> In rc.config muß die Variable START_NAMED=yes gesetzt werden. <p> Dieses Kapitel stammt von <htmlurl url="mailto:leo_eibler@gmx.at" name="Leo Eibler <leo_eibler@gmx.at>">. <sect1>DNSmasq <label id="DNSmasq"> <p> DNSmasq ist eine sehr schlanke alternative zu bind mehr dazu findet man/frau auf <htmlurl url="http://www.thekelleys.org.uk/dnsmasq/doc.html" name="http://www.thekelleys.org.uk/dnsmasq/doc.html"> <p> Vorteile gegenueber bind: <itemize> <item>als caching only DNS is bind viel zu 'aufgeblaeht' und resourcen-fressend. <item>DNSmasq ist immun gegen 'bind exploits' <item>DNSmasq ist sehr einfach zu installieren <item>DNSmasq hat kein eigens config-file; es verwendet die eintraege aus <tt>/etc/resolv.conf</tt> und <tt>/etc/hosts</tt> </itemize> <p> Im Linux-WiKi gibt es eine schöne Beschreibung zu dnsmasq <htmlurl url="http://linuxwiki.de/dnsmasq" name="http://linuxwiki.de/dnsmasq"> <sect2>crontab <p> Um leafnode dazu zu bewegen regelmäßig news zu fetchen, sind folgende Zeilen in <tt>/etc/crontab</tt> einzufügen: <tscreen><verb> 34 2 * * * root test -x /usr/sbin/fetchnews && /usr/sbin/fetchnews -f 0-59/5 * * * * root test -x /usr/sbin/fetchnews && /usr/sbin/fetchnews -v -l </verb></tscreen> Das bewirkt daß alle 5 Minuten ein fetch -v -l durchgeführt wird der alle neuen Artikel fetcht aber nicht die supplementery server befragt und daß um 02:34 täglich ein fetch forced durchgeführt wird, der alle Inhaltsverzeichnisse neu lädt. Dieser Vorgang kann einige Stunden dauern und wurde daher auf 02:34 gelegt da um 02:30 ein fetchnews -f -l läuft der bis um 02:34 fertig sein sollte. <p> Wenn Sie zusätzlich noch die folgende Zeile einfügen, dann wird alle 60 Sekunden alles was in /var/spool/news/outgoing liegt gepostet. <tscreen><verb> 0-59/5 * * * * root test -x /usr/sbin/fetch && /usr/sbin/fetch -P -l </verb></tscreen> <sect2>inetd.conf <p> In der Datei <tt>/etc/inetd.conf</tt> habe ich vor der Zeile in der folgender Inhalt steht, das Kommentarzeichen entfernt: <tscreen><verb> nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/leafnode </verb></tscreen> <sect1>Date/time <p> Damit mein Rechner im richtige Uhrzeit hat, habe ich <tt>/etc/crontab</tt> folgende Zeile eingefügt. <tscreen><verb> 5 0-24/4 * * * root test -x /bin/datetimenow && /bin/datetimenow </verb></tscreen> Das Script /bin/datetimenow sieht bei mir folgendermaßen aus: <tscreen><verb> #! /bin/bash # time adjustement from some timeservers and write time to hardwareclock /usr/sbin/netdate elina.htlw16.ac.at \ ts1.univie.ac.at \ time.tu-graz.ac.at \ time.vbs.at \ ts2.univie.ac.at \ 2>&1 > /dev/null \ && \ /sbin/hwclock --systohc </verb></tscreen> Vorsicht beim Kopieren mit drag-n-drop: Nach dem Backslash dürfen keine Zeichen im Script stehen (auch keine Leerzeichen und Tabulatoren). <sect1>Anmerkung zur Systemsicherheit <p> Bei allen diesen Scripts die ich in diesem HOWTO beschrieben habe, wird hier am Beispiel des Scripts datetimenow, noch etwas für die Systemsicherheit getan. Es sollte mit <tscreen><verb> chmod a-rwx /bin/datetimenow </verb></tscreen> für alle User alle Rechte abdrehen und dann mit <tscreen><verb> chmod u+rwx /bin/datetimenow </verb></tscreen> nur dem User die Rechte zurückgeben <p> Außerdem macht es Sinn wenn Sie noch kontrollieren ob diese Files auch dem User Root und der Gruppe root gehören. <tscreen><verb> chown root.root /bin/datentimeow </verb></tscreen> <sect1>httpd <p> Versuchsweise hatte ich einmal einen httpd gestartet. Da es IMHO in den AGB meines Providers nicht verboten ist, aber in der Leistungsbeschreibung des Produkts auch nicht ausdrücklich erlaubt ist, habe ich den http-Server wieder abgeschaltet. Wenn Sie dies auch einmal ausprobieren wollen, dann ändern Sie folgende Zeilen in <tt>/etc/http/httpd.conf</tt>: <p> Zuerst alles was mit den Serverprozessen und Servereinstellungen zu tun hat. Doppelpunkte deuten an, daß dazwischen noch so manche andere, aber unveränderte Zeile vorkommt. Nach Möglichkeit steht hinter Kommentarzeichen oberhalb der geänderten Zeile, die Originalzeile wie Sie bei Ihnen zu Anfang noch sein könnte/sollte. <tscreen><verb> : MinSpareServers 5 MaxSpareServers 10 : StartServers 5 : MaxRequestsPerChild 30 : ServerAdmin heimo.schoen@gmx.at : #DocumentRoot "/usr/local/httpd/htdocs" DocumentRoot "/home/heimo/public_html" : <Directory /> # Options -FollowSymLinks Options FollowSymLinks AllowOverride None </Directory> : #<Directory "/usr/local/httpd/htdocs"> <Directory "/home/heimo/public_html"> : # Options Indexes -FollowSymLinks +Includes Options Indexes FollowSymLinks Includes ExecCGI : # AllowOverride None AllowOverride All : #<Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec # <Limit GET POST OPTIONS PROPFIND> # Order allow,deny # Allow from all # </Limit> # <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> # Order deny,allow # Deny from all # </Limit> #</Directory> <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch Includes ExecCGI <Limit GET POST OPTIONS PROPFIND> Order allow,deny Allow from all </Limit> <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> Order deny,allow Deny from all </Limit> </Directory> : #ServerSignature On ServerSignature EMail : #ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/" ScriptAlias /cgi-bin/ "/home/heimo/public_html/cgi-bin/" : #<Directory "/usr/local/httpd/cgi-bin"> # AllowOverride None # Options None # Order allow,deny # Allow from all #</Directory> <Directory "/home/heimo/public_html/cgi-bin/"> AllowOverride All Options All Order allow,deny Allow from all </Directory> <Directory "/usr/local/httpd/cgi-bin/"> AllowOverride None Options All Order allow,deny Allow from all </Directory> : #<Location /cgi-bin> #AllowOverride None <Location /cgi-bin/> AllowOverride All : #DocumentRoot "/usr/local/httpd/htdocs" #ServerName boole.suse.de #ServerAdmin root@boole.suse.de DocumentRoot /home/heimo/public_html ServerName pc104-1.ternitz ServerAdmin heimo.schoen@gmx.at : </verb></tscreen> Damit auch in .html Files eingebettete Skripts ausgeführt werden, sollte die letzte Zeile des nachstehenden Blocks eingefügt werden (die ersten beiden Zeilen gibt es schon im Original httpd.conf). <tscreen><verb> # # To use server-parsed HTML files # AddType text/html .shtml AddHandler server-parsed .shtml AddHandler server-parsed .html </verb></tscreen> <sect1>SMS <label id="sms"> <sect2>SMS-Routinen von http://idefix.htl-tex.ac.at <p> Dieses Kapitel soll zeigen welche Möglichkeiten die SMS Dienste der Handy-Provider bieten. Einerseits habe ich im File <tt>/etc/ppp/ip-up</tt> folgende Zeile eingefügt an der Stelle wenn die PPP-Verbindung hochgefahren wird: <tscreen><verb> # Ein SMS könnte ich mir auch noch schicken echo "ip-up on ppp0 $LOCALIP $USER" | mail -s "xxxx-" 436763163472@max.mail.at </verb></tscreen> Wobei xxxx- der PIN ist, den Sie als Antwort auf das erste SMS erhalten, daß Sie an ein maxmobil-Handy senden. Das Minus am Ende des PIN teilt dem max.mail.at mit, daß er keine Zustellungsquittung senden soll. <p> Ähnliche Zeilen können Sie auch in anderen Scripts einfügen. Z. B. in <tt>/etc/profile.local</tt> kann ein SMS Ihnen mitteilen, wenn sich jemand auf Ihrem Gateway einloggt. <p> Wie Sie ein Mail als SMS an Ihr Handy weiterleiten können wird in <htmlurl url="http://idefix.htl-tex.ac.at/atrox/smsforward/" name="SMS-forward unter Linux"> erklärt. <sect2>SMS-Routinen von Christian Eder <label id="sms2"> <p> Von <htmlurl url="mailto:Christian Eder <chris_eder@aon.at>" name="Christian Eder <chris_eder@aon.at>"> stammt der folgende Beitrag mit einigen Scripts zum Senden von SMS an One-Handies: <p> <htmlurl url="OneSMS.java" name="OneSMS.java"> ist ein Javaprogramm, dass eine SMS an ein One Handy schickt. Aufruf: java OneSMS [Onenummer ohne Vorwahl] [Nachricht]. Ich hab dieses Programm geschrieben, da die im vorigen Kapitel erwähnten SMS Skripts nicht mehr funktionieren (One hat den WebSMS Dienst etwas geändert). Prinzipiell müsste das Programm auch für A1 und Max funktionieren, wenn man den Wert der Variablen gsmnet entsprechend ändert. <p> <htmlurl url="newip.sh" name="newip.sh"> ist ein Skript, daß überprüft ob sich die IP-Addresse geändert hat und in diesem Fall die neue IP-Addresse als SMS ans Handy schickt. <p> <htmlurl url=".forward" name=".forward"> und <htmlurl url="handymail.sh" name="handymail.sh"> kann man verwenden, um beim Eintreffen einer neuen EMail Absender und das Subject als SMS aufs Handy zu bekommen. <sect>client setup <label id="client-setup"> <p> Dieses Kapitel ist zum Teil noch in Arbeit (Wenn Sie einen guten Beitrag haben, dann her damit). <sect1>ssh / VPN <p> Wenn Sie die ISDN Verbindung aufgesetzt haben, steht einer Verbindung Ihres PCs mit einem anderen PC im Internet nichts mehr im Weg. Wenn Sie Maschinen über das Internet verbinden, dann müssen Sie diese Maschinen gegen fremden Zugriff schützen. Hierzu wird ein VPN (virutell private network) aufgebaut. Wir bauen hier also ein privates Netzwerk über das Internet auf, wobei dieses so geschützt sein soll, daß niemand unsere Netzwerkdaten einsehen oder mitlesen kann. Dieses Kapitel soll die Schritte erklären die für ein einfaches aber effektives VPN notwendig sind. <p> Bevor Sie eine Verbindung über das Internet mit einem anderen Rechner aufbauen können, tauchen zwei Schwierigkeiten auf: <itemize> <item> Ihr Rechner hat alle paar Stunden eine andere IP-Adresse. <item> Ihr Rechner und der Rechner auf der anderen Seite sind mit Firewalls gegen Zugriffe von außen gesichert </itemize> Zum ersteren Punkt gibt es eine Randbedingung. Mindestens eine Maschine im VPN muß eine fixe IP-Adresse haben. Nur dann kann zwischen den VPN Teilnehmern über <tt>/etc/ppp/ip-up</tt> eine Verbindung wiederhergestellt werden, wenn der 8 Stunden timeout zugeschlagen hat. Der Aufbau der Verbindung wird mit ssh vorgenommen (s.u.) <p> Natürlich können zwei Partner mit wechselnder IP-Adresse auch ein VPN über einen dritten Rechner mit konstanter IP-Adresse aufbauen. Wichtig dabei ist immer nur, daß wenigstens ein Rechner immer die gleiche IP-Adresse hat. <p> Anm.: Es sollte auch zwischen zwei Usern mit wechselnder IP klappen, allerdings wird dann das Scripting etwas komplizierter. Man müßte sich z. B. die IP-Adresse beim Verbindungsaufbau gegenseitig mailen. Auch das wäre denkbar. Hier betrachten wir im Moment nur die Variante, daß ein VPN-Teilnehmer eine fixe IP (Chello User) hat. <p> Zuerst lösen wir den zweiten Punkt, die Aufweichung der Firewalls. Bei allen VPN Teilnehmern müssen am Beginn des Files ipchain.defaults, folgende Zeilen eingefügt werden: <tscreen><verb> -A input -s x.x.x.x/255.255.255.0 -d 0.0.0.0/0.0.0.0 -i ppp0 -p 6 -j ACCEPT </verb></tscreen> wobei für x.x.x.x die IP-Adresse des VPN-Teilnehmers mit der fixen IP-Adresse einzusetzen ist. <p> Zur Aktivierung einer ssh Verbindung sind folgende Schritte notwendig: <p> Wir verwenden die RSAAuthentication bei der nur keys verwendet werden. Wir generier einen private-key mit: <tscreen><verb> (user@home):[~] > ssh-keygen Generating p: ......++ (distance 92) Generating q: ............++ (distance 178) [...] Your public key has been saved in /home/user/.ssh/identity.pub </verb></tscreen> Es wird keine Passphrase für den key eingegeben. (Es wird zweimal mit ENTER quittiert). Allerdings ist der private Schlüssel ungeschützt, und es muß daher darauf geachtet werden, daß niemand außer Ihnen einen privilegierten Zugang auf diesen Rechner hat. Der private-key liegt nun im File ~/.ssh/identity und der zugehörige public-key liegt unter ~/.ssh/identity.pub. der private key ist unverschlüsselt. <p> Nun gehen Sie auf die Maschine, auf der Sie ohne Passwort einloggen wollen (z. b. als root@office), und erstellen dort die Datei ~/.ssh/authorized_keys. In diese Datei kommt nun der _public_ key ders user@home eingetragen. Beim pasten muß darauaf geachtet werden, daß der public key aus einer einzigen langen zeile besteht. <tscreen><verb> (root@office):[~] # vi .ssh/authorized_keys [ ... paste den inhalt von user@home:~/.ssh/identity.pub ...] 1024 33 168976988564775763....064089023 user@home </verb></tscreen> ! Damit wird festgelegt, daß jeder User der den private key des user@home vorweisen kann, über ssh als root@office einloggen darf, weil der private key beim Erstellen nicht mit einer passphrase geschützt wurde, deshalb muß man später bem Verbindungsaufbau keine mehr eingeben. <p> Der private key ist zu schützen. Wird er gestohlen, kann jeder als root@office einloggen, ohne nach einem weiteren Paßwort gefragt zu werden. <p> Nun wird die ssh Verbindung aufgebaut: <tscreen><verb> (user@homee):[~] > ssh -v -l root office [...] home: Trying RSA authentication with key 'user@home' home: Received RSA challenge from server. home: Sending response to host key RSA challenge. home: Remote: RSA authentication accepted. home: RSA authentication accepted by server. [...] (root@office):[~] # </verb></tscreen> In diesem Beispiel wurde gezeigt wie man root User z.B. bei einer Verbindung auf die Maschien office wird. Üblicherweise werden Sie ssh Verbindungnen nicht für den User root einrichten sondern mit Ihrem privaten Account von einer local-machine auf den selben privaten Account auf eine remote-machine gehen. <p> Sollten Sie auf der remote-machine den root account benützen wollen, dann muß die option "PermitRootLogin yes" in <tt>/etc/sshd_config</tt> aktiviert sein. <p> Um RSA-Authentication zum Laufen zu bringen muß in <tt>/etc/sshd_config</tt> die Option "RSAAuthentication yes" gesetzt sein. Diese Einstellung ist ein default . <p> Um die ssh Verbindung bei jeder Aktivierung der ppp Verbindung zu aktivieren, wird die Zeile <tscreen><verb> case "$INTERFACE" in ppp0) su - user -c "/usr/bin/ssh -v -l root office /bin/startppp" ;; esac </verb></tscreen> in der Datei <tt>/etc/ppp/ip-up</tt> eingefügt. Der beste Platz wird in am Ende folgender symbolisch angedeuteter Struktur sein: <tscreen><verb> : case "$INTERFACE" in ippp*) : ppp*) : case "$BASENAME" in ip-up) : </verb></tscreen> Das auf der Maschine office gestartete Script /bin/startppp startet eine ppp Verbindung über die ssh Verbindung. Dadurch könnnen dann alle gewohnten Dienste (rlogin, telnet, rcp, etc.) im VPN genutzt werden, ohne eine nennenswerte Verschlechterung der Sicherheit im VPN. <p> Alle Teilnehmer des VPN müssen sich aber dessen bewußt sein, daß wenn Sie selbst geknackt werden, alle anderen auch gegenüber dem Internet offen stehen. Es sollte daher mit Vorsicht und Sorgfalt gearbeitet werden. <p> Daher möchte ich an dieser Stelle nocheinmal auf <htmlurl url="http://www.home.pages.at/heaven/sec.htm" name="Sicherheit im Kabelnetzwerk"> und <htmlurl url="http://www.little-idiot.de/firewall/" name="Firewall HOWTO"> verweisen. <sect1>ICQ <label id="icq"> <p> Die Ideen zu disem Kapitel stammen von <htmlurl url="mailto:stsz@gmx.net" name="Szomraky Stefan<stsz@gmx.net>"> . Danke Stefan! <p> Für ICQ Setup sind folgende Arbeiten notwendig. (untested!!! Bitte schicken Sie mir Ihre Erfahrungen, wenn Sie nach diesem Kapitel ICQ aktiviert haben!) <p> Die empfohlenen Kernerleinstellungen sind : <tscreen><verb> Sektion Networking Options TCP/IP Networking: yes IP: Firewalling: yes IP: Always defragment: yes IP: transparent proxy support: yes IP: masquerading: yes IP: ICMP masquerading: yes IP: masquerading special modules support: yes IP: ipautofw masquerade support (Experimental): module IP: ipportfw masquerade support: module IP: ipmarkfw masquerade support: module </verb></tscreen> <p> ICQ-Client Einstellung "I'm behind a firewall or proxy" => "other Proxy" => use TCP Range: 20000-20020 am ersten Client, 20021-20040 am zweiten Client, usw. <p> Der Abstand kann auch auf 10 reduziert werden. (Auch wenn ICQ sich dann beklagt.) <p> Das Modul ip_masq_icq bekommt man von <htmlurl url="http://members.xoom.com/djsf/masq-icq/" name="http://members.xoom.com/djsf/masq-icq/"> Nach dem download muß man es noch compilieren, und zwar NACHDEM man den kernel neukompiliert hat. Auchtung das ICQ Module hat einen groben Fehler im Makefile! Man muß aus den beiden "§(shell egrep [...]" (Zeile 15 und 17) ein "S = §(shell egrep [...]" machen. (Der Tip stammt von <htmlurl url="mailto:Oliver.Bogen@gmx.at" name="Oliver Bogen <Oliver.Bogen@gmx.at>">) <p> Jetzt laden wir mal testweise das Modul ip_masq_icq <tscreen><verb> insmod ip_masq_icq range=20000,20020 </verb></tscreen> Das schaltet die Ports 20000-20020 für die Clients frei. Wenn man die Konfigration wie in Kapitel <ref id="pppd" name="pppd"> gemacht hat reicht das für einen Clienten. Für 2 Clienten macht man: <tscreen><verb> insmod ip_masq_icq range=20000,20040 </verb></tscreen> Also immer LOWRANGE,HIGHRANGE <p> Jetzt müßte ICQ auch funktionieren... <p> Man kann jetzt auch noch zusätzliche Module downloaden, in /lib/modules/`uname -r`/net/ kopieren und einfügen. <p> Wir wollen natürlich jetzt nicht jedesmal das ganze hier eintippen, deswegen schreiben wir mal das ganze in eine Datei, mit z.b den Namen enabicq die etwa so aussieht: <tscreen><verb> #!/bin/sh insmod ip_masq_icq range=20000,20020 </verb></tscreen> Dann machen wir das Script ausführbar und setzen die Permissions richtig: <tscreen><verb> chmod 700 enabicq </verb></tscreen> Wir verschieben das Script nach <tt>/etc/rc.d</tt> (was eigentlich ein Link auf <tt>/sbin/init.d</tt> ist) und machen folgendes: <tscreen><verb> cd rc2.d ln -s ../enabicq S31enabicq cd .. cd rc3.d ln -s ../enabmasq S31enabicq </verb></tscreen> So, jetzt wird nach dem Neustart das Script automatisch gestartet. <p> ip_masq_ftp wird im Kapitel <ref id="Masquerading" name="Linux als Internetgateway"> beschrieben. <p> <p> Weiterführende Anregungen zu Masquerading und auch zu ICQ finden Sie im <htmlurl url="http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html" name="Linux IP Masquerade HOWTO"> <sect1>hosts <p> Das Hostsfile muß zumindest auf den in diesem Dokument beschriebenen Gateway zeigen. Der Einfachheit halber nennt man den Gateway localhost. Bei mir hat der localhost die IP-Adresse 192.169.1.60 erhalten und wird daher wie folgt in <tt>/etc/hosts</tt> eingetragen: <tscreen><verb> 192.168.1.60 localhost </verb></tscreen> <sect1>route <p> Meine <tt>/etc/route.conf</tt> auf den clients hat nur zwei Zeilen und sieht wie folgt aus: <tscreen><verb> 192.168.1.0 0.0.0.0 255.255.255.0 eth0 default localhost </verb></tscreen> Die erste Zeile dient dazu, daß z. B. der Localhost 192.168.1.60 am Ethernetkabel gesucht wird. Die zweite Zeile führt alle anderen Adressen zum Gateway localhost, daß mit der ersten Zeile über eth0 gefunden werden kann. Das wars, mehr ist nicht notwendig. <sect1>Netscape <p> Proxyeinstellung wenn Sie wwwoffle verwenden, sollte nach localhost:8080 zeigen und bei squid auf localhost:3128 <sect>Homepage <label id="homepage"> <p> Dieses Kapitel ist eine kleine Anleitung wie Sie zu einer Homepage kommen. Dieses Kapitel beschreibt nicht wie Sie Homepage Inhalte erstellen, denn das würde dieses Howto sprengen, weil alleine schon die Bandbreite der Tools zur Erzeugung von HTML von vi/xemacs, bis frontpage ;-), usw. reicht. Ich persönlich bevorzuge nach wie vor den xemacs. Für dieses Howto editiere ich z. B. sgml-source, weil daraus jede Menge verschiedener Formate generiert werden können. Als Editor haben wir <htmlurl url="http://www.tksgml.de/" name="sgedit"> versucht, sind aber damit gescheitert, daher bleibt xemacs der Standard Editor :-))) <sect1>händischer HP upload <label id="homepage-upload"> <p> Dieser Vorgang ist etwas unglücklich gewählt von größten österreichischen Provider (vielleicht liest das ja mal einer und denkt darüber nach ;-) Man bekommt ein Kuvert indem schon nicht klar ist warum es dort eine Kundennummer und eine Teilnehmerkennung und dazu noch ein persönliches Kennwort gibt. Aber mit all diesen Dingen wird der <tscreen><verb> ftp members.aon.at </verb></tscreen> immer nur die Antwort <tscreen><verb> 530 Login incorrect. Login failed. </verb></tscreen> bringen. <p> Bei einem Besuch der Service-Seite meines Providers wird einem dann schön langsam klar, daß es da offenbar auch noch einen anderen Usernamen gibt. Er ist bei mir (nach welcher Regel auch immer) so ähnlich wie "hschon". <p> Es geht nur aus der Service-Seite wieder nicht klar hervor ob diese Kennung mit führender Tilde oder ohne Tilde anzugeben ist. Hier hat mir wieder eine Diskussion in der Newsgroup at.highway194 weitergeholfen. <p> Letztendlich ist mir der Login gelungen mit hschon (ohne Tilde) und dem Paßwort aus dem Kuvert. <p> <p> Also nun zum Ablauf. mit ftp members.aon.at und dem Usernamen von der Service-Seite, persönlich-Homepage und dem Paßwort aus dem Kuvert einloggen. Binary Mode auswählen und mit mput * alle Files raufladen. Das wars. <p> Mit Netscape ausprobieren ob es funktioniert hat. Bei mir wäre dann die Homepage erreichbar unter: <tscreen><verb> http://members.aon.at/~hschoen </verb></tscreen> Auf der Provider Service-Seite in der Rubrik persönliche Homepage kann man sich dann noch einen sprechenderen Namen einstellen. Bei mir lautet das zur Zeit: <tscreen><verb> http://members.aon.at/heimo.schoen </verb></tscreen> Um beim Upload nicht jedes Mal Username und Passwort eingeben zu müssen, können Sie sich eine Datei .netrc in Ihrem Homedirectory einrichten die wie folgt aussehen sollte: <tscreen><verb> machine members.aon.at login hschon password xxxxxxx </verb></tscreen> <htmlurl url="mailto:leo_eibler@gmx.at" name="Leo Eibler <leo_eibler@gmx.at>"> hat angemerkt, daß am File .netrc alle Gruppenrechte und Worldrechte abgedreht werden müssen. Und zwar Lesen,Schreiben und Execute Rechte müssen ausgeschaltet sein, ansonsten akzeptiert ftp das .netrc nicht und stellt die Arbeit (kommentarlos) ein. This Bug is a feature und soll davor schützen, daß Sie persönliche Daten im .netrc stehen haben, die dann der Rest der Welt oder der Gruppe lesen kann. (Danke Leo für den Tip). <p> Aus diesem Grund geben Sie ein: <tscreen><verb> chmod 600 .netrc </verb></tscreen> <p> In meinem HTML Directory liegen die Files der Homepage. Um diese möglichst einfach zu laden, hilft folgendes komplexe Script ~/html/upload <tscreen><verb> ftp -i members.aon.at </verb></tscreen> Nach start des upload scripts, sucht ftp nach der Datei ~/.netrc und führt selbständig den Login durch. Ohne Eingabe von Username und Paßwort gelange Sie bis zum ftp Prompt und können den uplaad z. B. mit <tscreen><verb> mput *.html </verb></tscreen> starten <sect1>Generierung und upload von index.html <label id="pushindex"> <p> Es wäre denkbar, daß Sie einen http-Server aktivieren wollen und einzelne Seiten von Ihrer Linux-Box aus, zur Verfügung stellen wollen. <p> In diesem Fall müssen Sie zuerst im File <tt>/etc/ppp/ip-up</tt> ein script z. B. push-index starten (für die hierfür notwendige Zeile siehe im Kapitel <ref id="ip-up" name="ip-up">). Das Script push-index könnte wie folgt aussehen. Das Script erwartet als Parameter die aktuelle IP-Adresse. <tscreen><verb> #! /bin/bash # push index.html to your homepage # # Copyright (C) 1999 Heimo Schön <heimo.schoen@telecom.at> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # do your Settings here: export rootdir=/tmp # where we can write tempfiles export ftpfile=index.html # file we want to generate on homepage # host-settings: export ftpserver=members.aon.at # name of your ftp-host export username=<username> # your ftp-username on host export password=<password> # your ftp-password on host # ----------------------------------------------------------------------------------- # the files we want to build here export targetfile=$rootdir/$ftpfile # ftp-files export tempnetrcfilename=$rootdir/.netrc-push-index export savenetrcfilename=~/.netrc-push-index-temp export netrcfilename=~/.netrc DATE=`date` UPTIME=`uptime` cat << EOF > $targetfile <HTML> <HEAD> <TITLE>Dipl.-HTL-Ing. Heimo Schön - Homepage</TITLE> <meta content="20;url=http://$1/welcome.html" http-equiv="refresh"> </HEAD> <BR> <BR> <BR> <CENTER><h2> Here you find the <A HREF="welcome.html">Homepage of Heimo Schön</A> </h2></CENTER> <BR> <BR> <CENTER><b><h2> You can reach the <A HREF="http://$1/welcome.html">$HOSTNAME</A>@home </h2></b> <BR> <BR> If you have Problems with the $HOSTNAME link, try to press the reload button on your browser. <BR> If this isn´t working too, then try to use link on top of this page. </CENTER> <BR> <BR> <CENTER> <map name="main1"> <area shape="rect" coords="0,0,87,86" href="mailto:heimo.schoen@gmx.at"> </map> <img width=50 height=50 src="mail.gif" usemap="#main1" ALT="Hier können Sie mich via Mail erreichen" </CENTER> <BR> <BR> generated on $HOSTNAME at $DATE ($OSTYPE)<BR> after uptime : $UPTIME<BR> <BR> © 2000 by Dipl.-HTL-Ing. Heimo SCHÖN </BODY> </HTML> EOF # das $targetfile wird für den nächsten Durchlauf mit Schreibrechten versehen chmod a+rw $targetfile # now we tell ftp what to do cp $netrcfilename $savenetrcfilename echo "machine $ftpserver login $username password $password" > $tempnetrcfilename echo "macdef init" >> $tempnetrcfilename echo "put $ftpfile" >> $tempnetrcfilename echo "quit" >> $tempnetrcfilename echo "" >> $tempnetrcfilename cp $tempnetrcfilename $netrcfilename chmod 600 $netrcfilename # und nun werfen wir ftp an cd $rootdir ftp -i members.aon.at # netrc in Ordnung bringen cp $savenetrcfilename $netrcfilename # und noch ein wenig aufräumen rm $savenetrcfilename rm $tempnetrcfilename rm $targetfile </verb></tscreen> Für <username> und <password> fügen Sie Ihre Daten entsprechend Kapitel <ref id="homepage-upload" name="Händischer HP upload"> ein. <p> ACHTUNG: Wenn Sie das obige Script mit drag-n-drop aus Ihrem Browser in ein File kopieren, dann achten Sie bitte darauf, daß in der Zeile in der EOF steht, keine führenden Blanks enthalten sind. <sect>Linux als Internetgateway <label id="Masquerading"> <p> <sect1>Einleitung <p> Dieses Kapitel stammt von <htmlurl url="mailto:roland@wertkarten.net" name="Roland Seuhs <roland@wertkarten.net>">. Vielen Dank an <htmlurl url="http://Roland.Seuhs.com" name="Roland"> für diesen Beitrag. <p> Anmerkung von Heimo Schön: Für AON-Kunden sei hier angemerkt, daß Sie Sie ein Gateway betreiben dürfen. IMHO finden sich in den <htmlurl url="http://www.aon.at/service/agb.html" name="AGB"> von AON keine Ausschließungsgründe für ein Gateway, aber sehr deutliche Worte spricht der Absatz 1 im Punkt 9 bezüglich Einzelplatznutzung. Kunden anderer Provider sollten Ihre AGB genau studieren bevor Sie ein Gateway installieren, denn auch Masquerading ist kein einwandfreier Schutz, denn anhand Ihres Surf-Verhaltens kann man schön nachvollziehen ob hier nur ein User oder mehrere verschiedene User surfen. <p> However, der Einsatz eines Gateways erhöht AFAIK auch die Sicherheit Ihres Internetzugangs. Die Sicherheit der Kunden könnte auch im Interesse des Providers sein, also nehme ich an, das ein Gateway, bei normaler Nutzung als Einzelplatzsystem, zumindest geduldet wird. (Danke <htmlurl url="mailto:georg.lippitsch@gmx.at" name="Georg Lippitsch <georg.lippitsch@gmx.at>"> für die anregende Diskussion dieser Anmerkung) <sect1>Was ist ein Gateway? <p> Ein Gateway ist im Prinzip nichts anderes als Netzwerkpakete von einen Netzwerk in ein anderes zu transportieren. Um auf zwei Netzwerke zugreifen zu können, muß ein Gatewayrechner zwei Geräte zu Verfügung haben um Netzwerke anzusprechen. Also zum Beispiel zwei Netzwerkkarten, oder eine Netzwerkkarte und ein Modem. Wenn beide Netzwerke auf dem Rechner bereits laufen und funktionieren, kann man den Gateway aufsetzen. Wenn Sie ein lokales Netzwerk haben und ein Rechner in diesen Netz verfügt über einen Internetanschluß, so können Sie dann mit allen anderen Rechnern im Netz ebenfalls auf das Internet zugreifen, wenn Sie diesen Rechner als sogenannten Gatewayrechner betreiben. Da die Lizenzgebühren für Windows NT als Gateway sehr teuer sind, bietet sich Linux für diesen Zweck geradezu an. <p> Nun stellt sich folgendes Problem: Die lokalen Netzwerkadressen (z.B. 192.168.x.x) werden nicht ins Internet geroutet. - Logischerweise, denn diese Adressen müssen offiziell nicht angemeldet werden und sind für lokale Netzwerke reserviert. Man hätte tausende gleiche IP Adressen wenn diese ins Internet geroutet werden. Die Lösung ist IP Maskierung. Bei diesem Verfahren werden die Pakete mit der IP Adresse des Gateways weitergeschickt. Um bei den vom Internet zurückgeschickten Paketen unterscheiden zu können welches Paket zu welchen Computer weitergeleitet werden soll, werden den Rechnern verschiedene Ports zugeordnet. (Die Antworten aus dem Internet gehen dann an diese Ports und werden dann vom Gateway an die jeweiligen Rechner weitergeleitet) Der Rechner, der die Pakete schickt, merkt nicht, daß der Gatewayrechner die Pakete an andere weiterleitet. Es werden Pakete an die selbe IP Adresse, aber an verschiedene Ports geschickt. - Aber das kann durchaus auch beim »normalen« Betrieb passieren; So benutzen z.B. Telnet, ftp und http verschiedene Ports. <sect1>Voraussetzungen <p> Um IP Maskierung einzurichten, muß man (neben einen Internetzugang und einen lokalen Netz) unter Umständen den Kernel neu konfigurieren. - Bei modernen Distributionen (z.B. SuSE 6.3 ist das jedoch nicht erforderlich) Probieren Sie es einfach aus; Falls sich die Module nicht laden lassen, müssen sich folgende Optionen bei der Neukompilation anwählen: <tscreen><verb> * Prompt for development and/or incomplete code/drivers CONFIG_EXPERIMENTAL - this will allow you to select experimental IP Masquerade code compiled into the kernel * Enable loadable module support CONFIG_MODULES - allows you to load ipmasq modules such as ip_masq_ftp.o * Networking support CONFIG_NET * Network firewalls CONFIG_FIREWALL * TCP/IP networking CONFIG_INET * IP: forwarding/gatewaying CONFIG_IP_FORWARD * IP: firewalling CONFIG_IP_FIREWALL * IP: masquerading CONFIG_IP_MASQUERADE * IP: ipportfw masq support CONFIG_IP_MASQUERADE_IPPORTFW - recommended * IP: ipautofw masquerade support CONFIG_IP_MASQUERADE_IPAUTOFW - optional * IP: ICMP masquerading CONFIG_IP_MASQUERADE_ICMP - support for masquerading ICMP packets, recommended. * IP: always defragment CONFIG_IP_ALWAYS_DEFRAG - highly recommended * Dummy net driver support CONFIG_DUMMY - recommended * IP: ip fwmark masq-forwarding support CONFIG_IP_MASQUERADE_MFW - optional </verb></tscreen> Falls diese Optionen in Ihren Kernel nicht vorhanden sind, kompilieren Sie einen neuen Kernel. Bevor Sie den Computer neu starten, fügen Sie folgende Zeilen in ein geeignetes (soll beim booten ausgeführt werden; z.B. <tt>/sbin/init.d/boot.local</tt> für SuSE, Sie können aber auch das Netzwerk Start Skript nehmen) Skript ein. Schalten Sie außerdem noch IP-forwarding ein: Unter SuSE setzen Sie die Variable <tscreen><verb> "IP_FORWARD" in /etc/rc.config auf »yes« setzen </verb></tscreen> Unter RedHat wird es folgendermaßen eingeschalten: <tscreen><verb> echo 1 > /proc/sys/net/ipv4/ip_forward </verb></tscreen> Sie sollten das aber auch unter SuSE machen, weil viele Programme diese Datei überprüfen. <p> Wenn Ihr Kernel nun geeignet ist um IP-Maskierung zu betreiben, dann geben Sie folgendes ein und achten Sie auf Fehlermeldungen: <tscreen><verb> # IP Maskierung: ############################ # Module laden: /sbin/depmod -a /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_raudio /sbin/modprobe ip_masq_irc /sbin/modprobe ip_masq_cuseeme /sbin/modprobe ip_masq_vdolive # Forwarden einschalten (nur einmal notwendig: #echo 1 > /proc/sys/net/ipv4/ip_forward # Einstellungen machen: ipchains -P forward DENY ipchains -A forward -s 192.168.x.0/255.255.255.0 -j MASQ </verb></tscreen> Die letzte Zeile erlaubt dem Netz 192.168.x.0 IP-Maskierung zu benutzen. Wenn alles klappt, dann tragen sie obiges in <tt>/sbin/init.d/boot.local</tt> (bei SuSE) oder in ein anderes geeignetes Skript ein. <sect1>Erklärung <p> Zuerst werden die benötigten Kernelmodule geladen. Dann werden die Einstellungen zur Sicherheit gesetzt: <tscreen><verb> ipchains -P forward DENY </verb></tscreen> Diese Zeile bestimmt, daß die Standardeinstellung für alle Rechte die Verweigerung der IP Maskierung ist. Andernfalls könnte jemand seine Identität verschleiern indem er Pakete durch Ihr Gateway schickt. (Ist zwar für einen Wählleitungszugang unwahrscheinlich, aber die Konsequenzen können sehr ärgerlich sein, wenn jemand Illegales über Ihr Gateway gemacht hat.) Prinzipiell sollte man nur das nötigste erlauben, also erlauben wir IP Maskierung nur für unser lokales Netz mit <tscreen><verb> ipchains -A forward -s <Netzwerk>/<Netzmaske> -j MASQ </verb></tscreen> Selbstverständlich können Sie IP-Maskierung auch nur für einzelne Rechner zulassen: <tscreen><verb> ipchains -A forward -s <Rechner>/<Netzmaske> -j MASQ </verb></tscreen> Bedenken Sie aber, daß jemand, der auf einen von den Rechnern über das Netz einloggen kann, trotzdem die IP Maskierung benutzen kann. Wenn Sie die IP-Maskierung ausprobieren, versuchen Sie zuerst einmal IP Nummern anstatt normaler Namen; Vielleicht stimmt Ihre Nameservereinstellung nicht. <sect1>Masquerading Clients <p> Dieses Kapitel beschreibt die Einrichtung der Maschinen, die über das Netz IP-Maskierung nutzen wollen: (Clients) <p> SuSE-User mit YaST: <tscreen><verb> -> Administration des Systems -> Netzwerk konfigurieren -> Netzwerk Grundkonfiguration -> F6 (IP-Adressen) bei dem entsprechenden Netz drücken -> Adresse default-Gateway eintragen: (=Adresse des Servers) /usr/sbin/rcroute restart </verb></tscreen> <sect1>Allgemeines <p> Den Eintrag <tscreen><verb> default <IP-Adresse des Servers> </verb></tscreen> in <tt>/etc/route.conf</tt> eintragen und Routing neu starten mit <tscreen><verb> /sbin/init.d/route restart </verb></tscreen> Weiterführende Anregungen zu Masquerading und auch zu ICQ finden Sie im <htmlurl url="http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html" name="Linux IP Masquerade HOWTO"> <p> Masquerading und Microsoft Netmeeting finden Sie <htmlurl url="http://www.tsmservices.com/masq/detailform.php3?132" name="hier"> <sect>dynamische DNS Anbieter <label id="dyndns"> <p> Dieses Kapitel soll zeigen, wie man trotz er ständig wechselnden IP-Adresse trotzdem einen Server aufbauen könnte. <p> Ich habe zwei Varianten probiert und beide funkionieren im Moment problemlos. Es bleibt Ihnen überlassen welchen Weg Sie wählen. Manche militante LINUX-Anhänger werden wahrscheinlich bsdonline.org vermeiden und sollten dann dyndns.org wählen. Anfängern würde ich bsdonline.org empfehlen, da mir das Handling einfacher vorgekommen ist. <sect1>dyndns.org <p> Zuerst habe ich mir bei <htmlurl url="http://dyndns.org/" name="http://dyndns.org"> einen Account besorgt. Ich habe dort den Namen <htmlurl url="http://heimo.dyndns.org/" name="heimo.dyndns.org"> eingerichtet. Bei dyndns.org gab es folgendes Script <htmlurl url="ddclient" name="ddclient"> zum kostenlosen download. Dieses Script starte ich in ip-up mit folgendem Kommando: <tscreen><verb> su - heimo -c "/bin/ddclient -host heimo.dyndns.org -ip $LOCALIP" </verb></tscreen> Die Userdaten für das script ddclient hinterlegen Sie im Script <tt>/etc/ddclient.conf</tt> : <tscreen><verb> # Host login password karli.dyndns.org karli karlispassword anotherhost.dyndns.org dyndns_login dyndns_password </verb></tscreen> Das Script ddclient legt dann ein Cachefile <tt>/etc/ddclient.cache</tt> an, indem dann inetwa soetwas stehen wird: <tscreen><verb> ## last updated at Thu Aug 24 19:30:50 2000 (967138250) heimo.dyndns.org 62.46.17.33 none none none 967138250 </verb></tscreen> <htmlurl url="mailto:Stefan Huber <schweinsaug@crosswinds.net>" name="Stefan Huber <schweinsaug@crosswinds.net>"> gibt uns folgenden Tip, was die Rechte an den beiden Files <tt>/etc/ddclient.conf</tt> und <tt>/etc/ddclient.cache</tt> anlangt: <p> Es gibt ein kleines Problem, wenn man ddclient nicht als root startet bzw. ohne weitere Parameter. Starte ich ddclient als user, und sage ich ihm nicht, wo ddclient.cache liegt, kanns haarig werden. Das script nimmt dann an, sie sei <tt>/etc/ddclient.cache</tt> . <p> In dieser Datei behält sich ddclient die letzte IP-Adresse, die es zum Server geschickt hat. Schickt man nämlich zu oft dieselbe IP-ADresse (ADSL User hergehört), wertet dyndns dieses verständlicherweise als Mißbrauch und sperrt den account (ist passiert mit einem account eines Studienkollegen, nach langer Korrespondenz mit dyndns hat er ihn wieder gekriegt). Nachdem ein normaler User in der Regel keine Schreibrechte im Directory <tt>/etc</tt> hat, kommt dieses file nie zustande. <p> Abhilfe: <tscreen><verb> touch /etc/ddclient.cache chown <username>:<egal_welche_gruppe> /etc/ddclient.cache chmod 0700 /etc/ddclient.cache </verb></tscreen> Wobei <username> der sein muß, als der man ddclient startet. <p> Alternative: <tscreen><verb> su - <username> -c "<pfad_zu_ddclient>/ddclient -host <accountname> -ip $LOCALIP -cache <voller_pfad_und_name_des_cachefiles>" </verb></tscreen> wobei <voller_pfad_und_name_des_cachefiles> beschreibbar sein muß vom user <username>. <p> An dieser Stelle nochmals besten Dank an <htmlurl url="mailto:Stefan Huber <schweinsaug@crosswinds.net>" name="Stefan Huber <schweinsaug@crosswinds.net>"> für den hilfreichen Beitrag. <sect1>Eine dyndns.org - Variante <label id="dyndns-variante"> <p> Das ddclient-script hat bei <htmlurl url="http://www.cso.net/~cpohanka/" name="Ing.Christian Pohanka"> <htmlurl url="mailto:<cpw@aon.at>" name="<cpw@aon.at>"> nicht funktioniert. Christian hat daher den dyndns-update folgendermaßen gelöst: <p> Das Paket ddns-2.4.0-beta.tar.gz geladen und nach Readme vorgegangen... <p> Eine Configurationsdatei <tt>/etc/ddns.conf</tt> erstellt (darf keine Weltleserechte haben). <tscreen><verb> # Set up /etc/ddns.conf for your dyndns account, like: # members.dyndns.org:http:account:password:hostname.dyndns.org # Substitute your account, password, and hostname. members.dyndns.org:http:account:password:hostname.dyndns.org </verb></tscreen> Und diese Zeile in ppp-up eingefügt: <tscreen><verb> /usr/local/sbin/ddns --modify --address=$LOCALIP </verb></tscreen> Das paket hat Christian mit "make" und "make-install" installiert <p> Alles weitere wurde installiert wie in den übrigen Kapiteln beschrieben.. <sect1>bsdonline.org <p> Auch <htmlurl url="http://bsdonline.org/" name="http://bsdonline.org"> bietet dynamische IP Auflösung an. Anmelden und einrichten funktioniert ähnlich wie bei dyndns.org, aber IMHO bei bsdonline übersichtlicher und einfacher. Ich habe mir dort die Adresse <htmlurl url="http://heimo.bsdonline.org/" name="heimo.bsdonline.org"> eingerichtet. Auf der Seite <htmlurl url="http://bsdonline.org/update.php3" name="http://bsdonline.org/update.php3"> kann man dann per Hand die eigene IP-Adresse ändern. <p> Da man auch bei bsdonline.org das nicht händisch machen will, fügt man eine weitere Zeile in ip-up ein: <tscreen><verb> # Dieses kleine lynx-script sollte heimo.bsdonline.org uptodate halten. # (The Logfile is /tmp/push-bsd.log for more Info!) /bin/push-bsd-heimo </verb></tscreen> Das Script push-bsd-heimo sieht wie folgt aus: <tscreen><verb> #!/bin/sh # USERNAME="heimo" # insert your username/hostname here PASSWORD="<password>" # insert your password here SERVICE="host" # service type, host, ns or wild MX="" # mxhost MXTYPE="" # alt or sec INTERFACE="ppp0" # what interface is your network connection on? IPADDRESS=`ifconfig $INTERFACE | grep inet | cut -d ' ' -f 12 | cut -d ':' -f 2` HOSTREDIR=http://$IPADDRESS/welcome.html # the URL should look like... UPDATE="http://bsdonline.org/update.php3?userid=$USERNAME&ero;pass=$PASSWORD&ero;ip=$IPADDRESS&ero;hostredir=$HOSTREDIR&ero;service=$SERVICE&ero;mx=$MX&ero;mxtype=$MXTYPE" # write to logfile echo "-----------------------------" >> /tmp/push-bsd.log echo `date` >> /tmp/push-bsd.log echo $UPDATE >> /tmp/push-bsd.log # dump it to lynx! lynx -dump $UPDATE >> /home/heimo/push-bsd.log </verb></tscreen> In diesem Script tragen Sie im Feld <password> das Password ein, das Sie von bsdonline per Mail bei der Anmeldung erhalten haben. Das Script besorgt sich via ifconfig die aktuelle IP-Adresse und aktualisiert den dyn-DNS Eintrag bei bsdonline.org. <sect1>Links zu einigen dynamic-DNS Anbietern <p> Hier finden Sie eine kleine Sammlung von dynamic IP Anbietern. Alle bieten die Möglichkeit eine wechselnde IP Adresse auf einen gleichbleibenden Namen umzusetzen. Diese Dienste sind dür den privaten Bereich kostenlos und unterscheiden sich im Wesentlichen nur durch die Methode mit der man die neue IP-Adresse aus dem ip-up script heraus aktualisiert und wie letztendlich Ihr Name lautet. Zum Beispiel sollte mein Linux-Server bei www.dyndns.org über <htmlurl url="http://heimo.dyndns.org/" name="http://heimo.dyndns.org/"> erreichbar sein. Wenn sich Ihre IP-Adresse ändert und das ip-up Script den Update der IP-Adresse durchführt, dauert es einige Minuten bis andere Nameserver auch diese Änderung erfahren. Es kann daher durchaus vorkommen, daß andere User im Internet in Ihrem nächstgelegenen Nameserver-Cache noch die Kombination "ihre-homepage"-"alte-IP" liegen haben und erst nach Drücken des Reload Button wieder Ihre Seiten lesen können. Ärgern Sie sich nicht darüber, das ist nämlich der Grund warum viele Provider die IP-Adresse ständig wechseln lassen, um nämlich den Betrieb eines Servers möglichst zu erschweren. Dynamic DNS ist daher für Profis eher nicht geeignet, ist aber für Private Anwendungen eine "nette Spielerei". <p> Hier nun die Links zu einer kleinen Auswahl von dynamic-DNS Anbietern: <itemize> <item><htmlurl url="http://www.dyndns.org/" name="Dynamic DNS Network Services"> <item><htmlurl url="http://www.cjb.net/" name="Free URL Redirection"> <item><htmlurl url="http://bsdonline.org/" name="dynamic DNS"> <item><htmlurl url="http://www.dynip.com/" name="www.dynip.com"> <item><htmlurl url="http://www.myip.org/dd/" name="http://www.myip.org/dd/"> <item><htmlurl url="http://www.yi.org/" name="http://www.yi.org/"> </itemize> <sect>USV - Unterbrechungsfreie Stromversorgung <label id="ups"> <p> <sect1>Vorwort <label id="ups-vorwort"> <p> Ein Gateway das Ihre Internetverbindungen hält, Ihre Mails buffert, Ihren Newsserver hostet und viele andere mehr oder weniger wichtige Dinge für Sie erledigt, sollte vor den Auswirkungen eines Stromausfalls geschützt werden. <p> Nun setze ich für mein Gateway (siehe auch Kapitel <ref id="eingesetzteHardware" name="eingesetzte Hardware">) einen stromsparenden PC/104 SBC (single board computer) ein, der inklusive Stromversorgung, Zyxel Modem und NT eine Stromaufnahme von ca. 10 Watt (gemessen auf der 220 V Seite) hat. <p> Ich habe daher nach einer sehr kleine und vorallem billigen USV gesucht, die wenn möglich auch von Linux unterstützt wird. Ein kurzes Einlesen in das <htmlurl url="http://www.linuxdoc.org/HOWTO/UPS-HOWTO.html" name="Linux UPS-HOWTO"> fand ich schnell heraus, daß der Linux Support von USVs mehrfach gelöst wurde und sehr einfache Wege existieren die USV zu überwachen. <p> Also suchte ich nach einer möglichst schwachen USV (ich muß ja nur 10 Watt am Leben erhalten), die auch eine Schnittstelle zur Überwachung besitzt. Die Wahl viel dann auf die BESTPOWER PATRIOT 250. Dieses Teil kostete ca. 1.500,- ATS und lag mit seinen ca. 170 Watt Ausgangsleistung weit über meinen Bedürfnissen. <p> Die technischen Daten weisen darauf hin, daß bei Halblast (ca. 80 Watt) der Akku ca. 14 Minuten überbrücken kann. Das heißt, daß bei meinen 10 Watt die USV auch längere Gewitter im Sommer überbrücken sollte. Zu klären war nun nur noch wie man die USV von Linux aus überwachen kann. Das möchte ich hier dokumentieren. <sect1>Treiber <label id="ups-treiber"> <p> Die Treiber für die PATRIOT USVs bekommt man bei <htmlurl url="http://www.bestpower.com" name="www.bestpower.com"> : <htmlurl url="http://216.48.12.200/software/checkups/software/checkups/unix/v3_25/checkups.tar" name="checkups.tar"> <p> Kopieren Sie das tarfile in ein Directory Ihrer Wahl und packen Sie es aus mit: <tscreen><verb> tar xvf checkups.tar </verb></tscreen> Starten Sie nun das Script: <tscreen><verb> ./unixinst </verb></tscreen> und wählen Sie b für basic Installation und danach l für Linux. Nach wenigen Sekunden ist checkups im Directory <tt>/etc/best/checkups</tt> installiert. <p> Im File checkups.c habe ich die Zeile 174 geändert von <tscreen><verb> #define D(x) </verb></tscreen> in <tscreen><verb> #define D(x) usleep(10000); </verb></tscreen> damit bei jedem Debugoutput ein bischen gewartet wird. Es scheint mit dem Timing des Programms ein kleines Problem zu geben. Es wird die Steuerleitung eingeschaltet und aufgrund der pullup Widerstände dürfte einige Zeit vergehen bis der Pegel eingelesen werden kann. Diese Zeit lasse ich mit dem usleep bewußt vergehen. Schön ist das nicht - aber es funktioniert :-(( <p> Danach checkups mit make compilieren. Wenn Sie bei den ersten Gehversuchen Debug-Output von checkups sehen wollen, dann können Sie in Zeile 171 folgendes einfügen <tscreen><verb> #define DEBUG 1 </verb></tscreen> das können Sie nachher dann auch wieder wie folgt abschalten: <tscreen><verb> //#define DEBUG 1 </verb></tscreen> <sect1>startup <label id="ups-startup"> <p> Das Startupscript <tt>/sbin/init.d/ups</tt> für die Patriot Überwachung sieht bei mir wie folgt aus: <tscreen><verb> #! /bin/sh # # Original template: # Copyright (c) 1995-1998 SuSE GmbH Nuernberg, Germany. # # CheckUPS-Startup: # Copyright (c) 2000 Heimo Schön - heimo.schoen@gmx.at # # Author: Heimo Schön # Date : 5. Okt. 2000 # # /sbin/init.d/ups # # and symbolic its link # # /sbin/rcups # . /etc/rc.config # Determine the base and follow a runlevel link name. base=${0##*/} link=${base#*[SK][0-9][0-9]} # Force execution if not called by a runlevel directory. test $link = $base && START_FOO=yes #test "$START_FOO" = yes || exit 0 # The echo return value for success (defined in /etc/rc.config). return=$rc_done case "$1" in start) echo -n "Starting service checkups" ## Start daemon with startproc(8). If this fails ## the echo return value is set appropriate. killall -q checkups # /etc/best/checkups/checkups -s1 -c20 -p5 -i5 -x1000 -o /dev/ttyS1 || return=$rc_failed /etc/best/checkups/checkups -s1 -c20 -p5 -i5 -x1000 -o /dev/ttyS1 echo -e "$return" ;; stop) echo -n "Shutting down service checkups" ## Stop daemon with killproc(8) and if this fails ## set echo the echo return value. killall -q checkups echo -e "$return" ;; restart) ## If first returns OK call the second, if first or ## second command fails, set echo return value. ##$0 stop && $0 start || return=$rc_failed $0 start || return=$rc_failed ;; reload) ## Choose ONE of the following two cases: ## First possibility: A few services accepts a signal ## to reread the (changed) configuration. #echo -n "Reload service foo" #killproc -HUP /usr/sbin/foo || return=$rc_failed #echo -e "$return" ## Exclusive possibility: Some services must be stopped ## and started to force a new load of the configuration. ##$0 stop && $0 start || return=$rc_failed $0 start || return=$rc_failed ;; status) echo -n "Checking for service checkups: *not implemented*" ## Check status with checkproc(8), if process is running ## checkproc will return with exit status 0. #checkproc /usr/sbin/foo && echo OK || echo No process ;; probe) echo -n "Probeing for service checkups: *not implemented*" ## Optional: Probe for the necessity of a reload, ## give out the argument which is required for a reload. #test /etc/foo.conf -nt /var/run/foo.pid && echo reload ;; *) echo "Usage: $0 {start|stop|status|restart|reload[|probe]}" exit 1 ;; esac # Inform the caller not only verbosely and set an exit status. test "$return" = "$rc_done" || exit 1 exit 0 </verb></tscreen> Damit checkups auch wirklich beim Boot gestartet wird, müssen Sie in <tt>/sbin/init.d/rc/rc2.d</tt> und <tt>/sbin/init.d/rc/rc3.d</tt> noch folgende Links erzeugen: <tscreen><verb> ln -s ../ups S98ups ln -s ../ups K98ups </verb></tscreen> Anmerkung: Vergessen Sie nicht das : chmod a+x ups <p> <p> checkups wird mit folgenden Parametern gestartet: <p> <tscreen><verb> /etc/best/checkups/checkups -s1 -c20 -p5 -i5 -x1000 -o /dev/ttyS1 -s1 .......... Startupdelay 1 Second -c20 ......... shutdown der Maschine 20 Minuten nach Stromausfall -p5 .......... polling (Abfrage der seriellen Schnittstelle) alle 5 Sekunden -i5 .......... Warnung senden alle 5 Sekunden -x1000 ....... bis zu 1000 Zeilen im Logfile aufzeichnen -o ........... Abschalten der USV nachdem der Rechner gestoppt wurde /dev/ttyS1 ... Device an dem Sie die USV angeschlossen haben (hier COM2 = /dev/ttyS1) </verb></tscreen> Folgende Files werden von checkups verwendet: <tscreen><verb> /etc/best/checkups/checkups ..... die Applikation selbst /etc/best/checkups/upsdown ...... dieses Script wird gestartet um den shutdown auszuführen /etc/best/checkups/upsmsg ....... dieses Script wird zur Ausgabe von Meldungen gestartet /etc/best/checkups/ups_log.txt .. Logfile </verb></tscreen> <sect1>Kabel <label id="ups-kabel"> <p> Mit einer Auskreuzbox mit LEDs und einem Voltmeter bewaffnet habe ich begonnen heruaszufinden was checkups an der seriellen Schnittstelle "so treibt". <p> Dabei habe ich herausgefunden, daß manchmal Daten gesendet werden und manchmal Pegel "aufblitzen". Anhand dieser Informationen und der im Patriot Handbuch beschriebenen Belegung des 9 poligen Steckers auf der Rückseite der USV, ergab sich folgende <htmlurl url="ups.jpg" name="Pinbelegung"> </article> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-exposed-tags:nil sgml-local-catalogs:("/usr/lib/sgml-tools/dtd/catalog") sgml-local-ecat-files:nil End: -->