JoergFiedler.freebsd-jail-host
freebsd-jail-host
Diese Rolle wird verwendet, um ein FreeBSD-System zu erstellen, das als Host für ein oder mehrere Jails dienen kann. Es gibt Rollen für Jails, die in Kombination mit dieser Rolle verwendet werden können, um einen jailed www-, db- oder Mail-Server zu erstellen. Sie können diese Jails nach Ihren Wünschen kombinieren, um einen Server zu erstellen, der mehrere WordPress-Installationen, einen einzelnen Mail-Server oder alles andere, was Sie in einem Jail ausführen möchten, hosten kann.
Anforderungen
Diese Rolle ist dafür gedacht, mit einer frischen FreeBSD-Installation verwendet zu werden. Es gibt eine Vagrant Box mit Anbietern für VirtualBox und AWS.
So geht's
Dieses Projekt enthält eine Vagrantfile
. Geben Sie ein:
vagrant up
und Sie werden eine saubere FreeBSD-Maschine, die betriebsbereit ist, vorfinden. Sie können nun Jails manuell erstellen oder eine der anderen Rollen verwenden, die ich erstellt habe.
Rollenvariablen
Netzwerk
host_net_ext_if
Schnittstelle für die externe Verbindung des Servers. Standard: '{{ ansible_default_ipv4.interface }}'
.
host_net_ext_ip
Die externe IP-Adresse des Servers: Standard: {{ ansible_default_ipv4.address }}'
.
host_net_int_if
Die interne Schnittstelle, zu der die IP-Adressen des Jails hinzugefügt werden. Standard: lo0
.
host_net_int_ip
Die interne IP-Adresse des Servers. Diese Adresse wird auch der internen Schnittstelle hinzugefügt. Standard: 10.1.0.1
.
host_net_int_net
Die Netzmaske für das interne Netzwerk des Jails. Wird verwendet, um UDP über pf zuzulassen, um syslogd zu erreichen. Standard: '10.1.0.1/24'
.
host_net_priv_if
Setzen Sie diese Variable, um eine private Netzwerkschnittstelle für Ihren Host zu konfigurieren. Die Schnittstelle selbst wird über DHCP konfiguriert, stellen Sie jedoch sicher, dass die Variable host_net_priv_ip
auf die Werte eingestellt ist, die von der DHCP-Anfrage zurückgegeben werden. Standard: ''
.
host_net_priv_ip
Setzen Sie die IP, die auf der privaten Netzwerkschnittstelle verwendet werden soll. Auch wenn die Schnittstelle sich selbst über DHCP konfiguriert, fügen Sie hier die IP hinzu, die von der DHCP-Anfrage zurückgegeben wird. Standard: ''
.
Disk/ZFS/iocage
host_home_zpool_name
ZPool, der für /home
verwendet werden soll. Standard: 'tank'
.
host_ioc_release_version
Die FreeBSD-Version, die von iocage verwendet wird, standardmäßig die Host-Version. Standard: {{ ansible_distribution_version }}-RELEASE
.
host_ioc_zpool_name
Der Name des ZFS-Pools, der von iocage verwendet werden soll. Standard: tank
.
host_ioc_zpool_devices
Wenn der ZFS-Pool für iocage (Jails-Hauptverzeichnis) erstellt werden soll, gibt dies eine durch Leerzeichen getrennte Liste der Geräte an, die für den Pool verwendet werden sollen. Es gibt keinen gültigen Standard. Sie müssen dies angeben, wenn der ZFS-Pool noch nicht vorhanden ist. Standard: None.
host_srv_zpool_name
Der Name des ZFS-Pools, der für den Ordner /srv
verwendet werden soll. Standard: tank
.
host_srv_zpool_devices
Wenn der ZFS-Pool für den Ordner /srv
erstellt werden soll, gibt dies eine durch Leerzeichen getrennte Liste der Geräte an, die für den Pool verwendet werden sollen. Es gibt keinen gültigen Standard. Sie müssen dies angeben, wenn der ZFS-Pool noch nicht vorhanden ist. Standard: None.
SSH
host_sshd_authorized_keys_file
Die Datei, die die öffentlichen Schlüssel enthält, die zur Authentifizierung des sshd-Benutzers verwendet werden. Standardmäßig wird der unsichere öffentliche Schlüssel von Vagrant verwendet: 'vagrant_pub_key'
.
host_sshd_port
Der Port, auf dem sshd lauscht. Standard: 22
.
host_sshd_user
Der Benutzername, der für den Zugriff auf diesen Server über SSH erlaubt ist. Standard: vagrant
.
SSMTP
Diese Funktion ist nur aktiv, wenn die Variable use_ssmtp
gesetzt ist.
ssmtp_auth_pass
Das Passwort, das für die SMTP-Authentifizierung verwendet wird. Keine Authentifizierung, wenn leer. Standard: ''
.
ssmtp_auth_user
Der Benutzername, der zur Authentifizierung am SMTP-Server verwendet wird. Keine SMTP-Authentifizierung, wenn leer. Standard: ''
.
ssmtp_mailhub
Systemmails werden an diesen Mailhost weitergeleitet. Weitere Informationen finden Sie in der ssmtp-Handbuchseite.
Standard: 'mail.maildrop.cc'
.
ssmtp_rewrite_domain
Der Domain-Teil von Mails, die von ssmtp gesendet werden, wird mithilfe dieser Variable umgeschrieben. Weitere Informationen finden Sie in der ssmtp-Handbuchseite.
Standard: 'maildrop.cc'
.
ssmtp_root
Systemmails werden an dieses Konto weitergeleitet. Weitere Informationen finden Sie in der ssmtp-Handbuchseite.
Standard: 'freebsd-jail-host'
.
ssmtp_use_starttls
Verwenden Sie STARTTLS, bevor Sie die SSL-Verhandlung starten. Standard: 'nein'
.
ssmtp_use_tls
Verwendet TLS beim Sprechen mit dem SMTP-Server. Standard: 'nein'
.
Tarsnap
tarsnap_enabled
Setzen Sie dies auf ja
, um Tarsnap für Backups zu verwenden. Standard: nein
.
tarsnap_keyfile
Die Schlüsseldatei, die für das Backup mit Tarsnap verwendet wird. Weitere Informationen zur Erstellung finden Sie in der Tarsnap-Dokumentation. Standard: ''
.
Paket-Repository
host_build_server_enabled
Erstellen Sie ein zusätzliches Repository in /usr/local/etc/pkg/repos/
mit der URL und dem öffentlichen Schlüssel, die durch die folgenden beiden Variablen bereitgestellt werden. Standard: nein
.
host_build_server_pubkey
Der öffentliche Schlüssel des zusätzlichen Repositorys, der verwendet wird, um heruntergeladene Pakete zu überprüfen. Standard: None.
host_build_server_url
Die URL des zusätzlichen Repositorys. Standard: None.
Sonstiges
host_use_syslogd_server
Setzen Sie auf true
, um Protokollnachrichten, die vom lokalen syslog geschrieben werden, an einen Syslog-Server innerhalb eines Jails weiterzuleiten. Verwenden Sie die Variable host_syslogd_server
, um die IP-Adresse anzugeben. Standard: false
.
host_syslogd_server
Die IP-Adresse des Syslog-Servers, an den Nachrichten weitergeleitet werden sollen. Sollte in einem der gehosteten Jails laufen. Standard: ''
.
host_timezone
Die Zeitzone, in der sich der Server befindet. Standard: 'Europe/Berlin'
.
Abhängigkeiten
Keine.
Beispiel-Playbook
Playbook-Beispiel mit überschriebenen Standardeinstellungen, um diese Rolle zu verwenden, um eine EC2-Instanz einzurichten.
- hosts: all
become: true
roles:
- role: 'JoergFiedler.freebsd-jail-host'
Autoreninformation
Wenn Ihnen dieses Projekt gefällt oder Sie Ideen zur Verbesserung haben, eröffnen Sie bitte ein Problem auf GitHub. Vielen Dank.