Bearbeiten von „JailServer mit FreeBSD 10.1“

Aus UUGRN

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 277: Zeile 277:
  
 
=== Grundkonfiguration des Servers (afterboot)===
 
=== Grundkonfiguration des Servers (afterboot)===
 
==== Namen, IP-Adressen, Domains ====
 
Alle in den folgenden Beispielen verwendeten IP-Adressen und Hostnamen ensprechen einem real existierenden Server, dessen Aufbau hier beschrieben wird.
 
 
{| class=wikitable
 
! Bezeichnung
 
! Wert
 
! Bemerkung
 
|-
 
! Hostname des Servers
 
| srv01.sigsys.de
 
|
 
|-
 
! Domain(s)
 
| sigsys.de und sigsys.lan
 
| analog zu den IP-Netzen
 
|-
 
! IPv4
 
| 164.177.170.96/29
 
| externe IP-Adressen auf em0
 
|-
 
! IPv4
 
| 10.253.2.0/24
 
| interne IP-Adressen auf "lan" (=lo1)
 
|-
 
! IPv6
 
| 2a03:2500:1:8::/64
 
| externe IPv6-Adressen auf em0
 
|-
 
|}
 
 
 
==== Software installieren ====
 
==== Software installieren ====
 
Die Installation eines vorkompilierten Paketes erfolgt einfach mittels "pkg install paketname".  
 
Die Installation eines vorkompilierten Paketes erfolgt einfach mittels "pkg install paketname".  
Zeile 661: Zeile 630:
  
 
Jails werden über das Hostsystem mit der Systemzeit versorgt, daher muss der Daemon nicht auf dem '''lan'''-Interface lauschen. Hier exemplarisch nur die Einstellung dass der Daemon ausschlielich auf '''localhost''' lauscht.
 
Jails werden über das Hostsystem mit der Systemzeit versorgt, daher muss der Daemon nicht auf dem '''lan'''-Interface lauschen. Hier exemplarisch nur die Einstellung dass der Daemon ausschlielich auf '''localhost''' lauscht.
 
== Jails ==
 
=== Grundlagen zu Jails ===
 
* Neu seit FreeBSD 9.x: Konfiguration mittels jail.conf (old-style aber immernoch supported!)
 
* Neue Jails anlegen, ganz einfach!
 
* Jails einzeln Starten/Beenden/Neustarten mittels jail(8) und jail.conf(5)
 
* ZFS und Jails
 
* Automatisch Starten/Beenden von Jails beim Systemboot
 
 
=== ZFS Setup für Jails ===
 
Jedes Jail soll ein eigenes ZFS-Volume verwenden. Das ermöglichst später die automatische Erstellung von Snapshots beim Starten oder Beenden von Jails oder damit dann feingranulare Rollbacks nach fehlgeschlagenen Upgrades innerhalb von Jails, ohne dass benachbarte Jails zwangsweise mit zurückgerollt werden.
 
 
 
=== Jails beim Booten automatisch starten ===
 
Das Script /etc/rc.d/jail wurde seit FreeBSD 4.x bis FreeBSD 9.x kontinuierlich weiter entwickelt. Es basierte darauf, dass alle Parameter für alle Jails in ''jail_* variables'' in '''/etc/rc.conf''' gepackt wurden. Da Jails als solche seit FreeBSD 8.x drastisch an Komplexität zugenommen haben (feingranulare Properties, MultiIP/NoIP/IPv6(only) etc) war es nicht mehr praktikabel alle möglichen Parameter auf diesem Weg (/etc/rc.conf) zu verwalten.
 
 
Das jail(8)-Tool hatte lange Zeit 2 getrennte Syntaxe:
 
 
;historischer Stil (alle Parameter müssen direkt an jail(8) übergeben werden, komplexe Dinge musste das Startscript mit Variablen aus /etc/rc.conf erledigen):
 
<pre>
 
    jail [-hi] [-n jailname] [-J jid_file] [-s securelevel]
 
          [-l -u username | -U username] path hostname [ip[,..]] command ...
 
</pre>
 
 
;aktueller Stil mit Support für /etc/jail.conf, wobei jail(8) einen Großteil der Kompelexität selbst implementiert.
 
<pre>
 
    jail [-dhilqv] [-J jid_file] [-u username] [-U username] [-cmr]
 
          param=value ... [command=command ...]
 
    jail [-dqv] [-f conf_file] [-p limit] [-cmr] [jail]
 
    jail [-qv] [-f conf_file] [-rR] [* | jail ...]
 
    jail [-dhilqv] [-J jid_file] [-u username] [-U username] [-n jailname]
 
          [-s securelevel] [path hostname [ip[,...]] command ...]
 
