Internetzugang mit Linux-Rechner als Router: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
 
(20 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
  
 
  Client-PC -------- Linux -------- DSL-Modem -------- Internet
 
  Client-PC -------- Linux -------- DSL-Modem -------- Internet
  Client-PC -------- Linux -------- Analog-Modem -------- Internet
+
  Client-PC -------- Linux -------- Analog-Modem ----- Internet
  Client-PC -------- Linux -------- ISDN-Karte -------- Internet
+
  Client-PC -------- Linux -------- ISDN-Karte ------- Internet
  
Ein oder mehrere Client-PCs greifen ueber einen Linux-Rechner auf das Internet zu. Sie sind an der 'internen' Netzwerkkarte des Linux-Rechners angeschlossen. Die 'externe' Netzwerkkarte stellt die Verbindung zum Internet her. Sie kann z.B. eine ISDN-Karte, ein Analog-Modem oder auch eine 'richtige' Netzwerkkarte sein  die mit einem DSL-Modem verbunden ist.
+
Ein oder mehrere Client-PCs greifen über einen Linux-Rechner auf das Internet zu. Sie sind an der 'internen' Netzwerkkarte des Linux-Rechners angeschlossen. Die 'externe' Netzwerkkarte stellt die Verbindung zum Internet her. Sie kann z.B. eine ISDN-Karte, ein Analog-Modem oder auch eine 'richtige' Netzwerkkarte sein  die mit einem DSL-Modem verbunden ist.
  
Die Client-PCs sind mit dem Linux-Rechner ber einen Hub/Switch oder (falls es nur ein PC ist) ggf auch ber ein Crossover-Kabel verbunden.
+
Die Client-PCs sind mit dem Linux-Rechner ber einen Hub/Switch oder (falls es nur ein PC ist) ggf auch über ein Crossover-Kabel verbunden.
  
Crossoverkabel haben das Problem da wenn beide Seiten auf autodetect stehen die sich unter Umstaenden nicht entscheiden koennen ob sie jetzt 10 oder 100 MBit bzw halb - oder vollduplex machen sollen. Mit einem Hub/Switch dazwischen gibts das Problem nicht.
+
Crossoverkabel haben das Problem da wenn beide Seiten auf autodetect stehen die sich unter Umständen nicht entscheiden können ob sie jetzt 10 oder 100 MBit bzw halb - oder vollduplex machen sollen. Mit einem Hub/Switch dazwischen gibts das Problem nicht.
  
 
== Konfiguration der Internet-Verbindung ==
 
== Konfiguration der Internet-Verbindung ==
  
 
* gib der Netzwerkkarte zum DSL-Modem die IP-Adresse 192.168.0.1 Subnetzmaske 255.255.255.0 (falls vorhanden)
 
* gib der Netzwerkkarte zum DSL-Modem die IP-Adresse 192.168.0.1 Subnetzmaske 255.255.255.0 (falls vorhanden)
* Konfiguriere die Internetverbindung ueber yast2 - Netzwerkgeraete - DSL/ISDN/Modem. Hierbei Firewall aktivieren. Es ist wichtig dass hier Masquerading gemacht wird. Die Firewall erledigt das (siehe SuSEFirewall2 Einstellungen).
+
* Konfiguriere die Internetverbindung über [[YaST]] - Netzwerkgeräte - [[DSL]]/ISDN/Modem. Hierbei [[Firewall]] aktivieren. Es ist wichtig dass hier Masquerading gemacht wird. Die Firewall erledigt das (siehe SuSEFirewall2 Einstellungen).
  
Fuer lokale Netze reservierte IP-Adressen wie 192.168.x.y werden im Internet nicht geroutet. Das bedeutet dass ein Paket mit einer Absenderadresse wie 192.168.0.1 vielleicht vom Linux-Router ins Internet gesendet wird, dort aber vom ersten Router weggeworfen wird. Der Rueckweg fuer das Antwortpaket waere ja keinesfalls eindeutig da es sicher mehrere Rechner in privaten Netzen mit der IP 192.168.0.1 gibt.
+
Für lokale Netze reservierte IP-Adressen wie 192.168.x.y werden im Internet nicht geroutet. Das bedeutet dass ein Paket mit einer Absenderadresse wie 192.168.0.1 vielleicht vom Linux-Router ins Internet gesendet wird, dort aber vom ersten Router weggeworfen wird. Der Rückweg für das Antwortpaket wäre ja keinesfalls eindeutig da es sicher mehrere Rechner in privaten Netzen mit der IP 192.168.0.1 gibt.
  
Wenn Masquerading aktiv ist dann merkt Linux sich bei Internet gesendeten IP-Paketen die originale Absender-IP und ersetzt sie durch die bei der Einwahl ber DSL/Modem/ISDN zugewiesene eindeutige oeffentliche IP-Adresse. Bei Antwortpaketen schaut Linux nach auf was das die Antwort war und ersetzt die Zieladresse durch die Adresse des Absenders des ausgehenden Paketes.
+
Wenn Masquerading aktiv ist dann merkt Linux sich bei Internet gesendeten IP-Paketen die originale Absender-IP und ersetzt sie durch die bei der Einwahl ber DSL/Modem/ISDN zugewiesene eindeutige öffentliche IP-Adresse. Bei Antwortpaketen schaut Linux nach auf was das die Antwort war und ersetzt die Zieladresse durch die Adresse des Absenders des ausgehenden Paketes.
  
 
Der Linux-Rechner bekommt bei der Einwahl IP-Adresse, Standardgateway und DNS-Server für die Dauer der Internetverbindung automatisch zugewiesen.
 
Der Linux-Rechner bekommt bei der Einwahl IP-Adresse, Standardgateway und DNS-Server für die Dauer der Internetverbindung automatisch zugewiesen.
 +
 +
== Routing aktivieren ==
  
  
== Routing aktivieren ==
+
* Routing/IP-Weiterleitung einschalten: YaST ==> Netzwerkdienste ==> Routing ==> (x) IP-Weiterleitung aktivieren
  
  
* Routing / IP-Weiterleitung einschalten: yast2 - Netzwerkdienste - Routing - (x) IP-Weiterleitung aktivieren
+
{{Box Hinweis||Die Einstellung von FW_ROUTE in der SuSEFirewall2 ÜBERSCHREIBT diese Einstellung!}}
  
Hinweis: Die Einstellung von FW_ROUTE in der SuSEFirewall2 UEBERSCHREIBT diese Einstellung !
+
<br />
  
 
== Konfiguration der internen Netzwerkkarte des Linux-Routers ==
 
== Konfiguration der internen Netzwerkkarte des Linux-Routers ==
Zeile 39: Zeile 41:
  
  
Die Konfigurationsdatei der SuSEFirewall2 ist /etc/sysconfig/SuSEFirewall2. Damit Routing korrekt funktioniert muessen bei Verwendung der SuSEFirewall2 dort ein paar Eintraege vorgenommen werden.
+
Die Konfigurationsdatei der SuSEFirewall2 ist /etc/sysconfig/SuSEFirewall2. Damit Routing korrekt funktioniert müssen bei Verwendung der SuSEFirewall2 dort ein paar Einträge vorgenommen werden.
  
Lest Euch die Kommentare in der SuSEFirewall2-Datei durch bevor Ihr etwas aendert. Anfertigen einer Sicherheitskopie vor Beginn der Aenderungen kann auch nicht schaden. Relevant sind mindestens diese Zeilen:
+
Lest Euch die Kommentare in der SuSEFirewall2-Datei durch bevor Ihr etwas ändert. Anfertigen einer Sicherheitskopie vor Beginn der Änderungen kann auch nicht schaden. Relevant sind mindestens diese Zeilen:
  
 
  FW_DEV_EXT="eth-id-00:50:04:45:61:97 dsl0 ippp0"
 
  FW_DEV_EXT="eth-id-00:50:04:45:61:97 dsl0 ippp0"
Zeile 50: Zeile 52:
 
  FW_MASQ_NETS="192.168.2.0/24"
 
  FW_MASQ_NETS="192.168.2.0/24"
  
Diese 'Beispielwerte' wurden einem SuSE 9.2 System entnommen. Es kann bei aelteren Versionen auch sein dass die Netzwerkkarten nicht ueber ihre MAC-Adresse sondern ueber eth0, eth1 etc spezifiziert werden. In dieser Beispielkonfiguration ist sowohl Internetzugang ueber DSL-Modem als auch ber ISDN konfiguriert. 192.168.2.0/24 ist das interne Netz.
+
Diese 'Beispielwerte' wurden einem SuSE 9.2 System entnommen. Es kann bei älteren Versionen auch sein dass die Netzwerkkarten nicht über ihre MAC-Adresse sondern über eth0, eth1 etc spezifiziert werden. In dieser Beispielkonfiguration ist sowohl Internetzugang über DSL-Modem als auch über ISDN konfiguriert. 192.168.2.0/24 ist das interne Netz.
  
 
  FW_DEV_EXT gibt die externe Netzwerkkarte an. Das kann z.B. eine Netzwerkkarte, ein DSL-Modem oder eine  ISDN-Karte sein.
 
  FW_DEV_EXT gibt die externe Netzwerkkarte an. Das kann z.B. eine Netzwerkkarte, ein DSL-Modem oder eine  ISDN-Karte sein.
Zeile 57: Zeile 59:
 
  FW_MASQUERADE muss eingeschaltet werden um Masquerading zu aktivieren.
 
  FW_MASQUERADE muss eingeschaltet werden um Masquerading zu aktivieren.
 
  FW_MASQ_DEV macht man auf der externen Schnittstelle (dies ist Defaulteinstellung)
 
  FW_MASQ_DEV macht man auf der externen Schnittstelle (dies ist Defaulteinstellung)
  FW_MASQ_NETS gibt die Netze an die maskiert werden sollen. Falls Ihr Euch unsicher seid koennt Ihr hier auch  "0/0" eintragen.
+
  FW_MASQ_NETS gibt die Netze an die maskiert werden sollen. Falls Ihr Euch unsicher seid könnt Ihr hier auch  "0/0" eintragen.
 +
 
 +
Überprüft BITTE auch die anderen Einstellungen. In der Defaultkonfiguration kann es passieren dass hier aus mir völlig unerfindlichen Gründen alle auf der Firewall laufenden Dienste für Zugriff aus dem Internet freigeschaltet werden !
  
Ueberprueft BITTE auch die anderen Einstellungen. In der Defaultkonfiguration kann es passieren dass hier aus mir voellig unerfindlichen Gruenden alle auf der Firewall laufenden Dienste fuer Zugriff aus dem Internet freigeschaltet werden !
+
Welche Ports eine Firewall zum Internet hin offen hat kann man mit einem Portscan überprüfen. Es gibt im Internet mehrere Serieöse Webseiten von denen man sich portscannen lassen kann. Eine davon ist http://www.grc.com (auf 'Shields Up' klicken, runterscrollen, nochmal auf 'Shields Up' klicken).
  
Welche Ports eine Firewall zum Internet hin offen hat kann man mit einem Portscan ueberpruefen. Es gibt im Internet mehrere serioese Webseiten von denen man sich portscannen lassen kann. Eine davon ist www.grc.com (auf 'Shields Up' klicken, runterscrollen, nochmal auf 'Shields Up' klicken).
+
{{Box Hinweis||Wer mit Yast arbeitet, achtet darauf die Internetschnittstelle z.B. ippp0 oder ppp0 als Externe Schnittstelle einzustellen. Bestensfalls wird vergessen ein Häkchen bei Masquerading für Netzwerke zu setzen. Dadurch versagt auch das Routing.}}
  
 +
<br />
  
 
== Verbinde den ersten Client-PCs mit dem Linux-Router ber Crossover-Netzwerkkabel oder Hub/Switch ==
 
== Verbinde den ersten Client-PCs mit dem Linux-Router ber Crossover-Netzwerkkabel oder Hub/Switch ==
Zeile 85: Zeile 90:
 
* probiere auf dem Linux-Router 'ping www.suse.de'
 
* probiere auf dem Linux-Router 'ping www.suse.de'
  
Wenn das erste geht, das zweite aber nicht dann funktioniert die Internetverbindung aber nicht die Namensaufloesung via DNS.
+
Wenn das erste geht, das zweite aber nicht dann funktioniert die Internetverbindung aber nicht die Namensauflösung via DNS.
  
==  
+
== Falls das klappt probiere ob der Client-PC jetzt ins Internet geht ==
Falls das klappt probiere ob der Client-PC jetzt ins Internet geht ==
 
  
 
* probiere auf Client-PC 'ping 195.135.220.3'
 
* probiere auf Client-PC 'ping 195.135.220.3'
 
* probiere auf Client-PC 'ping www.suse.de'
 
* probiere auf Client-PC 'ping www.suse.de'
  
 +
== Falls etwas nicht klappt ==
 +
 +
* [[Tests bei Problemen mit der Internetverbindung]]
 +
 +
* [[Internetverbindungsprobleme - IPv6 MTU DNS|Bei Internetverbindungsproblemen - IPv6, MTU, DNS]]
  
== Falls etwas nicht klappt ==
+
== Für USB-Modem ==
  
Tests bei Problemen mit der Internetverbindung:  
+
Funktioniert sicher sehr gut mit Netzwerkkarte und Modem, mit USB Modem ist es etwas trickreicher, habe ich aber mal gemacht:
http://www.linux-club.de/viewtopic.php?t=16737
+
http://www.thilo-reski.de/howtospeedtsusep.html
 +
(für Speedtouch-330 USB Modem und Suse 9.0)
 +
Evtl. gibts mal 'ne Erweiterung für 9.1 und/oder 9.2
  
Bei Internetverbindungsproblemen (IPv6, MTU, DNS):
+
== Anmerkung ==
http://www.linux-club.de/viewtopic.php?t=16677
 
  
Eingefügt von --[[Benutzer:Yehudi|Yehudi]] 11:06, 8. Sep 2006 (CEST)
+
# Es kann auch den PC Router als DNS beim Client angeben: Bei Windows XP gibt man nur 192.168.2.1 ein. Und bei OSX 10.4 (bei 10.3 genauso) 192.168.2.1 255.255.255.0 eingegeben. Vorraussetzung ist, ein DNS oder DNS caching server auf dem Router läuft
 +
# Da die grafischen Einrichtungen bei [[openSUSE]] häufig etwas geändert hat, kann bei einer Neuinstallation auf dem Rechner einfach von den alten
 +
/etc/sysconfig/network übernommen werden, werden die Netzwerkkarten geändert, so dürfen diese Datei nicht mitkopiert werden.
 +
----
  
[[TCP/IP-Netzwerke und Internetzugang]][[Category:TCP/IP]]
+
[[Netzwerk|zurück zum Netzwerk]][[Category:TCP/IP]]

Aktuelle Version vom 7. Januar 2009, 16:33 Uhr

Autor: Martin Breidenbach

Hardwarekonfiguration

(Beispiele)

Client-PC -------- Linux -------- DSL-Modem -------- Internet
Client-PC -------- Linux -------- Analog-Modem ----- Internet
Client-PC -------- Linux -------- ISDN-Karte ------- Internet

Ein oder mehrere Client-PCs greifen über einen Linux-Rechner auf das Internet zu. Sie sind an der 'internen' Netzwerkkarte des Linux-Rechners angeschlossen. Die 'externe' Netzwerkkarte stellt die Verbindung zum Internet her. Sie kann z.B. eine ISDN-Karte, ein Analog-Modem oder auch eine 'richtige' Netzwerkkarte sein die mit einem DSL-Modem verbunden ist.

Die Client-PCs sind mit dem Linux-Rechner ber einen Hub/Switch oder (falls es nur ein PC ist) ggf auch über ein Crossover-Kabel verbunden.

Crossoverkabel haben das Problem da wenn beide Seiten auf autodetect stehen die sich unter Umständen nicht entscheiden können ob sie jetzt 10 oder 100 MBit bzw halb - oder vollduplex machen sollen. Mit einem Hub/Switch dazwischen gibts das Problem nicht.

Konfiguration der Internet-Verbindung

  • gib der Netzwerkkarte zum DSL-Modem die IP-Adresse 192.168.0.1 Subnetzmaske 255.255.255.0 (falls vorhanden)
  • Konfiguriere die Internetverbindung über YaST - Netzwerkgeräte - DSL/ISDN/Modem. Hierbei Firewall aktivieren. Es ist wichtig dass hier Masquerading gemacht wird. Die Firewall erledigt das (siehe SuSEFirewall2 Einstellungen).

Für lokale Netze reservierte IP-Adressen wie 192.168.x.y werden im Internet nicht geroutet. Das bedeutet dass ein Paket mit einer Absenderadresse wie 192.168.0.1 vielleicht vom Linux-Router ins Internet gesendet wird, dort aber vom ersten Router weggeworfen wird. Der Rückweg für das Antwortpaket wäre ja keinesfalls eindeutig da es sicher mehrere Rechner in privaten Netzen mit der IP 192.168.0.1 gibt.

Wenn Masquerading aktiv ist dann merkt Linux sich bei Internet gesendeten IP-Paketen die originale Absender-IP und ersetzt sie durch die bei der Einwahl ber DSL/Modem/ISDN zugewiesene eindeutige öffentliche IP-Adresse. Bei Antwortpaketen schaut Linux nach auf was das die Antwort war und ersetzt die Zieladresse durch die Adresse des Absenders des ausgehenden Paketes.

Der Linux-Rechner bekommt bei der Einwahl IP-Adresse, Standardgateway und DNS-Server für die Dauer der Internetverbindung automatisch zugewiesen.

Routing aktivieren

  • Routing/IP-Weiterleitung einschalten: YaST ==> Netzwerkdienste ==> Routing ==> (x) IP-Weiterleitung aktivieren


Hinweis:

Die Einstellung von FW_ROUTE in der SuSEFirewall2 ÜBERSCHREIBT diese Einstellung!



Konfiguration der internen Netzwerkkarte des Linux-Routers

  • gib der internen Netzwerkkarte die IP-Adresse 192.168.2.1 Subnetzmaske 255.255.255.0

Einstellungen der SuSEFirewall2

Die Konfigurationsdatei der SuSEFirewall2 ist /etc/sysconfig/SuSEFirewall2. Damit Routing korrekt funktioniert müssen bei Verwendung der SuSEFirewall2 dort ein paar Einträge vorgenommen werden.

Lest Euch die Kommentare in der SuSEFirewall2-Datei durch bevor Ihr etwas ändert. Anfertigen einer Sicherheitskopie vor Beginn der Änderungen kann auch nicht schaden. Relevant sind mindestens diese Zeilen:

FW_DEV_EXT="eth-id-00:50:04:45:61:97 dsl0 ippp0"
FW_DEV_INT="eth-id-00:50:04:46:4c:11"
FW_ROUTE="yes"
FW_MASQUERADE="yes"
FW_MASQ_DEV="$FW_DEV_EXT"
FW_MASQ_NETS="192.168.2.0/24"

Diese 'Beispielwerte' wurden einem SuSE 9.2 System entnommen. Es kann bei älteren Versionen auch sein dass die Netzwerkkarten nicht über ihre MAC-Adresse sondern über eth0, eth1 etc spezifiziert werden. In dieser Beispielkonfiguration ist sowohl Internetzugang über DSL-Modem als auch über ISDN konfiguriert. 192.168.2.0/24 ist das interne Netz.

FW_DEV_EXT gibt die externe Netzwerkkarte an. Das kann z.B. eine Netzwerkkarte, ein DSL-Modem oder eine  ISDN-Karte sein.
FW_DEV_INT gibt die interne Netzwerkkarte an.
FW_ROUTE muss eingeschaltet werden um Routing zu aktivieren.
FW_MASQUERADE muss eingeschaltet werden um Masquerading zu aktivieren.
FW_MASQ_DEV macht man auf der externen Schnittstelle (dies ist Defaulteinstellung)
FW_MASQ_NETS gibt die Netze an die maskiert werden sollen. Falls Ihr Euch unsicher seid könnt Ihr hier auch  "0/0" eintragen.

Überprüft BITTE auch die anderen Einstellungen. In der Defaultkonfiguration kann es passieren dass hier aus mir völlig unerfindlichen Gründen alle auf der Firewall laufenden Dienste für Zugriff aus dem Internet freigeschaltet werden !

Welche Ports eine Firewall zum Internet hin offen hat kann man mit einem Portscan überprüfen. Es gibt im Internet mehrere Serieöse Webseiten von denen man sich portscannen lassen kann. Eine davon ist http://www.grc.com (auf 'Shields Up' klicken, runterscrollen, nochmal auf 'Shields Up' klicken).

Hinweis:

Wer mit Yast arbeitet, achtet darauf die Internetschnittstelle z.B. ippp0 oder ppp0 als Externe Schnittstelle einzustellen. Bestensfalls wird vergessen ein Häkchen bei Masquerading für Netzwerke zu setzen. Dadurch versagt auch das Routing.



Verbinde den ersten Client-PCs mit dem Linux-Router ber Crossover-Netzwerkkabel oder Hub/Switch

  • gib der Karte im Client-PC die Adresse 192.168.2.2 Subnetz 255.255.255.0
  • stelle auf dem Client-PC den Linux-Router (192.168.2.1) als Standardgateway ein
  • stelle auf dem Client-PC als DNS-Server die IP-Adresse eines DNS-Servers Deines Internet-Providers ein

Routing (IP-Weiterleitung) und default gateway (Standardgateway) kann man im Menu yast2 - Netzwerkdienste - Routing einstellen.

Die IP-Adresse der DNS-Server des Providers findet man entweder irgendwo auf deren Website oder man schaut nach erfolgter Einwahl mal in die /etc/resolv.conf - da stehen die dann normalerweise drin.

Teste ob Client-PC und Linux-Router kommunizieren

  • probiere auf Client-PC 'ping 192.168.2.1'
  • probiere auf Linux-Router 'ping 192.168.2.2'


Teste ob der Linux-Router noch ins Internet geht

  • probiere auf dem Linux-Router 'ping 195.135.220.3' (das ist die IP-Adresse von www.suse.de)
  • probiere auf dem Linux-Router 'ping www.suse.de'

Wenn das erste geht, das zweite aber nicht dann funktioniert die Internetverbindung aber nicht die Namensauflösung via DNS.

Falls das klappt probiere ob der Client-PC jetzt ins Internet geht

  • probiere auf Client-PC 'ping 195.135.220.3'
  • probiere auf Client-PC 'ping www.suse.de'

Falls etwas nicht klappt

Für USB-Modem

Funktioniert sicher sehr gut mit Netzwerkkarte und Modem, mit USB Modem ist es etwas trickreicher, habe ich aber mal gemacht: http://www.thilo-reski.de/howtospeedtsusep.html (für Speedtouch-330 USB Modem und Suse 9.0) Evtl. gibts mal 'ne Erweiterung für 9.1 und/oder 9.2

Anmerkung

  1. Es kann auch den PC Router als DNS beim Client angeben: Bei Windows XP gibt man nur 192.168.2.1 ein. Und bei OSX 10.4 (bei 10.3 genauso) 192.168.2.1 255.255.255.0 eingegeben. Vorraussetzung ist, ein DNS oder DNS caching server auf dem Router läuft
  2. Da die grafischen Einrichtungen bei openSUSE häufig etwas geändert hat, kann bei einer Neuinstallation auf dem Rechner einfach von den alten

/etc/sysconfig/network übernommen werden, werden die Netzwerkkarten geändert, so dürfen diese Datei nicht mitkopiert werden.


zurück zum Netzwerk