PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Iptables und virtueller host



dunervst
19.02.02, 19:56
Habe Suse 7.3 und will mit ip-tables eine bestimmte öffentliche IP-Adresse (virtuell, ist also physikalisch kein PC vorhanden) auf eine bestimmte lokale Adresse umleiten. Soll ein Webserver drauf laufen. Und immer wenn der Webserver auf seiner virtuellen Adresse (meinetwegen 62.0.0.1) angesprochen wird, soll der Linux PC dieses auf die 192.168.30.5 umleiten, so das der Webserver aus dem Internet ansprechbar ist, obwohl er im LAN steht. Kann mir jemand einen Tipp geben, wie der Eintrag mit IP-Tables auszusehen hat ? Und geht das überhaupt ? Weil die öffentlichen IPs ja mit den lokalen nicht kommunizieren lönnen, auf jeden fall nicht direkt.

Wäre euch sehr dankbar.
dunervst

[WCM]Manx
20.02.02, 07:28
Hi!

Also das ganze funktioniert mit Source bzw. Destination NAT.
Dein(e) Router/Firewall bekommt am externen Interface die offizielle IP (das können auch mehrere IPs sein z.B für Webserver, Mailserver usw. , die aber dann als alias z.B eth0:0 einzurichten sind).

Mit Iptables mußt Du dann mit SNAT/DNAT ins LAN natten.
http://www.mat.univie.ac.at/~stein/lehre/extern/pi_2001/NAT-HOWTO/NAT-HOWTO-6.html

Grüße

Manx

[WCM]Manx
20.02.02, 07:36
Nachtrag:

In etwas so sollt's funktionieren:



set IPTABLES = /sbin/iptables

set EXT = eth0

set WWW_INT = 192.168.30.5
set WWW_EXT = 62.0.0.1

#WWW-Server
$IPTABLES -t nat -A PREROUTING -d $WWW_EXT -i $EXT -j DNAT --to-destination $WWW_INT
$IPTABLES -t nat -A POSTROUTING -s $WWW_INT -o $EXT -j SNAT --to-source $WWW_EXT



Grüße

Manx

dunervst
20.02.02, 10:32
Ethernet adapter eth2 hat nun 62.0.0.1 und eth0 hat 192.168.30.5.

Die Zeilen die du mir geschickt hast klingen logisch, nur es läuft leider nicht.
Ich habe den router mal neu gestartet, dann ist die Nat tabelle leer. und nur diese zeilen eingegeben. Leider ohne erfolg.

ich habe noch eine dritte nic dadrin eth1. hat die 62.0.0.2 und ist die schnittstelle über die masquerading betrieben wird, das lan gelangt darüber ins internet. Habe ich wie folgt konfiguriert:

modprobe iptables_nat
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

das ist eigentlich alles was ich nach dem start lade. Jetzt noch die beiden zeilen von dir dazu. Wo kann der fehler liegen. warum funzt das net ?
Bitte schreibt zahlreich.

Danke
dunervst

[WCM]Manx
20.02.02, 10:56
Hi!

Also nochmal von vorne:

Als erstes kommt's natürlich auf die Netzwerktopologie an.
Wenn dein Linuxrouter drei NICs hat, kannst Du ja ein DMZ betreiben, und für das ist ja SNAT/DNAT gut geeignet.

Sprich:

Linuxrouter:
eth1 => internes Netz mit Masquerading
eth2 => externes Interface mit offizieller IP
eth0 => würd ich als DMZ-Interface konfigurieren

DMZ heißt, mach ein eigenes Subnet, z.B. 192.168.30.0/255.255.255.0

Im DMZ steht Dein Webserver mit privater IP z.B 192.168.30.2, den kannst Du auch direkt mit crossover-Kabel mit dem DMZ-Interface des Routers (eth0 z.B 192.168.30.5/255.255.255.0) verbinden.

Jetzt kannst Du Dir ein firewall-script schreiben, das bei jedem Boot gestartet wird. Tippst Du die iptables-Zeilen bisher immer von Hand ein?

Nähere Infos über Dein Netz wären hilfreich.

Grüße

Manx

dunervst
20.02.02, 11:18
Habe einen Bereich mit öffentlichen IPS. Sagen wir 62.0.0.0/25 (128 IPs).
Dieses Netz habe ich aufgesplittet in 62.0.0.0/26 und 62.0.0.64/26. In dem 62.0.0.0/26 er Netz steht lediglich der Internet Router (Cisco 2611). Dahinter steht die Checkpoint Firewall, die in die DMZ durchroutet (DMZ -> 62.0.0.64/26) Die DMZ ist über einen Suse 7.3 Nat PC mit dem LAN verbunden.

Falls du noch etwas wissen musst. Sag bescheid. Super nett. Danke

gruß
dunervst

[WCM]Manx
20.02.02, 16:20
... Wow, unsereins freut sich schon über 6 offizielle IPs :) .

Erstens:
Ich kenn Checkpoint nur vom Sehen, hat die keine drei Interfaces (ext, int dmz) und kann die Aufgaben übernehmen?

Zweitens:
Wenn ich's richtig verstanden hab' hast DU 128 IPs zur Verfügung und verwenden tust Du davon nur 3 (Router, Firewall, SuSE-Router)?

Drittens:
Kommt Dein Webserver in die DMZ?
Wenn ja, muss ja die Firewall richtig konfiguriert werden um den Traffic durchzurouten.


:confused: :confused: :confused:

Manx

dunervst
21.02.02, 11:08
Habe das Problem, das der PC mit der Datenbank im Lan steht. also kann der Webserver nicht auf die Datenbank zugreifen, wenn ich ihn in die DMZ stelle. Wenn ich ihn ins LAN stelle, erreiche ich ihn von aussen nicht. Die Firewall befindet sich hinter dem Cisco Router. Dahinter die DMZ und dahinter kommt erst der NAT Rechner, der diesen Webtraffic von der 62.0.0.1 auf die 192.168.30.5 umleiten soll.

Eigentlich reichen 6 IPs ja, wenn du alle Ports umleiten kannst. Sprichst du mit einer offiziellen IP eine menge PCs mit an.

Gruß
dunervst