</pre>
 
 
Beim "old-style" war es praktisch nicht möglich Jails zu verwalten ohne dabei das '''/etc/rc.d/jail-Startscript''' zu verwenden, welches signifikant komplexe Dinge getan hatte und dennoch spürbare Grenzen hatte. Zusätzliche Jailmanagement Tools wie "ezjail" haben mit eigenen Methoden um /etc/rc.d/jail herum das ein Stück weit erträglicher gemacht für den Administrator.
 
 
'''Neuartige Jails''' kann man nun sehr einfach mittels jail(8) verwalten, zB '''jail -c ''jail_name''''' zum Starten (''create'') oder '''jail -r ''jail_name''''' zum Beenden (''remove''), wobei alle mit ''jail_name'' assoziierten Parameter aus /etc/jail.conf kommen.
 
 
Damit konnte die Komplexität des '''/etc/rc.d/jail'''-Startscript drastisch reduziert werden und es ist auch nicht mehr erforderlich dieses Startscript ansich zu nutzen.
 
 
=== Jails aus diesem Beispielsetup ===
 
 
{| class=wikitable
 
! Jail
 
! Namen, Adressen
 
! Bemerkungen
 
|-
 
| sigsys_mail (.2)
 
| mail.sigsys.de, mail.sigsys.lan, 164.177.170.98/32, 2a03:2500:1:8:2::/128, 10.253.2.2/32
 
| MX für eingehende E-Mails, intern SmartHost für alle anderen Systeme
 
|-
 
| sigsys_dns (.3)
 
| dns.sigsys.de, dns.sigsys.lan, 164.177.170.99/32, 2a03:2500:1:8:3::/128, 10.253.2.3/32
 
| Domain-Hosting, Hidden Primary DNS Server
 
|-
 
| Jail sigsys_proxy (.4)
 
| proxy.sigsys.de, proxy.sigsys.lan, 164.177.170.100/32, 2a03:2500:1:8:4::/128, 10.253.2.4/32
 
| Ein- und ausgehender Proxy (apache und squid) für HTTP-Anwendungen und vergleichbare Anwendungen
 
|-
 
| Jail sigsys_shell (.5)
 
| shell.sigsys.de, shell.sigsys.lan, 164.177.170.101/32, 2a03:2500:1:8:5::/128, 10.253.2.5/32
 
| Benutzerzugriffe via SSH, allgemeine/klassische Nutzung als Shell-Server, Jumphost für SSH nach innen ("lan")
 
|-
 
| Jail sigsys_mysql (.64)
 
| mysql.sigsys.lan, 10.253.2.64/32
 
| MySQL-Datenbank
 
|-
 
| Jail sigsys_xmpp (.66)
 
| xmpp.sigsys.de, xmpp.sigsys.lan, 2a03:2500:1:8:66::/128, 10.253.2.66/32
 
| Jabber als "IPv4 hidden Service" via proxy.sigsys.de, extern erreichbarer Service für IPv6
 
|-
 
| Jail sigsys_web04 (.131)
 
| web04.sigsys.lan, 10.253.2.131/32
 
| Einer von mindestens 7 internen Webserver-Jails für verschiedenste Anwendungsfälle (Homepages, Blogs, Wikis, Tools, …), zugreifbar nur via Reverse-Proxy auf proxy.uugrn.{de,lan}
 
|-
 
|}
 
 
  
  
 
[[Kategorie:FreeBSD]]
 
[[Kategorie:FreeBSD]]
 
[[Kategorie:HowTo]]
 
[[Kategorie:HowTo]]

Bitte kopiere keine Inhalte, die nicht Deine eigenen sind!

Du gibst uns hiermit Deine Zusage, dass
  • Du den Text nicht aus Wikipedia kopiert hast
  • Du den Text selbst verfasst hast
  • oder der Text entweder
    • Allgemeingut (public domain) ist
    • oder der Copyright-Inhaber seine Zustimmung gegeben hat.
Wichtig
  • Benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!
  • Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der 'Diskussion:'-Seite darauf hin.
  • Bitte beachte, dass alle UUGRN-Beiträge automatisch unter der der Creative Commons Lizenz stehen.
  • Falls Du nicht möchtest, dass Deine Arbeit hier von anderen verändert und verbreitet wird, dann drücke nicht auf "Artikel Speichern".

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)