Subdomains mit pf auf Jails umleiten

Sickboy

Müßiggänger
Moin,

ich habe zwei Jails auf einem Server laufen:

Code:
1. Jail: www an lo1 mit 10.1.1.1 (255.255.255.0)
2. Jail: trac als Alias an lo1 mit 10.1.1.2 (255.255.255.255)

Wie man an den Namen der Jails bereits erahnen kann, laufen dort zwei Webserver (nginx und Trac). Ich habe jetzt zwei Subdomains angelegt:

Code:
1. Jail: www.example.com
2. Jail: trac.example.com

Testweise leite ich mit pf den Traffic auf Port 80 zur ersten Jail:
Code:
ext_if = "em0"
int_if = "lo1"
jailnet = $int_if:network

www="10.1.1.1"
nat on $ext_if from $jailnet to any -> ($ext_if)
rdr pass on $ext_if inet proto tcp to port http -> $www port http

Ich möchte jetzt den Traffic von www.example.com auf die erste Jail und von trac.example.com auf die zweite Jail umleiten (beide Port 80).

Wie muss ich pf dazu konfigurieren? Nach Möglichkeit sollte example.com auch auf www.example.com weiterleiten.
 
Ich gehe mal davon aus, dass du nur eine gemeinsame externe IPv4 Adresse hast.

Du übersiehst da einiges.
* PF ist ein Packetfilter auf Layer 2 bis 4.
* HTTP(S) ein Anwendungsprotokoll auf Layer 5-7.
* PF arbeitet mit IP Adressen nicht mit Namen.

Es ist dennoch möglich. Dazu brauchst du einen HTTP Proxy der die virtual Hosts dekodiert und weiterleitet an die internen IP Adressen der Jails. Der Proxy kann entweder direkt auf dem Host laufen oder in einer eigenen Jail. Den HTTP Server einer der Jails zusätzlich als Proxy zu konfigurieren ist zwar möglich, aber auch sehr hässlich.
 
Hmm, genau das habe ich mir schon gedacht. Hätte besser nachdenken sollen, dann würde ich nicht immer so dumme Fragen stellen.
 
Back
Top