Hallo Liste! Zur Erklärung des Subjects: Ich möchte Linux am Gateway betreiben, in der Form, daß im Privaten Netz dahinter Rechner sitzen, die ganz normal per NAT ins Netz dürfen. Außerdem möchte ich einige wenige Rechner dort betreiben, die öffentliche IP-Adressen benutzen können (stehen am Gateway zur Verfügung). Beispiel: | | Internet-Seite des Gateways: 111.222.223.100-130 IP-Adresse des Gateways (internetseitig): 111.222.223.100 IP-Adresse des Gateways (intern): 10.10.1.1 | | Internes Netz: 10.10.1.2-10.10.1.254 und andere Server mit z.B. 111.222.223.105 Bis jetzt habe ich es so gemacht, dass eine extere Adresse auf eine interne umgesetzt habe. Das funktioniert auch (Port 80,... sind erreichbar) Da jetzt aber auch IPSEC (FreeSWan) eingesetzt werden soll, wird die Übereinstimmung der Adresse überprüft (externe Adresse muss auch direkt am Gateway eingestellt sein). Lösung bisher: ip route replace nat 111.222.223.105 via 10.10.1.15 ip rule add prio 322 from 10.10.1.15 nat 111.222.223.105 Mit anderen Worten möchte ich die beiden Routing-Arten (mit und ohne NAT) für das interne LAN kombinieren. (Kleiner ISP) Weiß jemand, wie das am einfachsten mit "ip route" funktioniert? Mfg, Günther
Am Montag, 6. Dezember 2004 11:38 schrieb Günther Zinsberger:
Hallo Liste!
Zur Erklärung des Subjects: Ich möchte Linux am Gateway betreiben, in der Form, daß im Privaten Netz dahinter Rechner sitzen, die ganz normal per NAT ins Netz dürfen.
Außerdem möchte ich einige wenige Rechner dort betreiben, die öffentliche IP-Adressen benutzen können (stehen am Gateway zur Verfügung).
Beispiel:
Internet-Seite des Gateways: 111.222.223.100-130 IP-Adresse des Gateways (internetseitig): 111.222.223.100 IP-Adresse des Gateways (intern): 10.10.1.1
Internes Netz: 10.10.1.2-10.10.1.254 und andere Server mit z.B. 111.222.223.105
Bis jetzt habe ich es so gemacht, dass eine extere Adresse auf eine interne umgesetzt habe. Das funktioniert auch (Port 80,... sind erreichbar)
Da jetzt aber auch IPSEC (FreeSWan) eingesetzt werden soll, wird die Übereinstimmung der Adresse überprüft (externe Adresse muss auch direkt am Gateway eingestellt sein).
Lösung bisher: ip route replace nat 111.222.223.105 via 10.10.1.15 ip rule add prio 322 from 10.10.1.15 nat 111.222.223.105
Mit anderen Worten möchte ich die beiden Routing-Arten (mit und ohne NAT) für das interne LAN kombinieren. (Kleiner ISP)
Weiß jemand, wie das am einfachsten mit "ip route" funktioniert?
Da ist ip route nicht unbedingt der richtige Ansatzpunkt. Wenn dein Provider das zulässt, solltest du die PC's am besten mittels eines Hubs/Switches direkt an das Endgerät des Providers (Kabelmodem, oder was auch immer) klemmen. Beschreib doch mal, was das für ein Provider ist. Mfg, Thomas
Thomas Gräber schrieb:
Am Montag, 6. Dezember 2004 11:38 schrieb Günther Zinsberger: [...]
Weiß jemand, wie das am einfachsten mit "ip route" funktioniert?
Da ist ip route nicht unbedingt der richtige Ansatzpunkt. Wenn dein Provider das zulässt, solltest du die PC's am besten mittels eines Hubs/Switches direkt an das Endgerät des Providers (Kabelmodem, oder was auch immer) klemmen. Beschreib doch mal, was das für ein Provider ist.
Genau das will ich nicht. Über den Linux Router soll auch weiterhin Accounting und QoS laufen. Das ist ein Provider in Österreich, der über WLAN das Internet seinen Kunden anbietet. Für ihn soll ich die paar Einträge ermitteln. Schlimmstenfalls muß ein neuer Server parallel zum vorhandenen aufgestellt werden (eingangs- und ausgangsseitig parallel). Es wäre halt schön, wenn es der vorhandene noch mitmachen könnte, da es soetwas ähnliches wie eine Bridge-Funktion ist, nur halt kombiniert mit NATting für die restlichen User. Mfg, Günther
Moin,
Schlimmstenfalls muß ein neuer Server parallel zum vorhandenen aufgestellt werden (eingangs- und ausgangsseitig parallel). Es wäre halt schön, wenn es der vorhandene noch mitmachen könnte, da es soetwas ähnliches wie eine Bridge-Funktion ist, nur halt kombiniert mit NATting für die restlichen User.
NAT findet beim Zugang zum Provider grundsätzlich statt. Du meinst bestimmt one-to-one NAT. Ich habe das in meiner alten Firma auch gehabt, allerdings realisiert in Hardware. Einzelnen IP´s aus dem internen Netz wurden dabei dedizierte Adressen aus dem externen Netz zugewiesen. Alle anderen landeten im allgemeinen NAT. Aber eben leider in HW, was Dir ier auch nicht so recht weiterhilft. Gruss Jens
Am Montag, 6. Dezember 2004 15:44 schrieb Günther Zinsberger:
Thomas Gräber schrieb:
Am Montag, 6. Dezember 2004 11:38 schrieb Günther Zinsberger:
[...]
Weiß jemand, wie das am einfachsten mit "ip route" funktioniert?
Da ist ip route nicht unbedingt der richtige Ansatzpunkt. Wenn dein Provider das zulässt, solltest du die PC's am besten mittels eines Hubs/Switches direkt an das Endgerät des Providers (Kabelmodem, oder was auch immer) klemmen. Beschreib doch mal, was das für ein Provider ist.
Genau das will ich nicht. Über den Linux Router soll auch weiterhin Accounting und QoS laufen.
Das ist ein Provider in Österreich, der über WLAN das Internet seinen Kunden anbietet. Für ihn soll ich die paar Einträge ermitteln.
Schlimmstenfalls muß ein neuer Server parallel zum vorhandenen aufgestellt werden (eingangs- und ausgangsseitig parallel). Es wäre halt schön, wenn es der vorhandene noch mitmachen könnte, da es soetwas ähnliches wie eine Bridge-Funktion ist, nur halt kombiniert mit NATting für die restlichen User.
Bridging ist eine gute Idee, weil Routing für die offiziellen Adressen wird nicht funktionieren. Bridging hat aber den Nachteil, dass die Schnittstellen, welche Bestandteil der Bridge sein sollen, zu einer Logischen zusammengefasst werden. Da ist dann natürlich kein Routing und Nat mehr möglich. Für das Bridging wäre dann wahrscheinlich doch ein zweiter Server notwendig. Eventuell ließe sich das auch mit dem selben Server machen, wenn man diesem 2 zusätzliche NIC's für das Bridging verpasst. Wäre mal interessant, ob das funktioniert. Mfg, Thomas
Thomas Gräber schrieb:
Am Montag, 6. Dezember 2004 15:44 schrieb Günther Zinsberger:
Schlimmstenfalls muß ein neuer Server parallel zum vorhandenen aufgestellt werden (eingangs- und ausgangsseitig parallel). Es wäre halt schön, wenn es der vorhandene noch mitmachen könnte, da es soetwas ähnliches wie eine Bridge-Funktion ist, nur halt kombiniert mit NATting für die restlichen User.
Bridging ist eine gute Idee, weil Routing für die offiziellen Adressen wird nicht funktionieren. Bridging hat aber den Nachteil, dass die Schnittstellen, welche Bestandteil der Bridge sein sollen, zu einer Logischen zusammengefasst werden. Da ist dann natürlich kein Routing und Nat mehr möglich. Für das Bridging wäre dann wahrscheinlich doch ein zweiter Server notwendig. Eventuell ließe sich das auch mit dem selben Server machen, wenn man diesem 2 zusätzliche NIC's für das Bridging verpasst. Wäre mal interessant, ob das funktioniert.
Dann wären es insgesamt schon 4 NIC's (eth0-eth3)!! Geht das überhaupt noch? Ca. 4 PCI-Slots ? (bei normalen Netzwerkkarten) Dann müßte ich noch das Accounting auf diese "br0"-Schnittstelle erweitern....... ich hatte eher an irgendetwas, wie z. B. "iptables ... -j FORWARD ..." gedacht (notfalls für jede IP-Adresse, die ich umleite, einzeln eine Zeile). Hat jemand schon was ähnliches gemacht? Ich habe gehört, dass das schon mal wo funktioniert hat. Mfg, Günther
Am Dienstag, 7. Dezember 2004 14:52 schrieb Günther Zinsberger:
Thomas Gräber schrieb:
Am Montag, 6. Dezember 2004 15:44 schrieb Günther Zinsberger:
Schlimmstenfalls muß ein neuer Server parallel zum vorhandenen aufgestellt werden (eingangs- und ausgangsseitig parallel). Es wäre halt schön, wenn es der vorhandene noch mitmachen könnte, da es soetwas ähnliches wie eine Bridge-Funktion ist, nur halt kombiniert mit NATting für die restlichen User.
Bridging ist eine gute Idee, weil Routing für die offiziellen Adressen wird nicht funktionieren. Bridging hat aber den Nachteil, dass die Schnittstellen, welche Bestandteil der Bridge sein sollen, zu einer Logischen zusammengefasst werden. Da ist dann natürlich kein Routing und Nat mehr möglich. Für das Bridging wäre dann wahrscheinlich doch ein zweiter Server notwendig. Eventuell ließe sich das auch mit dem selben Server machen, wenn man diesem 2 zusätzliche NIC's für das Bridging verpasst. Wäre mal interessant, ob das funktioniert.
Dann wären es insgesamt schon 4 NIC's (eth0-eth3)!! Geht das überhaupt noch? Ca. 4 PCI-Slots ? (bei normalen Netzwerkkarten) Sollte eigentlich gehen, wenn du da nicht noch zusätzliche Karten drin hast. Dann müßte ich noch das Accounting auf diese "br0"-Schnittstelle erweitern....... Allerdings... ich hatte eher an irgendetwas, wie z. B. "iptables ... -j FORWARD ..." gedacht (notfalls für jede IP-Adresse, die ich umleite, einzeln eine Zeile). Hat jemand schon was ähnliches gemacht? Ich habe gehört, dass das schon mal wo funktioniert hat.
Ich fahre das hier teilweise so und das funktioniert auch. Das Problem bei dir wird sein, dass der Provider deinen Server als Gateway für die offiziellen Addressen hinter dem Server verwenden muss. Wenn du aber kein ganzes Subnetz bekommst, wird das wahrscheinlich schwierig. Aber dazu kenne ich deinen Provider zu wenig. Mfg, Thomas
sorry, erste Antwort ging als PM raus. Thomas Gräber schrieb:
Am Dienstag, 7. Dezember 2004 14:52 schrieb Günther Zinsberger:
ich hatte eher an irgendetwas, wie z. B. "iptables ... -j FORWARD ..." gedacht (notfalls für jede IP-Adresse, die ich umleite, einzeln eine Zeile). Hat jemand schon was ähnliches gemacht? Ich habe gehört, dass das schon mal wo funktioniert hat.
Ich fahre das hier teilweise so und das funktioniert auch. Das Problem bei dir wird sein, dass der Provider deinen Server als Gateway für die offiziellen Addressen hinter dem Server verwenden muss. Wenn du aber kein ganzes Subnetz bekommst, wird das wahrscheinlich schwierig. Aber dazu kenne ich deinen Provider zu wenig.
Wie machst Du's? Echtes Routing kombiniert mit NAT? Oder nur echtes Routing (das habe ich auch an einem anderen Ort im Einsatz)? Ich glaube, es ist ein komplettes Subnet (16 Adressen, inkl. Netz und Broadcast). Mfg, Günther
Thomas Gräber schrieb:
Am Dienstag, 7. Dezember 2004 14:52 schrieb Günther Zinsberger:
ich hatte eher an irgendetwas, wie z. B. "iptables ... -j FORWARD ..." gedacht (notfalls für jede IP-Adresse, die ich umleite, einzeln eine Zeile). Hat jemand schon was ähnliches gemacht? Ich habe gehört, dass das schon mal wo funktioniert hat.
Ich fahre das hier teilweise so und das funktioniert auch. Das Problem bei dir wird sein, dass der Provider deinen Server als Gateway für die offiziellen Addressen hinter dem Server verwenden muss. Wenn du aber kein ganzes Subnetz bekommst, wird das wahrscheinlich schwierig. Aber dazu kenne ich deinen Provider zu wenig.
Wie machst Du's? Echtes Routing kombiniert mit NAT? Oder nur echtes Routing (das habe ich auch an einem anderen Ort im Einsatz)?
Ich glaube, es ist ein komplettes Subnet (16 Adressen, inkl. Netz und Broadcast). Das klingt schonmal ganz gut. Wenn dem so ist, benötigt dein Server eine IP aus dem neuen Subnetz auf der internen Schnittstelle, den die PC's dann als Standardgateway ansprechen. Dann sollte das Routing mit deaktivierter Firewall schon laufen. Wenn du die SuSEfirewall verwendest, musst du noch ein "echo 1 >/proc/sys/net/ipv4/ip_forward" machen, um das IP-Forwarding einzuschalten. Mit der SuSEfirewall soll wohl genau das, was du vorhast, auch funktionieren, aber das hat bei mir nicht hingehauhen, deshalb hab ich mir ein eigenes iptables Script geschrieben. Wenn ich mich recht entsinne,
Am Dienstag, 7. Dezember 2004 16:16 schrieben Sie: trägt man für das NAT in der nat-Tabelle in der POSTROUTING-Chain alle IP-Addressen/Netze ein, für welche NAT gemacht werden soll. Für alle Netze müssen in der FORWARD-Chain ACCEPT-Einträge vorhanden sein. Die Netze, welche keinen Eintrag in der nat-Tabelle haben, für die wird auch kein NAT gemacht. Ist aber schon eine Weile her, dass ich das gemacht habe. Bei Bedarf kann ich dir ja mal mein Script schicken, evtl. kannst du damit ja was anfangen. Musst aber bestimmt noch ein paar Sachen anpassen, trotz der Config-Datei. Mfg, Thomas
Thomas Gräber schrieb:
Am Dienstag, 7. Dezember 2004 16:16 schrieben Sie:
Ich glaube, es ist ein komplettes Subnet (16 Adressen, inkl. Netz und Broadcast).
Das klingt schonmal ganz gut. Wenn dem so ist, benötigt dein Server eine IP aus dem neuen Subnetz auf der internen Schnittstelle, den die PC's dann als Standardgateway ansprechen. Dann sollte das Routing mit deaktivierter Firewall schon laufen. Wenn du die SuSEfirewall verwendest, musst du noch ein "echo 1 >/proc/sys/net/ipv4/ip_forward" machen, um das IP-Forwarding einzuschalten. Mit der SuSEfirewall soll wohl genau das, was du vorhast, auch funktionieren, aber das hat bei mir nicht hingehauhen, deshalb hab ich mir ein eigenes iptables Script geschrieben. Wenn ich mich recht entsinne, trägt man für das NAT in der nat-Tabelle in der POSTROUTING-Chain alle IP-Addressen/Netze ein, für welche NAT gemacht werden soll. Für alle Netze müssen in der FORWARD-Chain ACCEPT-Einträge vorhanden sein. Die Netze, welche keinen Eintrag in der nat-Tabelle haben, für die wird auch kein NAT gemacht. Ist aber schon eine Weile her, dass ich das gemacht habe.
Das klingt auch sehr gut. Die SuSE-Firewall habe ich (noch) nicht im Einsatz. Evtl. kommt dann mal die Shorewall in Verwendung. Das mit "POSTROUTING" ist mir noch unklar, aber vielleicht hilft Dein Beispiel?
Bei Bedarf kann ich dir ja mal mein Script schicken, evtl. kannst du damit ja was anfangen. Musst aber bestimmt noch ein paar Sachen anpassen, trotz der Config-Datei.
Ja, bitte. Mfg, Günther
participants (3)
-
Günther Zinsberger
-
Jens M. Guessregen
-
Thomas Gräber