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.
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.
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.
Das Dokument darf gemäß der 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: Bernhard Roessmann <roessmann@gmx.net> Roland Seuhs <roland@wertkarten.net> August Hörandl <august.hoerandl@gmx.at> Heimo Schön <heimo.schoen@gmx.at>
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.
Sie sollten eine Kopie der 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.
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.
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.
Dieses Dokument soll einen kleinen Leitfaden bieten, wenn Sie Ihren Linux Rechner den Internetzugang mit ADSL-, ISDN- oder Kabel-Zugang mit dem Netz-der-Netze verbinden wollen.
Wenn Sie Ideen oder Anregungen zu diesem HOWTO haben, dann fühlen Sie sich frei sich bei mir zu melden.
Ich bin dankbar für alle Korrekturen und Anregungen. Wenn Sie spezielle Problemlösungen benötigen, dann muß ich Sie auf das Kapitel Probleme mit ADSL und deren Lösung und das Kapitel Support hinweisen. Individuelle Hilfe erhalten Sie (unter Beachtung der Nettikette) in der Newsgroup at.linux.
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 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.
Dieses HOWTO entstand aus Anregungen von Kollegen und Bekannten (siehe auch Kapitel 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ß.
Wir (die Autoren) wünsche Ihnen noch viel Erfolg bei der Installation und dann noch viel Spaß mit Ihrem ISDN, ADSL oder Kabel Internetzugang mit dem erfolgreichsten Internet-Betriebssystem Linux.
Das Kapitel ADSL wurde von Bernhard Roessmann<roessmann@gmx.net> erarbeitet.
Das Kapitel Linux als Internetgateway wurde von Roland Seuhs <roland@wertkarten.net>! zur Verfügung gestellt und soll dem Leser das IP-Masquerding näherbringen. Hier finden Sie die Homepage von Roland Seuhs
Szomraky Stefan<stsz@gmx.net> hat das Kapitel ICQ erstellt.
Internet über Kabel (Chello/Telekabel) stammt von Stefan Szomraky <stsz@gmx.net> und August Hörandl <august.hoerandl@gmx.at>
Von Ing.Christian Pohanka <cpw@aon.at> stammt das Kapitel Eine dyndns.org - Variante
Ohne August Hörandl <august.hoerandl@gmx.at> ( http://links.ee.htlw16.ac.at/~hoerandl ) wäre das alles nicht zum Laufen gekommen - Danke!
Besten Dank auch an die Autoren der Kapitel ICQ, Linux als Internetgateway, ADSL, etc. (siehe Kapitel Danksagung) und an die vielen Tester die auf unterschiedlichsten Wegen zu diesem HOWTO gekommen sind und Ihre Erfahrungen reported haben.
Dank gebührt auch allen die Ihre Tips&Tricks beigesteuert haben, wie z. B.
/etc/ppp/ip-up
überarbeitet,
Kapitel Datum/Uhrzeit überarbeitet und in
Kapitel
ADSL die Spitzen
Klammern in Ordnung gebracht/etc/ppp/options
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)/sbin/init.d /etc/init.d /etc/rc.d
usw.)
nothing todo
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
-----------------------------------------
nothing todo
Aus gegebenem Anlaß:
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)
dort werden Sie geholfen ;-) (frei nach Verona Feldbusch)
Andernfalls sind die Autoren nur noch mit 1st-level-support beschäftigt und finden keine Zeit mehr an diesem Dokument zu arbeiten.
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.
BESTEN DANK FÜR IHR VERSTÄNDNIS !!!
*1)
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.
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 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.
Provider mit Linux Support in Österreich (die Liste ist noch ein bischen spärlich ;-) :