mrmorpheus
Goto Top

Zwei interne Server, extern durch den Hostnamen erreichen

Guten Morgen Zusammen,

trotz ausgibiger Forum und Googlesuch konnte ich leider noch nicht die lösende Antowort finden, weshalb ich auf euch zähle face-wink

Zunächst ein paar Worte zur Situation:
Die Verbindung zwischen dem lokalen Netz und dem Internet mit einer festen IP stellt unsere Firewall (FW) her. Dahinter befinden sich zwei Server, PDC und WEB (beide Linux Debian Squeez). Auf PDC läuft neben BIND9 als DNS Server auch ein Apache2. Auf WEB läuft lediglich ein Webserver.
Ziel ist es sowohl intern als auch extern über beispielsweise www.example.com den Webserver des PDC zu erreichen und durch www2.example.com den Webserver von WEB.
Intern funktioniert logischerweise alles wunderbar, da PDC als Primärer DNS eingetragen ist. Wenn ich aber von außen zugreife, lande ich egal was ich vor example.com einsetze immer beim PDC. Die Ports 53,80 udp/tcp werden durch die Firewall direkt an PDC weitergeleitet.
Zunächst dachte ich, dass das Einrichten einer intern/extern „view“ die Lösung sei, aber das allein ist es logischer weise noch nicht. (Howto: http://www.debian-administration.org/articles/355)

Leider haben wir nur eine IP Adresse und zwei Domains, weshalb die Unterscheidung zwischen den Servern am besten über den Host der FQDN erfolgen sollte.

Viele Grüße und danke schon mal vorab. face-smile

MrMorpheus

back-to-topHier noch ein paar Informationen:
Firewall:
Adresse intern: 192.168.10.1
Adresse extern: 217.XXX.XXX.XXX

Server PDC:
Adresse: 192.168.10.10
Gateway: 192.168.10.1

Server WEB:
Adresse: 192.168.10.11
Gateway: 192.168.10.1

back-to-top/etc/bind/named.conf.local
acl slaves {
    195.234.42.0/24;    // XName
};
acl internals {
    127.0.0.0/8;
    192.168.10.0/24;
};
view "internal" {  
    match-clients { internals; };
    recursion yes;
    zone "example.com" {  
        type master;
        file "/etc/bind/internals/named.example.com";  
        allow-update {127.0.0.1; 192.168.10.0/24; };
    };
	zone "example.com" {  
        type master;
        file "/etc/bind/internals/named.domain.com";  
        allow-update {127.0.0.1; 192.168.10.0/24; };
    };
   include "/etc/bind/named.conf.default-zones";  
};
view "external" {  
    match-clients { any; };
    recursion no;
    zone "example.com" {  
        type master;
        file "/etc/bind/externals/named.example.com";  
        allow-transfer { slaves; };
    };
};
back-to-top/etc/bind/externals/named.example.com
$TTL 1500
@                       IN      SOA ns1.example.com. root.example.com. (
                        2011032504      ; Serial
                        480             ; Refresh
                        120             ; Retry
                        2419200         ; Expire
                        172800          ; minimum
                        )

@                       IN      NS      ns1
                        IN      A       217.XXX.XXX.XXX
SRV-PDC                 IN      A       217.XXX.XXX.XXX
SRV-WEB                 IN      A       217.XXX.XXX.XXX
www                     IN      CNAME   SRV-PDC
www2                    IN      CNAME   SRV-WEB
ns1                     IN      A       217.XXX.XXX.XXX
back-to-top/etc/bind/internals/named.example.com
$include "/etc/bind/externals/named.example.com"  
@                       IN      A       192.168.10.10
SRV-WEB                 IN      A       192.168.10.11
wiki                    IN      CNAME   www
net                     IN      CNAME   www

Content-Key: 163389

Url: https://administrator.de/contentid/163389

Printed on: April 26, 2024 at 21:04 o'clock

Member: tikayevent
tikayevent Mar 26, 2011 at 13:24:02 (UTC)
Goto Top
Was du benötigst ist ein Contentswitch, wie z.B. von Alteon/Nortel oder Barracuda, der wertet dann das den Hostname im Header aus und leitet dann die Verbindung entsprechend um.

Ob ein zweiter Internetanschluss mit fester IP da nicht günstiger wäre, ist dir überlassen.
Member: DerSchorsch
DerSchorsch Mar 26, 2011 at 13:38:55 (UTC)
Goto Top
Hallo,

Logisch, in deiner Firewall hast du ja eine Portweiterleitung von TCP/80 auf deinen PDC. Wie sollen da die Anfragen zum Webserver kommen?

Du brauchst einen ReverseProxy, der nicht statisch anhand der Portnummer geht, sondern anhand des angefragten Hostheaders auf den korrekten Server umleitet.

Das geht z.B. mit Squid
http://wiki.squid-cache.org/SquidFaq/ReverseProxy

Gruß,
Schorsch
Member: MrMorpheus
MrMorpheus Mar 26, 2011 at 13:43:38 (UTC)
Goto Top
Hallo tikayevent,

Danke erst mal für deine Antwort.
Vieleicht ist das ja die Rätselslösung... ist auf jedenf Fall schon mal ein gutes Stichwort! face-wink

Dachte eigentlich nicht, dass das erreichen zweier Server mit einer Domain ohne Berücksichtigung des Ports so problematisch ist. Aber man lernt ja bekanntlich nie aus!
Member: MrMorpheus
MrMorpheus Mar 26, 2011 at 13:48:39 (UTC)
Goto Top
Ja woll ja!... Punktlandung...

Sers. Schorsch
genau das hab i gsuacht.

Merci!

Gruß,
MrMorpheus