
0. Vorbemerkung :
Dieses Howto richtet sich explizit nur an Leute, die wissen, was sie tun!
Das Lesen von weiteren Dokumentationen ist dringend notwendig.
Die vorgestellten conf-Dateien und Änderungen an den Skripten laufen bei dem Autor ohne Probleme. Auch unter anderen Voraussetzungen müssten sie mit den entsprechenden Anpassungen problemlos laufen. Dafür übernimmt der Autor aber keinerlei Garantie!
Die vorliegende Version vom November 2001 hat einige Vereinfachungen und Korrekturen erfahren.
Für weitere Anregungen und Verbesserungen ist der Autor immer sehr dankbar.
1. Ziel :
Du möchtest mehrere Domains auf deinem Server hinter einem FLI4L-Router hosten.
2. Voraussetzung:
Server : SuSE 7.2 mit Apache
Router : FLI4L 2.0.1 mit opt_dyndns
(In der jetzigen Version auch mit FLI4L 2.0.6 erprobt)
Ein Account bei dyndns.org
3. Annahmen :
Router : anton 192.168.1.89
Server : elsa 192.168.1.92
Client : ingo 192.168.1.94
Hauptdomain : roessler.dnsalias.net
zweite Domain : fis.dnsalias.net
dritte Domain : zweiwieden.dnsalias.net
Das FLI4L-Verzeichnis auf der Windowskiste liegt unter C:\fli4l
4. Vorgehen :
4.1 Apache
Zur Apache-Konfiguration wollte sich der Autor hier nicht groß auslassen, da diese selbst gut dokumentiert ist.
Damit der Apache auf verschiedene Domains reagieren kann, ist die Einrichtung sogenannter Virtueller Hosts (VH) notwendig.
Auszug aus der /etc/httpd/httpd.conf:
NameVirtualHost *
<VirtualHost *>
</VirtualHost>
# FIS-VH
<VirtualHost *>
ServerName www.fis.dnsalias.net
ServerAlias *.fis.dnsalias.net
ServerAdmin roessler@gmx.de
DocumentRoot /home/fis1/public_html
ErrorLog /home/fis1/public_html/log/error_log
TransferLog /home/fis1/public_html/log/access_log
ScriptAlias /cgi-bin/ /home/fis1/public_html/cgi
</VirtualHost>
# zweiwieden-VH
<VirtualHost *>
ServerName www.zweiwieden.dnsalias.net
ServerAlias *.zweiwieden.dnsalias.net
ServerAdmin roessler@gmx.de
DocumentRoot /home/zweiwieden/
ErrorLog /home/zweiwieden/log/error_log
TransferLog /home/zweiwieden/log/access_log
ScriptAlias /cgi-bin/ /home/zweiwieden/cgi
</VirtualHost>
Die Domain roessler.dnsalias.net wird im Hauptserver-Bereich definiert:
### Section 2: 'Main' server configuration
Port 80
User wwwrun
Group nogroup
ServerAdmin roessler@gmx.de
ServerName www.roessler.dnsalias.net
Die Dokumentation des Apache sei aber nochmals jedem ans Herz gelegt, der seine Suse-Standard-Installation verschlimmbessern will.
4.2 Dyndns
Bei www.dyndns.org kann man sich eigene Subdomain in ausreichenden Masse besorgen. Auch dort findet man Hilfe für alle Probleme, die entstehen könnten.
Für unser Problem ist es wichtig, dass bei allen Subdomains, die Du einrichten willst, das Häkchen bei "Enable Wildcard" gemacht wird.
4.3 FLI4L
Der Router muss natürlich auch angepasst werden.
4.3.1 Packetfilter
Natürlich muss der Port 80 in der C:\fli4l\config\base.txt freigeschaltet werden:
FIREWALL_DENY_PORT_6='54:79 DENY'
FIREWALL_DENY_PORT_7='81:109 DENY'
4.3.2 Portforwarding
Weiterhin muss in der C:\fli4l\config\base.txt portforwarding aktiviert werden und der Port 80 auf den Server verweisen.
OPT_PORTFW='yes' # install port forwarding tools/modules
PORTFW_N='1' # how many portforwardings to set up
PORTFW_1='80 192.168.1.92:80 tcp'
4.3.3 DNS
Zur Lösung des nun folgenden DNS-Problem gibt es drei Lösungen. Die kleine Lösung ist völlig ausreichend, gerade für User, die nicht soviel am orginal FLI4L ändern wollen.
4.3.3.1. Die kleine Lösung:
In der C:\fli4l\config\base.txt folgende Einträge machen - fertig!
#------------------------------------------------------------------------------
# Domain configuration:
#------------------------------------------------------------------------------
START_DNS='yes' # start dns server: yes or no
DNS_FORWARDERS='62.225.244.197 # DNS server
DNS_VERBOSE='no' # log queries in /usr/local/ens/ens.log
DOMAIN_NAME='roessler.dnsalias.net' # your domain name
DNS_FORBIDDEN_N='0'
HOSTS_N='17' # number of hosts in your domain
HOST_1='192.168.1.89 anton' # 1th host: ip and name
HOST_2='192.168.1.92 elsa www www.fis.dnsalias.net www.zweiwieden.dnsalias.net'
# 2th host: ip and name
HOST_3='192.168.1.94 ingo' # 3th host: ip and name
4.3.3.2. Die schöne Lösung:
Folgende Variante beschert uns eine richtig schöne ens.conf.
Die Konfigurationsdatei des DNS-Servers ens auf dem Router unter /usr/local/ens/ens.conf muss folgendermassen geändert werden (bitte vorher ein Backup der orginalen ens.conf mit "cp ens.conf ens2.conf" machen und später die acls vergleichen!)
logfile /ens.log
SOA roessler.dnsalias.net anton.roessler.dnsalias.net root.roessler.dnsalias.net
2002041501 28800 7200 604800 86400
MX roessler.dnsalias.net elsa.roessler.dnsalias.net 10
NS roessler.dnsalias.net anton.roessler.dnsalias.net
ZONE roessler.dnsalias.net
127.0.0.1 localhost.roessler.dnsalias.net
192.168.1.89 anton.roessler.dnsalias.net fli4l.roessler.dnsalias.net
192.168.1.92 elsa.roessler.dnsalias.net www.roessler.dnsalias.net mail.roessler.dnsalias.net
192.168.1.94 ingo.roessler.dnsalias.net
PTR 1.0.0.127.in-addr.arpa localhost
PTR 89.1.168.192.in-addr.arpa anton.roessler.dnsalias.net
PTR 92.1.168.192.in-addr.arpa elsa.roessler.dnsalias.net
PTR 94.1.168.192.in-addr.arpa ingo.roessler.dnsalias.net
SOA zweiwieden.dnsalias.net anton.roessler.dnsalias.net root.roessler.dnsalias.net
2002041501 28800 7200 604800 86400
MX zweiwieden.dnsalias.net elsa.zweiwieden.dnsalias.net 10
ZONE zweiwieden.dnsalias.net
192.168.1.92 elsa.zweiwieden.dnsalias.net www.zweiwieden.dnsalias.net mail.zweiwieden.dnsalias.net
SOA fis.dnsalias.net anton.roessler.dnsalias.net root.roessler.dnsalias.net
2002041501 28800 7200 604800 86400
MX fis.dnsalias.net elsa.fis.dnsalias.net 10
ZONE fis.dnsalias.net
192.168.1.92 elsa.fis.dnsalias.net www.fis.dnsalias.net mail.fis.dnsalias.net
forwarder 62.225.244.197
forwarder 194.25.2.129
forwarder 194.25.2.130
forwarder 145.253.2.11
forwarder 66.37.218.207
forwarder 216.7.11.132
forwarder 64.71.191.27
forwarder 212.100.224.176
forwarder 66.37.218.208
forward_max 10000
forward_entry_timeout 50
forward_next_timeout 5
ACL dns.allow 192.168.1.
ZONE 1.168.192.in-addr.arpa
ACL dns.allow 127.0.0.1
ACL dns.deny $
ACL dynamic.deny $
cache_max 10000
Die Einträge nach den PTR-Records aus der orginalen ens.conf sollten ohne Veränderung übernommen werden!
Nun die neue ens.conf dem DNS-Server ens schenken:
/bin/chown ens /usr/local/ens/ens.conf
/bin/chgrp ens /usr/local/ens/ens.conf
Den ens mit
ps | grep ens
(pid des ens merken)
kill -HUP <ENS-PID>
zum Neueinlesen der Konfiguration zwingen. Und mit
ping yahoo.de
die Funktion testen.
Falls das klappt, muss nun sichergestellt werden, dass die ens.conf beim nächsten Reboot erhalten bleibt.
Dazu sind folgende Änderungen notwendig:
Füge ein in C:\fli4l\opt\base.txt
dns ens files/usr/local/ens/ens.conf
Kopiere Deine neue ens.conf nach C:\fli4l\opt\files\usr\local\ens\ens.conf .
In C:\fli4l\opt\etc\opt\etc\rc.d\dns ist zusätzlich folgende Änderung zu machen:
...
/bin/chown -R ens /usr/local/ens
/bin/chgrp -R ens /usr/local/ens
# Eintrag-Start, wenn eigene ens.conf verwendet wird.
if [ -f /opt/files/usr/local/ens/ens.conf ]
then
mv /usr/local/ens/ens.conf /usr/local/ens/ens_org.conf
cp /opt/files/usr/local/ens/ens.conf /usr/local/ens/ens.conf
fi
4.3.3.3. Die gute Lösung:
Der Einsatz von BIND ist natürlich am schönsten und besten, würde dieses kleine HowTo aber erstmal sprengen.
4.3.4 dyndns
Im OPT_DYNDNS ist folgende Änderung nur notwendig, wenn "Enable Wildcard"(s.o.) noch nicht per Hand aktiviert wurde und der Einsatz von sendmail geplant ist :
Ändere bitte noch in C:\fli4l\opt\etc\dyndns.conf Folgendes:
#PROVIDER_DYNDNS_REQUEST_URL='/nic/update?system=dyndns&hostname=${DYNDNS_HOST}.${DYNDNS_DOMAIN}&wildcard=NOCHG&offline=NO&myip=\${MYIP}'
PROVIDER_DYNDNS_REQUEST_URL='/nic/update?system=dyndns&hostname=${DYNDNS_HOST}.${DYNDNS_DOMAIN}&wildcard=ON&mx=${DYNDNS_HOST}.${DYNDNS_DOMAIN}&backmx=YES&offline=NO&myip=\${MYIP}'
5. Ergebnis
Nun sind alle Domains/Virtuelle Host sowohl von Innen, wie von Aussen unter derselben Adresse im Browser verfügbar :
http://www.roessler.dnsalias.net
http://www.fis.dnsalias.net
http://www.zweiwieden.dnsalias.net
Viel Spass damit!
6. Todo
Sendmail wird noch ergänzt, deshalb der Hinweis auf die mx-records
7. Danksagung
Ganz herzlich möchte ich mich beim FLI4L-Team, der Maillingliste und insbesondere
Frank Meyer für den FLI4L-Router und den damit verbundenen Support bedanken.
Dank auch an Jens Fischer (soth@gmx.net),
denn von ihm kam ein ganz entscheidener Tipp bezüglich der VH beim Apache.
Weitere Anregungen die einflossen, kamen von Michael Löffler (nimrod@n1mrod.de)
und Christian Schubert (Parnassos@SAILHORSE.in-Berlin.de)
Dieses Howto soll ein wenig zurückgeben.
Ingo Rößler
http://www.roessler.dnsalias.net
Klicken Sie hier, um die Seite auszudrucken.
Klicken Sie hier, um die Seite auszudrucken.