FloatingIP-to-DNS
FloatingIP-to-DNS
FloatingIP-to-DNS
DNS-Konfiguration
Öffentliches/privates Schlüsselpaar generieren:
$ tsig-keygen -a HMAC-MD5 www.domain.com.DNS-Zone wie folgt konfigurieren:
...
key "www.domain.com" {
algorithm hmac-md5;
secret "the-value-of-the-generated-key-that-you-can-see-in-public-and-private-keys ==";
};
...zone "domain.com" {
type master;
file "/etc/bind/keys.d/domain.com.tsig";
allow-update { key "www.domain.com."; };
};Terraform-Konfiguration
module cache-openstack-floatingip-to-register {
source = "./modules/cache-openstack-floatingip-to-register"
dns_suffix = var.dns_suffix
dns_fip_default_ttl = var.dns_fip_default_ttl
}
module register-openstack-floatingip-to-external-dns1 {
source = "./modules/register-openstack-floatingip-to-external-dns"
ddns_suffix = module.cache-openstack-floatingip-to-register.dns_suffix
ddns_fip_name = module.cache-openstack-floatingip-to-register.dns_fip_name
ddns_fip_ipv4 = module.cache-openstack-floatingip-to-register.dns_fip_ipv4
ddns_fip_ttl = module.cache-openstack-floatingip-to-register.dns_fip_ttl
ddns_server_ip = var.dns2__ddns_server_ip
ddns_key_name = var.dns2__ddns_key_name
ddns_key_algorithm = var.dns2__ddns_key_algorithm
ddns_key_secret = var.dns2__ddns_key_secret
}
module register-openstack-floatingip-to-external-dns2 {
source = "./modules/register-openstack-floatingip-to-external-dns"
ddns_suffix = module.cache-openstack-floatingip-to-register.dns_suffix
ddns_fip_name = module.cache-openstack-floatingip-to-register.dns_fip_name
ddns_fip_ipv4 = module.cache-openstack-floatingip-to-register.dns_fip_ipv4
ddns_fip_ttl = module.cache-openstack-floatingip-to-register.dns_fip_ttl
ddns_server_ip = var.dns2__ddns_server_ip
ddns_key_name = var.dns2__ddns_key_name
ddns_key_algorithm = var.dns2__ddns_key_algorithm
ddns_key_secret = var.dns2__ddns_key_secret
}module/cache-openstack-floatingip-to-register
Das Terraform-Modul cache-openstack-floatingip-to-register fragt eine OpenStack-Instanz auf einem bestimmten Projekt ab, um die Liste der Floating-IPs und ihrer zugehörigen Tags zu erhalten.
terraform {
required_version = ">= 0.14.0"
required_providers {
openstack = {
source = "terraform-provider-openstack/openstack"
version = "~> 1.48.0"
}
external = {
version = "~> 2.2.3"
}
}
}resource dns_a_record_set record {
for_each = var.ddns_fip_name
name = each.value
zone = var.ddns_suffix
addresses = [
lookup(var.ddns_fip_ipv4, each.key)
]
ttl = tonumber(lookup(var.ddns_fip_ttl, each.key))
}module/register-openstack-floatingip-to-external-dns
Das Terraform-Modul register-openstack-floatingip-to-external-dns registriert Floating-IPs bei Bedarf im DNS, unter Verwendung der vom Modul cache-openstack-floatingip-to-register gesammelten Informationen.