From 7e4e2250bb5822e40bcb9d697a1389b4c4bcb74d Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Tue, 16 Dec 2025 13:44:58 -0600 Subject: [PATCH] dns update with moving providers --- .gitignore | 4 +- home/terraform/alpine-cloud-init.yml | 184 -- home/terraform/dns_aprs.tf | 39 + home/terraform/dns_dnsimple_domains.tf | 3 - home/terraform/dns_dnsimple_zones.tf | 3 - home/terraform/dns_manero.tf | 130 +- home/terraform/dns_mcintire.tf | 188 +- home/terraform/dns_mcintire_dnsimple_TEMP.tf | 118 + home/terraform/dns_powerdns_zones.tf | 52 + home/terraform/dns_reverse.tf | 55 +- home/terraform/dns_vntx_net.tf | 2093 +++++++++--------- home/terraform/dns_vntx_net_porkbun_TEMP.tf | 85 + home/terraform/dns_w5isp.tf | 388 ++-- home/terraform/dns_w5isp_dnsimple_TEMP.tf | 226 ++ home/terraform/main.tf | 19 +- home/terraform/proxmox.tf.disabled | 103 - home/terraform/setup-powerdns-tunnel.sh | 34 - home/terraform/tfplan | Bin 0 -> 72862 bytes home/terraform/variables.tf | 6 + home/terraform/w5isp.tfplan | Bin 0 -> 64712 bytes 20 files changed, 1979 insertions(+), 1751 deletions(-) delete mode 100644 home/terraform/alpine-cloud-init.yml create mode 100644 home/terraform/dns_aprs.tf delete mode 100644 home/terraform/dns_dnsimple_domains.tf create mode 100644 home/terraform/dns_mcintire_dnsimple_TEMP.tf create mode 100644 home/terraform/dns_powerdns_zones.tf create mode 100644 home/terraform/dns_vntx_net_porkbun_TEMP.tf create mode 100644 home/terraform/dns_w5isp_dnsimple_TEMP.tf delete mode 100644 home/terraform/proxmox.tf.disabled delete mode 100755 home/terraform/setup-powerdns-tunnel.sh create mode 100644 home/terraform/tfplan create mode 100644 home/terraform/w5isp.tfplan diff --git a/.gitignore b/.gitignore index 16636c0..e67c854 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ # Terraform directories **/.terraform/ -**/terraform/ +#**/terraform/ # Terraform state files **/terraform.tfstate -**/terraform.tfstate.* \ No newline at end of file +**/terraform.tfstate.* diff --git a/home/terraform/alpine-cloud-init.yml b/home/terraform/alpine-cloud-init.yml deleted file mode 100644 index 22567ef..0000000 --- a/home/terraform/alpine-cloud-init.yml +++ /dev/null @@ -1,184 +0,0 @@ -#cloud-config - -# Users -users: - - name: graham - groups: [wheel, adm] - shell: /bin/bash - sudo: ALL=(ALL) NOPASSWD:ALL - ssh_authorized_keys: - - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGthwaOgNUPMl1P3yXLBdKYXXvxUvlm4/BShLOm9hqRO - - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHLyVSEEAEbGZZqwPwEup0XrlTpu3x3iF9ExvvQPA4xN graham@mcintire.me - - name: ansible - uid: 10001 - groups: [wheel, adm] - shell: /bin/bash - sudo: ALL=(ALL) NOPASSWD:ALL - ssh_authorized_keys: - - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGthwaOgNUPMl1P3yXLBdKYXXvxUvlm4/BShLOm9hqRO - - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHLyVSEEAEbGZZqwPwEup0XrlTpu3x3iF9ExvvQPA4xN graham@mcintire.me - -# Package management -package_update: true -package_upgrade: true -packages: - - curl - - wget - - bash - - sudo - - python3 - - py3-pip - - openrc - - iptables - -# Write files -write_files: - # Caddy binary installation script - - path: /usr/local/bin/install-caddy.sh - permissions: '0755' - content: | - #!/bin/bash - set -e - echo "Installing Caddy..." - - # Download and install Caddy - curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/setup.alpine.sh' | bash - apk add caddy - - # Create caddy user and directories - adduser -D -s /sbin/nologin caddy || true - mkdir -p /etc/caddy /var/log/caddy /var/lib/caddy - chown -R caddy:caddy /etc/caddy /var/log/caddy /var/lib/caddy - chmod 755 /etc/caddy - - # Tailscale installation script - - path: /usr/local/bin/install-tailscale.sh - permissions: '0755' - content: | - #!/bin/bash - set -e - echo "Installing Tailscale..." - - # Download and install Tailscale - curl -fsSL https://tailscale.com/install.sh | sh - - # Enable IP forwarding - echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf - echo 'net.ipv6.conf.all.forwarding = 1' >> /etc/sysctl.conf - sysctl -p - - # Caddy configuration file - - path: /etc/caddy/Caddyfile - permissions: '0644' - owner: caddy:caddy - content: | - # Default catch-all for unconfigured domains - :80 { - respond "Service temporarily unavailable - Tailscale backend not configured" 503 - } - - # Example configuration for blog.w5isp.com - # This will need to be updated once you have the actual Tailscale IPs - blog.w5isp.com { - # Replace with actual Tailscale IP when available - # reverse_proxy 100.64.x.x:port - respond "Backend not configured yet" 503 - } - - # Add more domains here as needed: - example.w5isp.com { - reverse_proxy 100.64.x.x:port - } - - # Caddy OpenRC service file - - path: /etc/init.d/caddy - permissions: '0755' - content: | - #!/sbin/openrc-run - - name="Caddy web server" - description="Fast, multi-platform web server with automatic HTTPS" - - command="/usr/bin/caddy" - command_args="run --config /etc/caddy/Caddyfile --adapter caddyfile" - command_user="caddy:caddy" - command_background="yes" - pidfile="/run/caddy.pid" - - start_stop_daemon_args="--stdout /var/log/caddy/access.log --stderr /var/log/caddy/error.log" - - depend() { - need net - after firewall - } - - # Tailscale startup script - - path: /usr/local/bin/tailscale-setup.sh - permissions: '0755' - content: | - #!/bin/bash - set -e - - # Wait for tailscaled to be ready - sleep 5 - - # Get auth key from environment or metadata - AUTH_KEY="${TAILSCALE_AUTH_KEY}" - if [ -z "$AUTH_KEY" ]; then - echo "No Tailscale auth key found, skipping authentication" - exit 0 - fi - - echo "Authenticating with Tailscale..." - tailscale up --authkey="$AUTH_KEY" --accept-routes - - echo "Tailscale setup complete" - tailscale status - - # Environment file for services - - path: /etc/environment - permissions: '0644' - content: | - PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - -# Run commands during cloud-init -runcmd: - # Update package cache - - apk update - - # Install Caddy - - /usr/local/bin/install-caddy.sh - - # Install Tailscale - - /usr/local/bin/install-tailscale.sh - - # Configure firewall (basic Alpine firewall) - - iptables -I INPUT -p tcp --dport 22 -j ACCEPT - - iptables -I INPUT -p tcp --dport 80 -j ACCEPT - - iptables -I INPUT -p tcp --dport 443 -j ACCEPT - - iptables -I INPUT -i lo -j ACCEPT - - iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT - - rc-service iptables save - - # Enable and start services - - rc-update add caddy default - - rc-service caddy start - - # Start tailscaled - - rc-service tailscale start - - rc-update add tailscale default - - # Set up Tailscale (this will need the auth key passed via user-data or metadata) - - sleep 10 - - /usr/local/bin/tailscale-setup.sh || true - -# Final message -final_message: | - Cloud-init setup complete! - - Caddy web server installed and running - - Tailscale VPN installed (needs auth key for setup) - - Users: graham, ansible (both with sudo access) - - Services managed via OpenRC - - To complete Tailscale setup, run: - tailscale up --authkey=YOUR_AUTH_KEY --accept-routes diff --git a/home/terraform/dns_aprs.tf b/home/terraform/dns_aprs.tf new file mode 100644 index 0000000..d58911d --- /dev/null +++ b/home/terraform/dns_aprs.tf @@ -0,0 +1,39 @@ +# DNS configuration for aprs.me domain +# Points to Traefik ingress on k3s cluster for APRS application + +resource "powerdns_record" "aprs_me_soa" { + depends_on = [powerdns_zone.aprs_me] + zone = "aprs.me." + name = "aprs.me." + type = "SOA" + ttl = 3600 + records = ["ns1.as393837.net. graham.mcintire.me. 0 10800 3600 604800 3600"] +} + +resource "powerdns_record" "aprs_me_root" { + depends_on = [powerdns_zone.aprs_me] + zone = "aprs.me." + name = "aprs.me." + type = "A" + ttl = 3600 + records = ["204.110.191.2"] # Traefik ingress on k3s cluster +} + +resource "powerdns_record" "aprs_me_www" { + depends_on = [powerdns_zone.aprs_me] + zone = "aprs.me." + name = "www.aprs.me." + type = "A" + ttl = 3600 + records = ["204.110.191.2"] # Traefik ingress on k3s cluster +} + +# CAA record for Let's Encrypt SSL certificates +resource "powerdns_record" "aprs_me_caa" { + depends_on = [powerdns_zone.aprs_me] + zone = "aprs.me." + name = "aprs.me." + type = "CAA" + ttl = 3600 + records = ["0 issue \"letsencrypt.org\""] +} diff --git a/home/terraform/dns_dnsimple_domains.tf b/home/terraform/dns_dnsimple_domains.tf deleted file mode 100644 index cc20ab8..0000000 --- a/home/terraform/dns_dnsimple_domains.tf +++ /dev/null @@ -1,3 +0,0 @@ -resource "dnsimple_domain" "w5isp_com" { - name = "w5isp.com" -} diff --git a/home/terraform/dns_dnsimple_zones.tf b/home/terraform/dns_dnsimple_zones.tf index 4ca4ca1..9fb2ad6 100644 --- a/home/terraform/dns_dnsimple_zones.tf +++ b/home/terraform/dns_dnsimple_zones.tf @@ -1,6 +1,3 @@ -resource "dnsimple_zone" "w5isp_com" { - name = "w5isp.com" -} resource "dnsimple_zone" "gridmap_org" { name = "gridmap.org" diff --git a/home/terraform/dns_manero.tf b/home/terraform/dns_manero.tf index 3e3d549..b4424ec 100644 --- a/home/terraform/dns_manero.tf +++ b/home/terraform/dns_manero.tf @@ -1,89 +1,79 @@ -resource "porkbun_dns_record" "manero_root_a_1" { - domain = "manero.org" - name = "" - content = "185.199.108.153" - type = "A" - ttl = 3600 - priority = 0 +resource "dnsimple_zone_record" "manero_root_a_1" { + zone_name = "manero.org" + name = "@" + value = "185.199.108.153" + type = "A" + ttl = 3600 } -resource "porkbun_dns_record" "manero_root_a_2" { - domain = "manero.org" - name = "" - content = "185.199.109.153" - type = "A" - ttl = 3600 - priority = 0 +resource "dnsimple_zone_record" "manero_root_a_2" { + zone_name = "manero.org" + name = "@" + value = "185.199.109.153" + type = "A" + ttl = 3600 } -resource "porkbun_dns_record" "manero_root_a_3" { - domain = "manero.org" - name = "" - content = "185.199.110.153" - type = "A" - ttl = 3600 - priority = 0 +resource "dnsimple_zone_record" "manero_root_a_3" { + zone_name = "manero.org" + name = "@" + value = "185.199.110.153" + type = "A" + ttl = 3600 } -resource "porkbun_dns_record" "manero_root_a_4" { - domain = "manero.org" - name = "" - content = "185.199.111.153" - type = "A" - ttl = 3600 - priority = 0 +resource "dnsimple_zone_record" "manero_root_a_4" { + zone_name = "manero.org" + name = "@" + value = "185.199.111.153" + type = "A" + ttl = 3600 } -resource "porkbun_dns_record" "manero_irc_a" { - domain = "manero.org" - name = "irc" - content = "149.28.242.178" - type = "A" - ttl = 3600 - priority = 0 +resource "dnsimple_zone_record" "manero_irc_a" { + zone_name = "manero.org" + name = "irc" + value = "149.28.242.178" + type = "A" + ttl = 3600 } -resource "porkbun_dns_record" "manero_us_a" { - domain = "manero.org" - name = "us" - content = "149.28.242.178" - type = "A" - ttl = 3600 - priority = 0 +resource "dnsimple_zone_record" "manero_us_a" { + zone_name = "manero.org" + name = "us" + value = "149.28.242.178" + type = "A" + ttl = 3600 } -resource "porkbun_dns_record" "manero_us_aaaa" { - domain = "manero.org" - name = "us" - content = "2001:19f0:6401:19e6:5400:5ff:fe45:5701" - type = "AAAA" - ttl = 3600 - priority = 0 +resource "dnsimple_zone_record" "manero_us_aaaa" { + zone_name = "manero.org" + name = "us" + value = "2001:19f0:6401:19e6:5400:5ff:fe45:5701" + type = "AAAA" + ttl = 3600 } -resource "porkbun_dns_record" "manero_ca_a" { - domain = "manero.org" - name = "ca" - content = "167.114.209.151" - type = "A" - ttl = 3600 - priority = 0 +resource "dnsimple_zone_record" "manero_ca_a" { + zone_name = "manero.org" + name = "ca" + value = "167.114.209.151" + type = "A" + ttl = 3600 } -resource "porkbun_dns_record" "manero_tankfox_a" { - domain = "manero.org" - name = "tankfox" - content = "137.184.202.89" - type = "A" - ttl = 3600 - priority = 0 +resource "dnsimple_zone_record" "manero_tankfox_a" { + zone_name = "manero.org" + name = "tankfox" + value = "137.184.202.89" + type = "A" + ttl = 3600 } -resource "porkbun_dns_record" "manero_404" { - domain = "manero.org" - name = "404" - content = "404.al" - type = "CNAME" - ttl = 3600 - priority = 0 +resource "dnsimple_zone_record" "manero_404" { + zone_name = "manero.org" + name = "404" + value = "404.al" + type = "CNAME" + ttl = 3600 } diff --git a/home/terraform/dns_mcintire.tf b/home/terraform/dns_mcintire.tf index cb5090c..7058664 100644 --- a/home/terraform/dns_mcintire.tf +++ b/home/terraform/dns_mcintire.tf @@ -1,118 +1,136 @@ +# DNS configuration for mcintire.me domain +# Mail records point to Mailcow on mail.w5isp.com -# Mailcow MX record -resource "dnsimple_zone_record" "mcintire_mx_mailcow" { - zone_name = "mcintire.me" - name = "" - priority = 10 - value = "mail.w5isp.com" - type = "MX" - ttl = 3600 +resource "powerdns_record" "mcintire_soa" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "mcintire.me." + type = "SOA" + ttl = 3600 + records = ["ns1.as393837.net. graham.mcintire.me. 0 10800 3600 604800 3600"] } -resource "dnsimple_zone_record" "mcintire_mx_backup" { - zone_name = "mcintire.me" - name = "" - priority = 20 - value = "mail.nsnw.ca" - type = "MX" - ttl = 3600 +# Mailcow MX records +resource "powerdns_record" "mcintire_mx_mailcow" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "mcintire.me." + type = "MX" + ttl = 3600 + records = ["10 mail.w5isp.com."] } +resource "powerdns_record" "mcintire_mx_backup" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "mcintire.me." + type = "MX" + ttl = 3600 + records = ["20 mail.nsnw.ca."] +} - - -resource "dnsimple_zone_record" "mcintire_cname_test" { - zone_name = "mcintire.me" - name = "*.test" - value = "cname.bookappt.link." - type = "CNAME" - ttl = 14400 +resource "powerdns_record" "mcintire_cname_test" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "*.test.mcintire.me." + type = "CNAME" + ttl = 14400 + records = ["cname.bookappt.link."] } # Mail server -resource "dnsimple_zone_record" "mcintire_mail" { - zone_name = "mcintire.me" - name = "mail" - value = "204.110.191.5" - type = "A" - ttl = 3600 +resource "powerdns_record" "mcintire_mail" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "mail.mcintire.me." + type = "A" + ttl = 3600 + records = ["204.110.191.5"] } -# Autodiscover for mail clients (CNAME to mail server) -resource "dnsimple_zone_record" "mcintire_autodiscover" { - zone_name = "mcintire.me" - name = "autodiscover" - value = "mail.w5isp.com" - type = "CNAME" - ttl = 3600 +# Autodiscover for mail clients +resource "powerdns_record" "mcintire_autodiscover" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "autodiscover.mcintire.me." + type = "CNAME" + ttl = 3600 + records = ["mail.w5isp.com."] } # Autodiscover SRV record -resource "dnsimple_zone_record" "mcintire_autodiscover_srv" { - zone_name = "mcintire.me" - name = "_autodiscover._tcp" - value = "0 443 mail.w5isp.com" - type = "SRV" - priority = 0 - ttl = 3600 +resource "powerdns_record" "mcintire_autodiscover_srv" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "_autodiscover._tcp.mcintire.me." + type = "SRV" + ttl = 3600 + records = ["0 0 443 mail.w5isp.com."] } # Autoconfig for mail clients -resource "dnsimple_zone_record" "mcintire_autoconfig" { - zone_name = "mcintire.me" - name = "autoconfig" - value = "mail.w5isp.com" - type = "CNAME" - ttl = 3600 +resource "powerdns_record" "mcintire_autoconfig" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "autoconfig.mcintire.me." + type = "CNAME" + ttl = 3600 + records = ["mail.w5isp.com."] } # SPF record for Mailcow -resource "dnsimple_zone_record" "mcintire_spf_mailcow" { - zone_name = "mcintire.me" - name = "" - value = "\"v=spf1 mx a ip4:204.110.191.5 ~all\"" - type = "TXT" - ttl = 3600 +resource "powerdns_record" "mcintire_spf_mailcow" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "mcintire.me." + type = "TXT" + ttl = 3600 + records = ["\"v=spf1 mx a ip4:204.110.191.5 ~all\""] } # DMARC record for Mailcow -resource "dnsimple_zone_record" "mcintire_dmarc_mailcow" { - zone_name = "mcintire.me" - name = "_dmarc" - value = "\"v=DMARC1; p=quarantine; rua=mailto:postmaster@mcintire.me; ruf=mailto:postmaster@mcintire.me; fo=1\"" - type = "TXT" - ttl = 3600 +resource "powerdns_record" "mcintire_dmarc_mailcow" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "_dmarc.mcintire.me." + type = "TXT" + ttl = 3600 + records = ["\"v=DMARC1; p=quarantine; rua=mailto:postmaster@mcintire.me; ruf=mailto:postmaster@mcintire.me; fo=1\""] } # DKIM record from Mailcow -resource "dnsimple_zone_record" "mcintire_dkim_mailcow" { - zone_name = "mcintire.me" - name = "dkim._domainkey" - value = "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0rQie7Hz5AmDbVUX+rKNgp6Hf7crtWyfy6qKbqnrxmmernz1rQ6HyOrHhFAlc8nVLNKr8XP2DOROb1jAnrjndZo9I/ymbrrrCBsi9w6zAht2BheijO/R9k5CDRjeSafm6bg0oMKihtNMIdXvEj9ND8hDpZZKxtOrKFH7zLm4CPmm7jf0gqZH2yK+AA3OYUGSYa1OT0LtdMXadk0IVOI2VYf37Hzb3RUvGOYMVkT0xi+23DiyFk7AyCiyv3LQVBMT+/bwyd4k3yVVn2cr9+Nor+HXVjqASLtqcFLMf1SuX0ezSAjBG7BbqQr5G6Jz+n5YglqEIUKVYzJFE7JdDmqQYQIDAQAB" - type = "TXT" - ttl = 3600 +resource "powerdns_record" "mcintire_dkim_mailcow" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "dkim._domainkey.mcintire.me." + type = "TXT" + ttl = 3600 + records = ["\"v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0rQie7Hz5AmDbVUX+rKNgp6Hf7crtWyfy6qKbqnrxmmernz1rQ6HyOrHhFAlc8nVLNKr8XP2DOROb1jAnrjndZo9I/ymbrrrCBsi9w6zAht2BheijO/R9k5CDRjeSafm6bg0oMKihtNMIdXvEj9ND8hDpZZKxtOrKFH7zLm4CPmm7jf0gqZH2yK+AA3OYUGSYa1OT0LtdMXadk0IVOI2VYf37Hzb3RUvGOYMVkT0xi+23DiyFk7AyCiyv3LQVBMT+/bwyd4k3yVVn2cr9+Nor+HXVjqASLtqcFLMf1SuX0ezSAjBG7BbqQr5G6Jz+n5YglqEIUKVYzJFE7JdDmqQYQIDAQAB\""] } -resource "dnsimple_zone_record" "mcintire_photos" { - zone_name = "mcintire.me" - name = "photos" - value = "204.110.191.8" - type = "A" - ttl = 3600 +resource "powerdns_record" "mcintire_photos" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "photos.mcintire.me." + type = "A" + ttl = 3600 + records = ["204.110.191.8"] } -resource "dnsimple_zone_record" "mcintire_headscale" { - zone_name = "mcintire.me" - name = "headscale" - value = "66.206.18.166" - type = "A" - ttl = 3600 +resource "powerdns_record" "mcintire_headscale" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "headscale.mcintire.me." + type = "A" + ttl = 3600 + records = ["66.206.18.166"] } -resource "dnsimple_zone_record" "mcintire_hs" { - zone_name = "mcintire.me" - name = "hs" - value = "66.206.18.166" - type = "A" - ttl = 3600 +resource "powerdns_record" "mcintire_hs" { + depends_on = [powerdns_zone.mcintire_me] + zone = "mcintire.me." + name = "hs.mcintire.me." + type = "A" + ttl = 3600 + records = ["66.206.18.166"] } diff --git a/home/terraform/dns_mcintire_dnsimple_TEMP.tf b/home/terraform/dns_mcintire_dnsimple_TEMP.tf new file mode 100644 index 0000000..e35d743 --- /dev/null +++ b/home/terraform/dns_mcintire_dnsimple_TEMP.tf @@ -0,0 +1,118 @@ +# DNS configuration for mcintire.me domain (DNSimple) +# Mail records point to Mailcow on mail.w5isp.com + +# Note: DNSimple manages SOA automatically, no need to define it + +# Mailcow MX records +resource "dnsimple_zone_record" "mcintire_mx_mailcow" { + zone_name = "mcintire.me" + name = "" + value = "mail.w5isp.com." + type = "MX" + ttl = 3600 + priority = 10 +} + +resource "dnsimple_zone_record" "mcintire_mx_backup" { + zone_name = "mcintire.me" + name = "" + value = "mail.nsnw.ca." + type = "MX" + ttl = 3600 + priority = 20 +} + +resource "dnsimple_zone_record" "mcintire_cname_test" { + zone_name = "mcintire.me" + name = "*.test" + value = "cname.bookappt.link." + type = "CNAME" + ttl = 14400 +} + +# Mail server +resource "dnsimple_zone_record" "mcintire_mail" { + zone_name = "mcintire.me" + name = "mail" + value = "204.110.191.5" + type = "A" + ttl = 3600 +} + +# Autodiscover for mail clients +resource "dnsimple_zone_record" "mcintire_autodiscover" { + zone_name = "mcintire.me" + name = "autodiscover" + value = "mail.w5isp.com." + type = "CNAME" + ttl = 3600 +} + +# Autodiscover SRV record +resource "dnsimple_zone_record" "mcintire_autodiscover_srv" { + zone_name = "mcintire.me" + name = "_autodiscover._tcp" + value = "0 0 443 mail.w5isp.com." + type = "SRV" + ttl = 3600 +} + +# Autoconfig for mail clients +resource "dnsimple_zone_record" "mcintire_autoconfig" { + zone_name = "mcintire.me" + name = "autoconfig" + value = "mail.w5isp.com." + type = "CNAME" + ttl = 3600 +} + +# SPF record for Mailcow +resource "dnsimple_zone_record" "mcintire_spf_mailcow" { + zone_name = "mcintire.me" + name = "" + value = "v=spf1 mx a ip4:204.110.191.5 ~all" + type = "TXT" + ttl = 3600 +} + +# DMARC record for Mailcow +resource "dnsimple_zone_record" "mcintire_dmarc_mailcow" { + zone_name = "mcintire.me" + name = "_dmarc" + value = "v=DMARC1; p=quarantine; rua=mailto:postmaster@mcintire.me; ruf=mailto:postmaster@mcintire.me; fo=1" + type = "TXT" + ttl = 3600 +} + +# DKIM record from Mailcow +resource "dnsimple_zone_record" "mcintire_dkim_mailcow" { + zone_name = "mcintire.me" + name = "dkim._domainkey" + value = "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0rQie7Hz5AmDbVUX+rKNgp6Hf7crtWyfy6qKbqnrxmmernz1rQ6HyOrHhFAlc8nVLNKr8XP2DOROb1jAnrjndZo9I/ymbrrrCBsi9w6zAht2BheijO/R9k5CDRjeSafm6bg0oMKihtNMIdXvEj9ND8hDpZZKxtOrKFH7zLm4CPmm7jf0gqZH2yK+AA3OYUGSYa1OT0LtdMXadk0IVOI2VYf37Hzb3RUvGOYMVkT0xi+23DiyFk7AyCiyv3LQVBMT+/bwyd4k3yVVn2cr9+Nor+HXVjqASLtqcFLMf1SuX0ezSAjBG7BbqQr5G6Jz+n5YglqEIUKVYzJFE7JdDmqQYQIDAQAB" + type = "TXT" + ttl = 3600 +} + +resource "dnsimple_zone_record" "mcintire_photos" { + zone_name = "mcintire.me" + name = "photos" + value = "204.110.191.8" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "mcintire_headscale" { + zone_name = "mcintire.me" + name = "headscale" + value = "66.206.18.166" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "mcintire_hs" { + zone_name = "mcintire.me" + name = "hs" + value = "66.206.18.166" + type = "A" + ttl = 3600 +} diff --git a/home/terraform/dns_powerdns_zones.tf b/home/terraform/dns_powerdns_zones.tf new file mode 100644 index 0000000..1c3ba6b --- /dev/null +++ b/home/terraform/dns_powerdns_zones.tf @@ -0,0 +1,52 @@ +# Vultr PowerDNS Zones +# All zones managed on the Vultr PowerDNS instance + +resource "powerdns_zone" "w5isp" { + name = "w5isp.com." + kind = "Native" + soa_edit_api = "DEFAULT" + nameservers = ["ns1.as393837.net.", "ns-global.kjsl.com."] +} + +resource "powerdns_zone" "aprs_me" { + name = "aprs.me." + kind = "Native" + soa_edit_api = "DEFAULT" + nameservers = ["ns1.as393837.net.", "ns-global.kjsl.com."] +} + +resource "powerdns_zone" "mcintire_me" { + name = "mcintire.me." + kind = "Native" + soa_edit_api = "DEFAULT" + nameservers = ["ns1.as393837.net.", "ns-global.kjsl.com."] +} + +# Reverse DNS zones +resource "powerdns_zone" "vntx1" { + name = "188.110.204.in-addr.arpa." + kind = "Native" + soa_edit_api = "DEFAULT" + nameservers = ["ns1.as393837.net.", "ns-global.kjsl.com."] +} + +resource "powerdns_zone" "vntx2" { + name = "189.110.204.in-addr.arpa." + kind = "Native" + soa_edit_api = "DEFAULT" + nameservers = ["ns1.as393837.net.", "ns-global.kjsl.com."] +} + +resource "powerdns_zone" "vntx3" { + name = "190.110.204.in-addr.arpa." + kind = "Native" + soa_edit_api = "DEFAULT" + nameservers = ["ns1.as393837.net.", "ns-global.kjsl.com."] +} + +resource "powerdns_zone" "vntx4" { + name = "191.110.204.in-addr.arpa." + kind = "Native" + soa_edit_api = "DEFAULT" + nameservers = ["ns1.as393837.net.", "ns-global.kjsl.com."] +} diff --git a/home/terraform/dns_reverse.tf b/home/terraform/dns_reverse.tf index b6d4f05..0ea867c 100644 --- a/home/terraform/dns_reverse.tf +++ b/home/terraform/dns_reverse.tf @@ -1,32 +1,44 @@ -resource "powerdns_zone" "vntx1" { - name = "188.110.204.in-addr.arpa." - kind = "Native" - soa_edit_api = "DEFAULT" - nameservers = ["ns1.vntx.net.", "ns2.vntx.net.", "ns-global.kjsl.com."] +# Reverse DNS zones are defined in dns_powerdns_zones.tf + +# SOA records for reverse zones +resource "powerdns_record" "vntx1_soa" { + depends_on = [powerdns_zone.vntx1] + zone = "188.110.204.in-addr.arpa." + name = "188.110.204.in-addr.arpa." + type = "SOA" + ttl = 3600 + records = ["ns1.as393837.net. graham.mcintire.me. 0 10800 3600 604800 3600"] } -resource "powerdns_zone" "vntx2" { - name = "189.110.204.in-addr.arpa." - kind = "Native" - soa_edit_api = "DEFAULT" - nameservers = ["ns1.vntx.net.", "ns2.vntx.net.", "ns-global.kjsl.com."] +resource "powerdns_record" "vntx2_soa" { + depends_on = [powerdns_zone.vntx2] + zone = "189.110.204.in-addr.arpa." + name = "189.110.204.in-addr.arpa." + type = "SOA" + ttl = 3600 + records = ["ns1.as393837.net. graham.mcintire.me. 0 10800 3600 604800 3600"] } -resource "powerdns_zone" "vntx3" { - name = "190.110.204.in-addr.arpa." - kind = "Native" - soa_edit_api = "DEFAULT" - nameservers = ["ns1.vntx.net.", "ns2.vntx.net.", "ns-global.kjsl.com."] +resource "powerdns_record" "vntx3_soa" { + depends_on = [powerdns_zone.vntx3] + zone = "190.110.204.in-addr.arpa." + name = "190.110.204.in-addr.arpa." + type = "SOA" + ttl = 3600 + records = ["ns1.as393837.net. graham.mcintire.me. 0 10800 3600 604800 3600"] } -resource "powerdns_zone" "vntx4" { - name = "191.110.204.in-addr.arpa." - kind = "Native" - soa_edit_api = "DEFAULT" - nameservers = ["ns1.vntx.net.", "ns2.vntx.net.", "ns-global.kjsl.com."] +resource "powerdns_record" "vntx4_soa" { + depends_on = [powerdns_zone.vntx4] + zone = "191.110.204.in-addr.arpa." + name = "191.110.204.in-addr.arpa." + type = "SOA" + ttl = 3600 + records = ["ns1.as393837.net. graham.mcintire.me. 0 10800 3600 604800 3600"] } resource "powerdns_record" "ptr_records1" { + depends_on = [powerdns_zone.vntx1] for_each = { for i in range(256) : tostring(i) => { name = "${i}.188.110.204.in-addr.arpa." @@ -42,6 +54,7 @@ resource "powerdns_record" "ptr_records1" { } resource "powerdns_record" "ptr_records2" { + depends_on = [powerdns_zone.vntx2] for_each = { for i in range(256) : tostring(i) => { name = "${i}.189.110.204.in-addr.arpa." @@ -57,6 +70,7 @@ resource "powerdns_record" "ptr_records2" { } resource "powerdns_record" "ptr_records3" { + depends_on = [powerdns_zone.vntx3] for_each = { for i in range(256) : tostring(i) => { name = "${i}.190.110.204.in-addr.arpa." @@ -72,6 +86,7 @@ resource "powerdns_record" "ptr_records3" { } resource "powerdns_record" "ptr_records4" { + depends_on = [powerdns_zone.vntx4] for_each = { for i in range(256) : tostring(i) => { name = "${i}.191.110.204.in-addr.arpa." diff --git a/home/terraform/dns_vntx_net.tf b/home/terraform/dns_vntx_net.tf index 26bda08..028778b 100644 --- a/home/terraform/dns_vntx_net.tf +++ b/home/terraform/dns_vntx_net.tf @@ -1,1028 +1,1028 @@ -resource "porkbun_dns_record" "vntx_a_records" { +resource "dnsimple_zone_record" "vntx_a_records" { for_each = { - # Subnet: 204.110.188.0/24 - "1.188.client" = "204.110.188.1" - "2.188.client" = "204.110.188.2" - "3.188.client" = "204.110.188.3" - "4.188.client" = "204.110.188.4" - "5.188.client" = "204.110.188.5" - "6.188.client" = "204.110.188.6" - "7.188.client" = "204.110.188.7" - "8.188.client" = "204.110.188.8" - "9.188.client" = "204.110.188.9" - "10.188.client" = "204.110.188.10" - "11.188.client" = "204.110.188.11" - "12.188.client" = "204.110.188.12" - "13.188.client" = "204.110.188.13" - "14.188.client" = "204.110.188.14" - "15.188.client" = "204.110.188.15" - "16.188.client" = "204.110.188.16" - "17.188.client" = "204.110.188.17" - "18.188.client" = "204.110.188.18" - "19.188.client" = "204.110.188.19" - "20.188.client" = "204.110.188.20" - "21.188.client" = "204.110.188.21" - "22.188.client" = "204.110.188.22" - "23.188.client" = "204.110.188.23" - "24.188.client" = "204.110.188.24" - "25.188.client" = "204.110.188.25" - "26.188.client" = "204.110.188.26" - "27.188.client" = "204.110.188.27" - "28.188.client" = "204.110.188.28" - "29.188.client" = "204.110.188.29" - "30.188.client" = "204.110.188.30" - "31.188.client" = "204.110.188.31" - "32.188.client" = "204.110.188.32" - "33.188.client" = "204.110.188.33" - "34.188.client" = "204.110.188.34" - "35.188.client" = "204.110.188.35" - "36.188.client" = "204.110.188.36" - "37.188.client" = "204.110.188.37" - "38.188.client" = "204.110.188.38" - "39.188.client" = "204.110.188.39" - "40.188.client" = "204.110.188.40" - "41.188.client" = "204.110.188.41" - "42.188.client" = "204.110.188.42" - "43.188.client" = "204.110.188.43" - "44.188.client" = "204.110.188.44" - "45.188.client" = "204.110.188.45" - "46.188.client" = "204.110.188.46" - "47.188.client" = "204.110.188.47" - "48.188.client" = "204.110.188.48" - "49.188.client" = "204.110.188.49" - "50.188.client" = "204.110.188.50" - "51.188.client" = "204.110.188.51" - "52.188.client" = "204.110.188.52" - "53.188.client" = "204.110.188.53" - "54.188.client" = "204.110.188.54" - "55.188.client" = "204.110.188.55" - "56.188.client" = "204.110.188.56" - "57.188.client" = "204.110.188.57" - "58.188.client" = "204.110.188.58" - "59.188.client" = "204.110.188.59" - "60.188.client" = "204.110.188.60" - "61.188.client" = "204.110.188.61" - "62.188.client" = "204.110.188.62" - "63.188.client" = "204.110.188.63" - "64.188.client" = "204.110.188.64" - "65.188.client" = "204.110.188.65" - "66.188.client" = "204.110.188.66" - "67.188.client" = "204.110.188.67" - "68.188.client" = "204.110.188.68" - "69.188.client" = "204.110.188.69" - "70.188.client" = "204.110.188.70" - "71.188.client" = "204.110.188.71" - "72.188.client" = "204.110.188.72" - "73.188.client" = "204.110.188.73" - "74.188.client" = "204.110.188.74" - "75.188.client" = "204.110.188.75" - "76.188.client" = "204.110.188.76" - "77.188.client" = "204.110.188.77" - "78.188.client" = "204.110.188.78" - "79.188.client" = "204.110.188.79" - "80.188.client" = "204.110.188.80" - "81.188.client" = "204.110.188.81" - "82.188.client" = "204.110.188.82" - "83.188.client" = "204.110.188.83" - "84.188.client" = "204.110.188.84" - "85.188.client" = "204.110.188.85" - "86.188.client" = "204.110.188.86" - "87.188.client" = "204.110.188.87" - "88.188.client" = "204.110.188.88" - "89.188.client" = "204.110.188.89" - "90.188.client" = "204.110.188.90" - "91.188.client" = "204.110.188.91" - "92.188.client" = "204.110.188.92" - "93.188.client" = "204.110.188.93" - "94.188.client" = "204.110.188.94" - "95.188.client" = "204.110.188.95" - "96.188.client" = "204.110.188.96" - "97.188.client" = "204.110.188.97" - "98.188.client" = "204.110.188.98" - "99.188.client" = "204.110.188.99" - "100.188.client" = "204.110.188.100" - "101.188.client" = "204.110.188.101" - "102.188.client" = "204.110.188.102" - "103.188.client" = "204.110.188.103" - "104.188.client" = "204.110.188.104" - "105.188.client" = "204.110.188.105" - "106.188.client" = "204.110.188.106" - "107.188.client" = "204.110.188.107" - "108.188.client" = "204.110.188.108" - "109.188.client" = "204.110.188.109" - "110.188.client" = "204.110.188.110" - "111.188.client" = "204.110.188.111" - "112.188.client" = "204.110.188.112" - "113.188.client" = "204.110.188.113" - "114.188.client" = "204.110.188.114" - "115.188.client" = "204.110.188.115" - "116.188.client" = "204.110.188.116" - "117.188.client" = "204.110.188.117" - "118.188.client" = "204.110.188.118" - "119.188.client" = "204.110.188.119" - "120.188.client" = "204.110.188.120" - "121.188.client" = "204.110.188.121" - "122.188.client" = "204.110.188.122" - "123.188.client" = "204.110.188.123" - "124.188.client" = "204.110.188.124" - "125.188.client" = "204.110.188.125" - "126.188.client" = "204.110.188.126" - "127.188.client" = "204.110.188.127" - "128.188.client" = "204.110.188.128" - "129.188.client" = "204.110.188.129" - "130.188.client" = "204.110.188.130" - "131.188.client" = "204.110.188.131" - "132.188.client" = "204.110.188.132" - "133.188.client" = "204.110.188.133" - "134.188.client" = "204.110.188.134" - "135.188.client" = "204.110.188.135" - "136.188.client" = "204.110.188.136" - "137.188.client" = "204.110.188.137" - "138.188.client" = "204.110.188.138" - "139.188.client" = "204.110.188.139" - "140.188.client" = "204.110.188.140" - "141.188.client" = "204.110.188.141" - "142.188.client" = "204.110.188.142" - "143.188.client" = "204.110.188.143" - "144.188.client" = "204.110.188.144" - "145.188.client" = "204.110.188.145" - "146.188.client" = "204.110.188.146" - "147.188.client" = "204.110.188.147" - "148.188.client" = "204.110.188.148" - "149.188.client" = "204.110.188.149" - "150.188.client" = "204.110.188.150" - "151.188.client" = "204.110.188.151" - "152.188.client" = "204.110.188.152" - "153.188.client" = "204.110.188.153" - "154.188.client" = "204.110.188.154" - "155.188.client" = "204.110.188.155" - "156.188.client" = "204.110.188.156" - "157.188.client" = "204.110.188.157" - "158.188.client" = "204.110.188.158" - "159.188.client" = "204.110.188.159" - "160.188.client" = "204.110.188.160" - "161.188.client" = "204.110.188.161" - "162.188.client" = "204.110.188.162" - "163.188.client" = "204.110.188.163" - "164.188.client" = "204.110.188.164" - "165.188.client" = "204.110.188.165" - "166.188.client" = "204.110.188.166" - "167.188.client" = "204.110.188.167" - "168.188.client" = "204.110.188.168" - "169.188.client" = "204.110.188.169" - "170.188.client" = "204.110.188.170" - "171.188.client" = "204.110.188.171" - "172.188.client" = "204.110.188.172" - "173.188.client" = "204.110.188.173" - "174.188.client" = "204.110.188.174" - "175.188.client" = "204.110.188.175" - "176.188.client" = "204.110.188.176" - "177.188.client" = "204.110.188.177" - "178.188.client" = "204.110.188.178" - "179.188.client" = "204.110.188.179" - "180.188.client" = "204.110.188.180" - "181.188.client" = "204.110.188.181" - "182.188.client" = "204.110.188.182" - "183.188.client" = "204.110.188.183" - "184.188.client" = "204.110.188.184" - "185.188.client" = "204.110.188.185" - "186.188.client" = "204.110.188.186" - "187.188.client" = "204.110.188.187" - "188.188.client" = "204.110.188.188" - "189.188.client" = "204.110.188.189" - "190.188.client" = "204.110.188.190" - "191.188.client" = "204.110.188.191" - "192.188.client" = "204.110.188.192" - "193.188.client" = "204.110.188.193" - "194.188.client" = "204.110.188.194" - "195.188.client" = "204.110.188.195" - "196.188.client" = "204.110.188.196" - "197.188.client" = "204.110.188.197" - "198.188.client" = "204.110.188.198" - "199.188.client" = "204.110.188.199" - "200.188.client" = "204.110.188.200" - "201.188.client" = "204.110.188.201" - "202.188.client" = "204.110.188.202" - "203.188.client" = "204.110.188.203" - "204.188.client" = "204.110.188.204" - "205.188.client" = "204.110.188.205" - "206.188.client" = "204.110.188.206" - "207.188.client" = "204.110.188.207" - "208.188.client" = "204.110.188.208" - "209.188.client" = "204.110.188.209" - "210.188.client" = "204.110.188.210" - "211.188.client" = "204.110.188.211" - "212.188.client" = "204.110.188.212" - "213.188.client" = "204.110.188.213" - "214.188.client" = "204.110.188.214" - "215.188.client" = "204.110.188.215" - "216.188.client" = "204.110.188.216" - "217.188.client" = "204.110.188.217" - "218.188.client" = "204.110.188.218" - "219.188.client" = "204.110.188.219" - "220.188.client" = "204.110.188.220" - "221.188.client" = "204.110.188.221" - "222.188.client" = "204.110.188.222" - "223.188.client" = "204.110.188.223" - "224.188.client" = "204.110.188.224" - "225.188.client" = "204.110.188.225" - "226.188.client" = "204.110.188.226" - "227.188.client" = "204.110.188.227" - "228.188.client" = "204.110.188.228" - "229.188.client" = "204.110.188.229" - "230.188.client" = "204.110.188.230" - "231.188.client" = "204.110.188.231" - "232.188.client" = "204.110.188.232" - "233.188.client" = "204.110.188.233" - "234.188.client" = "204.110.188.234" - "235.188.client" = "204.110.188.235" - "236.188.client" = "204.110.188.236" - "237.188.client" = "204.110.188.237" - "238.188.client" = "204.110.188.238" - "239.188.client" = "204.110.188.239" - "240.188.client" = "204.110.188.240" - "241.188.client" = "204.110.188.241" - "242.188.client" = "204.110.188.242" - "243.188.client" = "204.110.188.243" - "244.188.client" = "204.110.188.244" - "245.188.client" = "204.110.188.245" - "246.188.client" = "204.110.188.246" - "247.188.client" = "204.110.188.247" - "248.188.client" = "204.110.188.248" - "249.188.client" = "204.110.188.249" - "250.188.client" = "204.110.188.250" - "251.188.client" = "204.110.188.251" - "252.188.client" = "204.110.188.252" - "253.188.client" = "204.110.188.253" - "254.188.client" = "204.110.188.254" + # # Subnet: 204.110.188.0/24 + # "1.188.client" = "204.110.188.1" + # "2.188.client" = "204.110.188.2" + # "3.188.client" = "204.110.188.3" + # "4.188.client" = "204.110.188.4" + # "5.188.client" = "204.110.188.5" + # "6.188.client" = "204.110.188.6" + # "7.188.client" = "204.110.188.7" + # "8.188.client" = "204.110.188.8" + # "9.188.client" = "204.110.188.9" + # "10.188.client" = "204.110.188.10" + # "11.188.client" = "204.110.188.11" + # "12.188.client" = "204.110.188.12" + # "13.188.client" = "204.110.188.13" + # "14.188.client" = "204.110.188.14" + # "15.188.client" = "204.110.188.15" + # "16.188.client" = "204.110.188.16" + # "17.188.client" = "204.110.188.17" + # "18.188.client" = "204.110.188.18" + # "19.188.client" = "204.110.188.19" + # "20.188.client" = "204.110.188.20" + # "21.188.client" = "204.110.188.21" + # "22.188.client" = "204.110.188.22" + # "23.188.client" = "204.110.188.23" + # "24.188.client" = "204.110.188.24" + # "25.188.client" = "204.110.188.25" + # "26.188.client" = "204.110.188.26" + # "27.188.client" = "204.110.188.27" + # "28.188.client" = "204.110.188.28" + # "29.188.client" = "204.110.188.29" + # "30.188.client" = "204.110.188.30" + # "31.188.client" = "204.110.188.31" + # "32.188.client" = "204.110.188.32" + # "33.188.client" = "204.110.188.33" + # "34.188.client" = "204.110.188.34" + # "35.188.client" = "204.110.188.35" + # "36.188.client" = "204.110.188.36" + # "37.188.client" = "204.110.188.37" + # "38.188.client" = "204.110.188.38" + # "39.188.client" = "204.110.188.39" + # "40.188.client" = "204.110.188.40" + # "41.188.client" = "204.110.188.41" + # "42.188.client" = "204.110.188.42" + # "43.188.client" = "204.110.188.43" + # "44.188.client" = "204.110.188.44" + # "45.188.client" = "204.110.188.45" + # "46.188.client" = "204.110.188.46" + # "47.188.client" = "204.110.188.47" + # "48.188.client" = "204.110.188.48" + # "49.188.client" = "204.110.188.49" + # "50.188.client" = "204.110.188.50" + # "51.188.client" = "204.110.188.51" + # "52.188.client" = "204.110.188.52" + # "53.188.client" = "204.110.188.53" + # "54.188.client" = "204.110.188.54" + # "55.188.client" = "204.110.188.55" + # "56.188.client" = "204.110.188.56" + # "57.188.client" = "204.110.188.57" + # "58.188.client" = "204.110.188.58" + # "59.188.client" = "204.110.188.59" + # "60.188.client" = "204.110.188.60" + # "61.188.client" = "204.110.188.61" + # "62.188.client" = "204.110.188.62" + # "63.188.client" = "204.110.188.63" + # "64.188.client" = "204.110.188.64" + # "65.188.client" = "204.110.188.65" + # "66.188.client" = "204.110.188.66" + # "67.188.client" = "204.110.188.67" + # "68.188.client" = "204.110.188.68" + # "69.188.client" = "204.110.188.69" + # "70.188.client" = "204.110.188.70" + # "71.188.client" = "204.110.188.71" + # "72.188.client" = "204.110.188.72" + # "73.188.client" = "204.110.188.73" + # "74.188.client" = "204.110.188.74" + # "75.188.client" = "204.110.188.75" + # "76.188.client" = "204.110.188.76" + # "77.188.client" = "204.110.188.77" + # "78.188.client" = "204.110.188.78" + # "79.188.client" = "204.110.188.79" + # "80.188.client" = "204.110.188.80" + # "81.188.client" = "204.110.188.81" + # "82.188.client" = "204.110.188.82" + # "83.188.client" = "204.110.188.83" + # "84.188.client" = "204.110.188.84" + # "85.188.client" = "204.110.188.85" + # "86.188.client" = "204.110.188.86" + # "87.188.client" = "204.110.188.87" + # "88.188.client" = "204.110.188.88" + # "89.188.client" = "204.110.188.89" + # "90.188.client" = "204.110.188.90" + # "91.188.client" = "204.110.188.91" + # "92.188.client" = "204.110.188.92" + # "93.188.client" = "204.110.188.93" + # "94.188.client" = "204.110.188.94" + # "95.188.client" = "204.110.188.95" + # "96.188.client" = "204.110.188.96" + # "97.188.client" = "204.110.188.97" + # "98.188.client" = "204.110.188.98" + # "99.188.client" = "204.110.188.99" + # "100.188.client" = "204.110.188.100" + # "101.188.client" = "204.110.188.101" + # "102.188.client" = "204.110.188.102" + # "103.188.client" = "204.110.188.103" + # "104.188.client" = "204.110.188.104" + # "105.188.client" = "204.110.188.105" + # "106.188.client" = "204.110.188.106" + # "107.188.client" = "204.110.188.107" + # "108.188.client" = "204.110.188.108" + # "109.188.client" = "204.110.188.109" + # "110.188.client" = "204.110.188.110" + # "111.188.client" = "204.110.188.111" + # "112.188.client" = "204.110.188.112" + # "113.188.client" = "204.110.188.113" + # "114.188.client" = "204.110.188.114" + # "115.188.client" = "204.110.188.115" + # "116.188.client" = "204.110.188.116" + # "117.188.client" = "204.110.188.117" + # "118.188.client" = "204.110.188.118" + # "119.188.client" = "204.110.188.119" + # "120.188.client" = "204.110.188.120" + # "121.188.client" = "204.110.188.121" + # "122.188.client" = "204.110.188.122" + # "123.188.client" = "204.110.188.123" + # "124.188.client" = "204.110.188.124" + # "125.188.client" = "204.110.188.125" + # "126.188.client" = "204.110.188.126" + # "127.188.client" = "204.110.188.127" + # "128.188.client" = "204.110.188.128" + # "129.188.client" = "204.110.188.129" + # "130.188.client" = "204.110.188.130" + # "131.188.client" = "204.110.188.131" + # "132.188.client" = "204.110.188.132" + # "133.188.client" = "204.110.188.133" + # "134.188.client" = "204.110.188.134" + # "135.188.client" = "204.110.188.135" + # "136.188.client" = "204.110.188.136" + # "137.188.client" = "204.110.188.137" + # "138.188.client" = "204.110.188.138" + # "139.188.client" = "204.110.188.139" + # "140.188.client" = "204.110.188.140" + # "141.188.client" = "204.110.188.141" + # "142.188.client" = "204.110.188.142" + # "143.188.client" = "204.110.188.143" + # "144.188.client" = "204.110.188.144" + # "145.188.client" = "204.110.188.145" + # "146.188.client" = "204.110.188.146" + # "147.188.client" = "204.110.188.147" + # "148.188.client" = "204.110.188.148" + # "149.188.client" = "204.110.188.149" + # "150.188.client" = "204.110.188.150" + # "151.188.client" = "204.110.188.151" + # "152.188.client" = "204.110.188.152" + # "153.188.client" = "204.110.188.153" + # "154.188.client" = "204.110.188.154" + # "155.188.client" = "204.110.188.155" + # "156.188.client" = "204.110.188.156" + # "157.188.client" = "204.110.188.157" + # "158.188.client" = "204.110.188.158" + # "159.188.client" = "204.110.188.159" + # "160.188.client" = "204.110.188.160" + # "161.188.client" = "204.110.188.161" + # "162.188.client" = "204.110.188.162" + # "163.188.client" = "204.110.188.163" + # "164.188.client" = "204.110.188.164" + # "165.188.client" = "204.110.188.165" + # "166.188.client" = "204.110.188.166" + # "167.188.client" = "204.110.188.167" + # "168.188.client" = "204.110.188.168" + # "169.188.client" = "204.110.188.169" + # "170.188.client" = "204.110.188.170" + # "171.188.client" = "204.110.188.171" + # "172.188.client" = "204.110.188.172" + # "173.188.client" = "204.110.188.173" + # "174.188.client" = "204.110.188.174" + # "175.188.client" = "204.110.188.175" + # "176.188.client" = "204.110.188.176" + # "177.188.client" = "204.110.188.177" + # "178.188.client" = "204.110.188.178" + # "179.188.client" = "204.110.188.179" + # "180.188.client" = "204.110.188.180" + # "181.188.client" = "204.110.188.181" + # "182.188.client" = "204.110.188.182" + # "183.188.client" = "204.110.188.183" + # "184.188.client" = "204.110.188.184" + # "185.188.client" = "204.110.188.185" + # "186.188.client" = "204.110.188.186" + # "187.188.client" = "204.110.188.187" + # "188.188.client" = "204.110.188.188" + # "189.188.client" = "204.110.188.189" + # "190.188.client" = "204.110.188.190" + # "191.188.client" = "204.110.188.191" + # "192.188.client" = "204.110.188.192" + # "193.188.client" = "204.110.188.193" + # "194.188.client" = "204.110.188.194" + # "195.188.client" = "204.110.188.195" + # "196.188.client" = "204.110.188.196" + # "197.188.client" = "204.110.188.197" + # "198.188.client" = "204.110.188.198" + # "199.188.client" = "204.110.188.199" + # "200.188.client" = "204.110.188.200" + # "201.188.client" = "204.110.188.201" + # "202.188.client" = "204.110.188.202" + # "203.188.client" = "204.110.188.203" + # "204.188.client" = "204.110.188.204" + # "205.188.client" = "204.110.188.205" + # "206.188.client" = "204.110.188.206" + # "207.188.client" = "204.110.188.207" + # "208.188.client" = "204.110.188.208" + # "209.188.client" = "204.110.188.209" + # "210.188.client" = "204.110.188.210" + # "211.188.client" = "204.110.188.211" + # "212.188.client" = "204.110.188.212" + # "213.188.client" = "204.110.188.213" + # "214.188.client" = "204.110.188.214" + # "215.188.client" = "204.110.188.215" + # "216.188.client" = "204.110.188.216" + # "217.188.client" = "204.110.188.217" + # "218.188.client" = "204.110.188.218" + # "219.188.client" = "204.110.188.219" + # "220.188.client" = "204.110.188.220" + # "221.188.client" = "204.110.188.221" + # "222.188.client" = "204.110.188.222" + # "223.188.client" = "204.110.188.223" + # "224.188.client" = "204.110.188.224" + # "225.188.client" = "204.110.188.225" + # "226.188.client" = "204.110.188.226" + # "227.188.client" = "204.110.188.227" + # "228.188.client" = "204.110.188.228" + # "229.188.client" = "204.110.188.229" + # "230.188.client" = "204.110.188.230" + # "231.188.client" = "204.110.188.231" + # "232.188.client" = "204.110.188.232" + # "233.188.client" = "204.110.188.233" + # "234.188.client" = "204.110.188.234" + # "235.188.client" = "204.110.188.235" + # "236.188.client" = "204.110.188.236" + # "237.188.client" = "204.110.188.237" + # "238.188.client" = "204.110.188.238" + # "239.188.client" = "204.110.188.239" + # "240.188.client" = "204.110.188.240" + # "241.188.client" = "204.110.188.241" + # "242.188.client" = "204.110.188.242" + # "243.188.client" = "204.110.188.243" + # "244.188.client" = "204.110.188.244" + # "245.188.client" = "204.110.188.245" + # "246.188.client" = "204.110.188.246" + # "247.188.client" = "204.110.188.247" + # "248.188.client" = "204.110.188.248" + # "249.188.client" = "204.110.188.249" + # "250.188.client" = "204.110.188.250" + # "251.188.client" = "204.110.188.251" + # "252.188.client" = "204.110.188.252" + # "253.188.client" = "204.110.188.253" + # "254.188.client" = "204.110.188.254" - # Subnet: 204.110.189.0/24 - "1.189.client" = "204.110.189.1" - "2.189.client" = "204.110.189.2" - "3.189.client" = "204.110.189.3" - "4.189.client" = "204.110.189.4" - "5.189.client" = "204.110.189.5" - "6.189.client" = "204.110.189.6" - "7.189.client" = "204.110.189.7" - "8.189.client" = "204.110.189.8" - "9.189.client" = "204.110.189.9" - "10.189.client" = "204.110.189.10" - "11.189.client" = "204.110.189.11" - "12.189.client" = "204.110.189.12" - "13.189.client" = "204.110.189.13" - "14.189.client" = "204.110.189.14" - "15.189.client" = "204.110.189.15" - "16.189.client" = "204.110.189.16" - "17.189.client" = "204.110.189.17" - "18.189.client" = "204.110.189.18" - "19.189.client" = "204.110.189.19" - "20.189.client" = "204.110.189.20" - "21.189.client" = "204.110.189.21" - "22.189.client" = "204.110.189.22" - "23.189.client" = "204.110.189.23" - "24.189.client" = "204.110.189.24" - "25.189.client" = "204.110.189.25" - "26.189.client" = "204.110.189.26" - "27.189.client" = "204.110.189.27" - "28.189.client" = "204.110.189.28" - "29.189.client" = "204.110.189.29" - "30.189.client" = "204.110.189.30" - "31.189.client" = "204.110.189.31" - "32.189.client" = "204.110.189.32" - "33.189.client" = "204.110.189.33" - "34.189.client" = "204.110.189.34" - "35.189.client" = "204.110.189.35" - "36.189.client" = "204.110.189.36" - "37.189.client" = "204.110.189.37" - "38.189.client" = "204.110.189.38" - "39.189.client" = "204.110.189.39" - "40.189.client" = "204.110.189.40" - "41.189.client" = "204.110.189.41" - "42.189.client" = "204.110.189.42" - "43.189.client" = "204.110.189.43" - "44.189.client" = "204.110.189.44" - "45.189.client" = "204.110.189.45" - "46.189.client" = "204.110.189.46" - "47.189.client" = "204.110.189.47" - "48.189.client" = "204.110.189.48" - "49.189.client" = "204.110.189.49" - "50.189.client" = "204.110.189.50" - "51.189.client" = "204.110.189.51" - "52.189.client" = "204.110.189.52" - "53.189.client" = "204.110.189.53" - "54.189.client" = "204.110.189.54" - "55.189.client" = "204.110.189.55" - "56.189.client" = "204.110.189.56" - "57.189.client" = "204.110.189.57" - "58.189.client" = "204.110.189.58" - "59.189.client" = "204.110.189.59" - "60.189.client" = "204.110.189.60" - "61.189.client" = "204.110.189.61" - "62.189.client" = "204.110.189.62" - "63.189.client" = "204.110.189.63" - "64.189.client" = "204.110.189.64" - "65.189.client" = "204.110.189.65" - "66.189.client" = "204.110.189.66" - "67.189.client" = "204.110.189.67" - "68.189.client" = "204.110.189.68" - "69.189.client" = "204.110.189.69" - "70.189.client" = "204.110.189.70" - "71.189.client" = "204.110.189.71" - "72.189.client" = "204.110.189.72" - "73.189.client" = "204.110.189.73" - "74.189.client" = "204.110.189.74" - "75.189.client" = "204.110.189.75" - "76.189.client" = "204.110.189.76" - "77.189.client" = "204.110.189.77" - "78.189.client" = "204.110.189.78" - "79.189.client" = "204.110.189.79" - "80.189.client" = "204.110.189.80" - "81.189.client" = "204.110.189.81" - "82.189.client" = "204.110.189.82" - "83.189.client" = "204.110.189.83" - "84.189.client" = "204.110.189.84" - "85.189.client" = "204.110.189.85" - "86.189.client" = "204.110.189.86" - "87.189.client" = "204.110.189.87" - "88.189.client" = "204.110.189.88" - "89.189.client" = "204.110.189.89" - "90.189.client" = "204.110.189.90" - "91.189.client" = "204.110.189.91" - "92.189.client" = "204.110.189.92" - "93.189.client" = "204.110.189.93" - "94.189.client" = "204.110.189.94" - "95.189.client" = "204.110.189.95" - "96.189.client" = "204.110.189.96" - "97.189.client" = "204.110.189.97" - "98.189.client" = "204.110.189.98" - "99.189.client" = "204.110.189.99" - "100.189.client" = "204.110.189.100" - "101.189.client" = "204.110.189.101" - "102.189.client" = "204.110.189.102" - "103.189.client" = "204.110.189.103" - "104.189.client" = "204.110.189.104" - "105.189.client" = "204.110.189.105" - "106.189.client" = "204.110.189.106" - "107.189.client" = "204.110.189.107" - "108.189.client" = "204.110.189.108" - "109.189.client" = "204.110.189.109" - "110.189.client" = "204.110.189.110" - "111.189.client" = "204.110.189.111" - "112.189.client" = "204.110.189.112" - "113.189.client" = "204.110.189.113" - "114.189.client" = "204.110.189.114" - "115.189.client" = "204.110.189.115" - "116.189.client" = "204.110.189.116" - "117.189.client" = "204.110.189.117" - "118.189.client" = "204.110.189.118" - "119.189.client" = "204.110.189.119" - "120.189.client" = "204.110.189.120" - "121.189.client" = "204.110.189.121" - "122.189.client" = "204.110.189.122" - "123.189.client" = "204.110.189.123" - "124.189.client" = "204.110.189.124" - "125.189.client" = "204.110.189.125" - "126.189.client" = "204.110.189.126" - "127.189.client" = "204.110.189.127" - "128.189.client" = "204.110.189.128" - "129.189.client" = "204.110.189.129" - "130.189.client" = "204.110.189.130" - "131.189.client" = "204.110.189.131" - "132.189.client" = "204.110.189.132" - "133.189.client" = "204.110.189.133" - "134.189.client" = "204.110.189.134" - "135.189.client" = "204.110.189.135" - "136.189.client" = "204.110.189.136" - "137.189.client" = "204.110.189.137" - "138.189.client" = "204.110.189.138" - "139.189.client" = "204.110.189.139" - "140.189.client" = "204.110.189.140" - "141.189.client" = "204.110.189.141" - "142.189.client" = "204.110.189.142" - "143.189.client" = "204.110.189.143" - "144.189.client" = "204.110.189.144" - "145.189.client" = "204.110.189.145" - "146.189.client" = "204.110.189.146" - "147.189.client" = "204.110.189.147" - "148.189.client" = "204.110.189.148" - "149.189.client" = "204.110.189.149" - "150.189.client" = "204.110.189.150" - "151.189.client" = "204.110.189.151" - "152.189.client" = "204.110.189.152" - "153.189.client" = "204.110.189.153" - "154.189.client" = "204.110.189.154" - "155.189.client" = "204.110.189.155" - "156.189.client" = "204.110.189.156" - "157.189.client" = "204.110.189.157" - "158.189.client" = "204.110.189.158" - "159.189.client" = "204.110.189.159" - "160.189.client" = "204.110.189.160" - "161.189.client" = "204.110.189.161" - "162.189.client" = "204.110.189.162" - "163.189.client" = "204.110.189.163" - "164.189.client" = "204.110.189.164" - "165.189.client" = "204.110.189.165" - "166.189.client" = "204.110.189.166" - "167.189.client" = "204.110.189.167" - "168.189.client" = "204.110.189.168" - "169.189.client" = "204.110.189.169" - "170.189.client" = "204.110.189.170" - "171.189.client" = "204.110.189.171" - "172.189.client" = "204.110.189.172" - "173.189.client" = "204.110.189.173" - "174.189.client" = "204.110.189.174" - "175.189.client" = "204.110.189.175" - "176.189.client" = "204.110.189.176" - "177.189.client" = "204.110.189.177" - "178.189.client" = "204.110.189.178" - "179.189.client" = "204.110.189.179" - "180.189.client" = "204.110.189.180" - "181.189.client" = "204.110.189.181" - "182.189.client" = "204.110.189.182" - "183.189.client" = "204.110.189.183" - "184.189.client" = "204.110.189.184" - "185.189.client" = "204.110.189.185" - "186.189.client" = "204.110.189.186" - "187.189.client" = "204.110.189.187" - "188.189.client" = "204.110.189.188" - "189.189.client" = "204.110.189.189" - "190.189.client" = "204.110.189.190" - "191.189.client" = "204.110.189.191" - "192.189.client" = "204.110.189.192" - "193.189.client" = "204.110.189.193" - "194.189.client" = "204.110.189.194" - "195.189.client" = "204.110.189.195" - "196.189.client" = "204.110.189.196" - "197.189.client" = "204.110.189.197" - "198.189.client" = "204.110.189.198" - "199.189.client" = "204.110.189.199" - "200.189.client" = "204.110.189.200" - "201.189.client" = "204.110.189.201" - "202.189.client" = "204.110.189.202" - "203.189.client" = "204.110.189.203" - "204.189.client" = "204.110.189.204" - "205.189.client" = "204.110.189.205" - "206.189.client" = "204.110.189.206" - "207.189.client" = "204.110.189.207" - "208.189.client" = "204.110.189.208" - "209.189.client" = "204.110.189.209" - "210.189.client" = "204.110.189.210" - "211.189.client" = "204.110.189.211" - "212.189.client" = "204.110.189.212" - "213.189.client" = "204.110.189.213" - "214.189.client" = "204.110.189.214" - "215.189.client" = "204.110.189.215" - "216.189.client" = "204.110.189.216" - "217.189.client" = "204.110.189.217" - "218.189.client" = "204.110.189.218" - "219.189.client" = "204.110.189.219" - "220.189.client" = "204.110.189.220" - "221.189.client" = "204.110.189.221" - "222.189.client" = "204.110.189.222" - "223.189.client" = "204.110.189.223" - "224.189.client" = "204.110.189.224" - "225.189.client" = "204.110.189.225" - "226.189.client" = "204.110.189.226" - "227.189.client" = "204.110.189.227" - "228.189.client" = "204.110.189.228" - "229.189.client" = "204.110.189.229" - "230.189.client" = "204.110.189.230" - "231.189.client" = "204.110.189.231" - "232.189.client" = "204.110.189.232" - "233.189.client" = "204.110.189.233" - "234.189.client" = "204.110.189.234" - "235.189.client" = "204.110.189.235" - "236.189.client" = "204.110.189.236" - "237.189.client" = "204.110.189.237" - "238.189.client" = "204.110.189.238" - "239.189.client" = "204.110.189.239" - "240.189.client" = "204.110.189.240" - "241.189.client" = "204.110.189.241" - "242.189.client" = "204.110.189.242" - "243.189.client" = "204.110.189.243" - "244.189.client" = "204.110.189.244" - "245.189.client" = "204.110.189.245" - "246.189.client" = "204.110.189.246" - "247.189.client" = "204.110.189.247" - "248.189.client" = "204.110.189.248" - "249.189.client" = "204.110.189.249" - "250.189.client" = "204.110.189.250" - "251.189.client" = "204.110.189.251" - "252.189.client" = "204.110.189.252" - "253.189.client" = "204.110.189.253" - "254.189.client" = "204.110.189.254" + # # Subnet: 204.110.189.0/24 + # "1.189.client" = "204.110.189.1" + # "2.189.client" = "204.110.189.2" + # "3.189.client" = "204.110.189.3" + # "4.189.client" = "204.110.189.4" + # "5.189.client" = "204.110.189.5" + # "6.189.client" = "204.110.189.6" + # "7.189.client" = "204.110.189.7" + # "8.189.client" = "204.110.189.8" + # "9.189.client" = "204.110.189.9" + # "10.189.client" = "204.110.189.10" + # "11.189.client" = "204.110.189.11" + # "12.189.client" = "204.110.189.12" + # "13.189.client" = "204.110.189.13" + # "14.189.client" = "204.110.189.14" + # "15.189.client" = "204.110.189.15" + # "16.189.client" = "204.110.189.16" + # "17.189.client" = "204.110.189.17" + # "18.189.client" = "204.110.189.18" + # "19.189.client" = "204.110.189.19" + # "20.189.client" = "204.110.189.20" + # "21.189.client" = "204.110.189.21" + # "22.189.client" = "204.110.189.22" + # "23.189.client" = "204.110.189.23" + # "24.189.client" = "204.110.189.24" + # "25.189.client" = "204.110.189.25" + # "26.189.client" = "204.110.189.26" + # "27.189.client" = "204.110.189.27" + # "28.189.client" = "204.110.189.28" + # "29.189.client" = "204.110.189.29" + # "30.189.client" = "204.110.189.30" + # "31.189.client" = "204.110.189.31" + # "32.189.client" = "204.110.189.32" + # "33.189.client" = "204.110.189.33" + # "34.189.client" = "204.110.189.34" + # "35.189.client" = "204.110.189.35" + # "36.189.client" = "204.110.189.36" + # "37.189.client" = "204.110.189.37" + # "38.189.client" = "204.110.189.38" + # "39.189.client" = "204.110.189.39" + # "40.189.client" = "204.110.189.40" + # "41.189.client" = "204.110.189.41" + # "42.189.client" = "204.110.189.42" + # "43.189.client" = "204.110.189.43" + # "44.189.client" = "204.110.189.44" + # "45.189.client" = "204.110.189.45" + # "46.189.client" = "204.110.189.46" + # "47.189.client" = "204.110.189.47" + # "48.189.client" = "204.110.189.48" + # "49.189.client" = "204.110.189.49" + # "50.189.client" = "204.110.189.50" + # "51.189.client" = "204.110.189.51" + # "52.189.client" = "204.110.189.52" + # "53.189.client" = "204.110.189.53" + # "54.189.client" = "204.110.189.54" + # "55.189.client" = "204.110.189.55" + # "56.189.client" = "204.110.189.56" + # "57.189.client" = "204.110.189.57" + # "58.189.client" = "204.110.189.58" + # "59.189.client" = "204.110.189.59" + # "60.189.client" = "204.110.189.60" + # "61.189.client" = "204.110.189.61" + # "62.189.client" = "204.110.189.62" + # "63.189.client" = "204.110.189.63" + # "64.189.client" = "204.110.189.64" + # "65.189.client" = "204.110.189.65" + # "66.189.client" = "204.110.189.66" + # "67.189.client" = "204.110.189.67" + # "68.189.client" = "204.110.189.68" + # "69.189.client" = "204.110.189.69" + # "70.189.client" = "204.110.189.70" + # "71.189.client" = "204.110.189.71" + # "72.189.client" = "204.110.189.72" + # "73.189.client" = "204.110.189.73" + # "74.189.client" = "204.110.189.74" + # "75.189.client" = "204.110.189.75" + # "76.189.client" = "204.110.189.76" + # "77.189.client" = "204.110.189.77" + # "78.189.client" = "204.110.189.78" + # "79.189.client" = "204.110.189.79" + # "80.189.client" = "204.110.189.80" + # "81.189.client" = "204.110.189.81" + # "82.189.client" = "204.110.189.82" + # "83.189.client" = "204.110.189.83" + # "84.189.client" = "204.110.189.84" + # "85.189.client" = "204.110.189.85" + # "86.189.client" = "204.110.189.86" + # "87.189.client" = "204.110.189.87" + # "88.189.client" = "204.110.189.88" + # "89.189.client" = "204.110.189.89" + # "90.189.client" = "204.110.189.90" + # "91.189.client" = "204.110.189.91" + # "92.189.client" = "204.110.189.92" + # "93.189.client" = "204.110.189.93" + # "94.189.client" = "204.110.189.94" + # "95.189.client" = "204.110.189.95" + # "96.189.client" = "204.110.189.96" + # "97.189.client" = "204.110.189.97" + # "98.189.client" = "204.110.189.98" + # "99.189.client" = "204.110.189.99" + # "100.189.client" = "204.110.189.100" + # "101.189.client" = "204.110.189.101" + # "102.189.client" = "204.110.189.102" + # "103.189.client" = "204.110.189.103" + # "104.189.client" = "204.110.189.104" + # "105.189.client" = "204.110.189.105" + # "106.189.client" = "204.110.189.106" + # "107.189.client" = "204.110.189.107" + # "108.189.client" = "204.110.189.108" + # "109.189.client" = "204.110.189.109" + # "110.189.client" = "204.110.189.110" + # "111.189.client" = "204.110.189.111" + # "112.189.client" = "204.110.189.112" + # "113.189.client" = "204.110.189.113" + # "114.189.client" = "204.110.189.114" + # "115.189.client" = "204.110.189.115" + # "116.189.client" = "204.110.189.116" + # "117.189.client" = "204.110.189.117" + # "118.189.client" = "204.110.189.118" + # "119.189.client" = "204.110.189.119" + # "120.189.client" = "204.110.189.120" + # "121.189.client" = "204.110.189.121" + # "122.189.client" = "204.110.189.122" + # "123.189.client" = "204.110.189.123" + # "124.189.client" = "204.110.189.124" + # "125.189.client" = "204.110.189.125" + # "126.189.client" = "204.110.189.126" + # "127.189.client" = "204.110.189.127" + # "128.189.client" = "204.110.189.128" + # "129.189.client" = "204.110.189.129" + # "130.189.client" = "204.110.189.130" + # "131.189.client" = "204.110.189.131" + # "132.189.client" = "204.110.189.132" + # "133.189.client" = "204.110.189.133" + # "134.189.client" = "204.110.189.134" + # "135.189.client" = "204.110.189.135" + # "136.189.client" = "204.110.189.136" + # "137.189.client" = "204.110.189.137" + # "138.189.client" = "204.110.189.138" + # "139.189.client" = "204.110.189.139" + # "140.189.client" = "204.110.189.140" + # "141.189.client" = "204.110.189.141" + # "142.189.client" = "204.110.189.142" + # "143.189.client" = "204.110.189.143" + # "144.189.client" = "204.110.189.144" + # "145.189.client" = "204.110.189.145" + # "146.189.client" = "204.110.189.146" + # "147.189.client" = "204.110.189.147" + # "148.189.client" = "204.110.189.148" + # "149.189.client" = "204.110.189.149" + # "150.189.client" = "204.110.189.150" + # "151.189.client" = "204.110.189.151" + # "152.189.client" = "204.110.189.152" + # "153.189.client" = "204.110.189.153" + # "154.189.client" = "204.110.189.154" + # "155.189.client" = "204.110.189.155" + # "156.189.client" = "204.110.189.156" + # "157.189.client" = "204.110.189.157" + # "158.189.client" = "204.110.189.158" + # "159.189.client" = "204.110.189.159" + # "160.189.client" = "204.110.189.160" + # "161.189.client" = "204.110.189.161" + # "162.189.client" = "204.110.189.162" + # "163.189.client" = "204.110.189.163" + # "164.189.client" = "204.110.189.164" + # "165.189.client" = "204.110.189.165" + # "166.189.client" = "204.110.189.166" + # "167.189.client" = "204.110.189.167" + # "168.189.client" = "204.110.189.168" + # "169.189.client" = "204.110.189.169" + # "170.189.client" = "204.110.189.170" + # "171.189.client" = "204.110.189.171" + # "172.189.client" = "204.110.189.172" + # "173.189.client" = "204.110.189.173" + # "174.189.client" = "204.110.189.174" + # "175.189.client" = "204.110.189.175" + # "176.189.client" = "204.110.189.176" + # "177.189.client" = "204.110.189.177" + # "178.189.client" = "204.110.189.178" + # "179.189.client" = "204.110.189.179" + # "180.189.client" = "204.110.189.180" + # "181.189.client" = "204.110.189.181" + # "182.189.client" = "204.110.189.182" + # "183.189.client" = "204.110.189.183" + # "184.189.client" = "204.110.189.184" + # "185.189.client" = "204.110.189.185" + # "186.189.client" = "204.110.189.186" + # "187.189.client" = "204.110.189.187" + # "188.189.client" = "204.110.189.188" + # "189.189.client" = "204.110.189.189" + # "190.189.client" = "204.110.189.190" + # "191.189.client" = "204.110.189.191" + # "192.189.client" = "204.110.189.192" + # "193.189.client" = "204.110.189.193" + # "194.189.client" = "204.110.189.194" + # "195.189.client" = "204.110.189.195" + # "196.189.client" = "204.110.189.196" + # "197.189.client" = "204.110.189.197" + # "198.189.client" = "204.110.189.198" + # "199.189.client" = "204.110.189.199" + # "200.189.client" = "204.110.189.200" + # "201.189.client" = "204.110.189.201" + # "202.189.client" = "204.110.189.202" + # "203.189.client" = "204.110.189.203" + # "204.189.client" = "204.110.189.204" + # "205.189.client" = "204.110.189.205" + # "206.189.client" = "204.110.189.206" + # "207.189.client" = "204.110.189.207" + # "208.189.client" = "204.110.189.208" + # "209.189.client" = "204.110.189.209" + # "210.189.client" = "204.110.189.210" + # "211.189.client" = "204.110.189.211" + # "212.189.client" = "204.110.189.212" + # "213.189.client" = "204.110.189.213" + # "214.189.client" = "204.110.189.214" + # "215.189.client" = "204.110.189.215" + # "216.189.client" = "204.110.189.216" + # "217.189.client" = "204.110.189.217" + # "218.189.client" = "204.110.189.218" + # "219.189.client" = "204.110.189.219" + # "220.189.client" = "204.110.189.220" + # "221.189.client" = "204.110.189.221" + # "222.189.client" = "204.110.189.222" + # "223.189.client" = "204.110.189.223" + # "224.189.client" = "204.110.189.224" + # "225.189.client" = "204.110.189.225" + # "226.189.client" = "204.110.189.226" + # "227.189.client" = "204.110.189.227" + # "228.189.client" = "204.110.189.228" + # "229.189.client" = "204.110.189.229" + # "230.189.client" = "204.110.189.230" + # "231.189.client" = "204.110.189.231" + # "232.189.client" = "204.110.189.232" + # "233.189.client" = "204.110.189.233" + # "234.189.client" = "204.110.189.234" + # "235.189.client" = "204.110.189.235" + # "236.189.client" = "204.110.189.236" + # "237.189.client" = "204.110.189.237" + # "238.189.client" = "204.110.189.238" + # "239.189.client" = "204.110.189.239" + # "240.189.client" = "204.110.189.240" + # "241.189.client" = "204.110.189.241" + # "242.189.client" = "204.110.189.242" + # "243.189.client" = "204.110.189.243" + # "244.189.client" = "204.110.189.244" + # "245.189.client" = "204.110.189.245" + # "246.189.client" = "204.110.189.246" + # "247.189.client" = "204.110.189.247" + # "248.189.client" = "204.110.189.248" + # "249.189.client" = "204.110.189.249" + # "250.189.client" = "204.110.189.250" + # "251.189.client" = "204.110.189.251" + # "252.189.client" = "204.110.189.252" + # "253.189.client" = "204.110.189.253" + # "254.189.client" = "204.110.189.254" - # Subnet: 204.110.190.0/24 - "1.190.client" = "204.110.190.1" - "2.190.client" = "204.110.190.2" - "3.190.client" = "204.110.190.3" - "4.190.client" = "204.110.190.4" - "5.190.client" = "204.110.190.5" - "6.190.client" = "204.110.190.6" - "7.190.client" = "204.110.190.7" - "8.190.client" = "204.110.190.8" - "9.190.client" = "204.110.190.9" - "10.190.client" = "204.110.190.10" - "11.190.client" = "204.110.190.11" - "12.190.client" = "204.110.190.12" - "13.190.client" = "204.110.190.13" - "14.190.client" = "204.110.190.14" - "15.190.client" = "204.110.190.15" - "16.190.client" = "204.110.190.16" - "17.190.client" = "204.110.190.17" - "18.190.client" = "204.110.190.18" - "19.190.client" = "204.110.190.19" - "20.190.client" = "204.110.190.20" - "21.190.client" = "204.110.190.21" - "22.190.client" = "204.110.190.22" - "23.190.client" = "204.110.190.23" - "24.190.client" = "204.110.190.24" - "25.190.client" = "204.110.190.25" - "26.190.client" = "204.110.190.26" - "27.190.client" = "204.110.190.27" - "28.190.client" = "204.110.190.28" - "29.190.client" = "204.110.190.29" - "30.190.client" = "204.110.190.30" - "31.190.client" = "204.110.190.31" - "32.190.client" = "204.110.190.32" - "33.190.client" = "204.110.190.33" - "34.190.client" = "204.110.190.34" - "35.190.client" = "204.110.190.35" - "36.190.client" = "204.110.190.36" - "37.190.client" = "204.110.190.37" - "38.190.client" = "204.110.190.38" - "39.190.client" = "204.110.190.39" - "40.190.client" = "204.110.190.40" - "41.190.client" = "204.110.190.41" - "42.190.client" = "204.110.190.42" - "43.190.client" = "204.110.190.43" - "44.190.client" = "204.110.190.44" - "45.190.client" = "204.110.190.45" - "46.190.client" = "204.110.190.46" - "47.190.client" = "204.110.190.47" - "48.190.client" = "204.110.190.48" - "49.190.client" = "204.110.190.49" - "50.190.client" = "204.110.190.50" - "51.190.client" = "204.110.190.51" - "52.190.client" = "204.110.190.52" - "53.190.client" = "204.110.190.53" - "54.190.client" = "204.110.190.54" - "55.190.client" = "204.110.190.55" - "56.190.client" = "204.110.190.56" - "57.190.client" = "204.110.190.57" - "58.190.client" = "204.110.190.58" - "59.190.client" = "204.110.190.59" - "60.190.client" = "204.110.190.60" - "61.190.client" = "204.110.190.61" - "62.190.client" = "204.110.190.62" - "63.190.client" = "204.110.190.63" - "64.190.client" = "204.110.190.64" - "65.190.client" = "204.110.190.65" - "66.190.client" = "204.110.190.66" - "67.190.client" = "204.110.190.67" - "68.190.client" = "204.110.190.68" - "69.190.client" = "204.110.190.69" - "70.190.client" = "204.110.190.70" - "71.190.client" = "204.110.190.71" - "72.190.client" = "204.110.190.72" - "73.190.client" = "204.110.190.73" - "74.190.client" = "204.110.190.74" - "75.190.client" = "204.110.190.75" - "76.190.client" = "204.110.190.76" - "77.190.client" = "204.110.190.77" - "78.190.client" = "204.110.190.78" - "79.190.client" = "204.110.190.79" - "80.190.client" = "204.110.190.80" - "81.190.client" = "204.110.190.81" - "82.190.client" = "204.110.190.82" - "83.190.client" = "204.110.190.83" - "84.190.client" = "204.110.190.84" - "85.190.client" = "204.110.190.85" - "86.190.client" = "204.110.190.86" - "87.190.client" = "204.110.190.87" - "88.190.client" = "204.110.190.88" - "89.190.client" = "204.110.190.89" - "90.190.client" = "204.110.190.90" - "91.190.client" = "204.110.190.91" - "92.190.client" = "204.110.190.92" - "93.190.client" = "204.110.190.93" - "94.190.client" = "204.110.190.94" - "95.190.client" = "204.110.190.95" - "96.190.client" = "204.110.190.96" - "97.190.client" = "204.110.190.97" - "98.190.client" = "204.110.190.98" - "99.190.client" = "204.110.190.99" - "100.190.client" = "204.110.190.100" - "101.190.client" = "204.110.190.101" - "102.190.client" = "204.110.190.102" - "103.190.client" = "204.110.190.103" - "104.190.client" = "204.110.190.104" - "105.190.client" = "204.110.190.105" - "106.190.client" = "204.110.190.106" - "107.190.client" = "204.110.190.107" - "108.190.client" = "204.110.190.108" - "109.190.client" = "204.110.190.109" - "110.190.client" = "204.110.190.110" - "111.190.client" = "204.110.190.111" - "112.190.client" = "204.110.190.112" - "113.190.client" = "204.110.190.113" - "114.190.client" = "204.110.190.114" - "115.190.client" = "204.110.190.115" - "116.190.client" = "204.110.190.116" - "117.190.client" = "204.110.190.117" - "118.190.client" = "204.110.190.118" - "119.190.client" = "204.110.190.119" - "120.190.client" = "204.110.190.120" - "121.190.client" = "204.110.190.121" - "122.190.client" = "204.110.190.122" - "123.190.client" = "204.110.190.123" - "124.190.client" = "204.110.190.124" - "125.190.client" = "204.110.190.125" - "126.190.client" = "204.110.190.126" - "127.190.client" = "204.110.190.127" - "128.190.client" = "204.110.190.128" - "129.190.client" = "204.110.190.129" - "130.190.client" = "204.110.190.130" - "131.190.client" = "204.110.190.131" - "132.190.client" = "204.110.190.132" - "133.190.client" = "204.110.190.133" - "134.190.client" = "204.110.190.134" - "135.190.client" = "204.110.190.135" - "136.190.client" = "204.110.190.136" - "137.190.client" = "204.110.190.137" - "138.190.client" = "204.110.190.138" - "139.190.client" = "204.110.190.139" - "140.190.client" = "204.110.190.140" - "141.190.client" = "204.110.190.141" - "142.190.client" = "204.110.190.142" - "143.190.client" = "204.110.190.143" - "144.190.client" = "204.110.190.144" - "145.190.client" = "204.110.190.145" - "146.190.client" = "204.110.190.146" - "147.190.client" = "204.110.190.147" - "148.190.client" = "204.110.190.148" - "149.190.client" = "204.110.190.149" - "150.190.client" = "204.110.190.150" - "151.190.client" = "204.110.190.151" - "152.190.client" = "204.110.190.152" - "153.190.client" = "204.110.190.153" - "154.190.client" = "204.110.190.154" - "155.190.client" = "204.110.190.155" - "156.190.client" = "204.110.190.156" - "157.190.client" = "204.110.190.157" - "158.190.client" = "204.110.190.158" - "159.190.client" = "204.110.190.159" - "160.190.client" = "204.110.190.160" - "161.190.client" = "204.110.190.161" - "162.190.client" = "204.110.190.162" - "163.190.client" = "204.110.190.163" - "164.190.client" = "204.110.190.164" - "165.190.client" = "204.110.190.165" - "166.190.client" = "204.110.190.166" - "167.190.client" = "204.110.190.167" - "168.190.client" = "204.110.190.168" - "169.190.client" = "204.110.190.169" - "170.190.client" = "204.110.190.170" - "171.190.client" = "204.110.190.171" - "172.190.client" = "204.110.190.172" - "173.190.client" = "204.110.190.173" - "174.190.client" = "204.110.190.174" - "175.190.client" = "204.110.190.175" - "176.190.client" = "204.110.190.176" - "177.190.client" = "204.110.190.177" - "178.190.client" = "204.110.190.178" - "179.190.client" = "204.110.190.179" - "180.190.client" = "204.110.190.180" - "181.190.client" = "204.110.190.181" - "182.190.client" = "204.110.190.182" - "183.190.client" = "204.110.190.183" - "184.190.client" = "204.110.190.184" - "185.190.client" = "204.110.190.185" - "186.190.client" = "204.110.190.186" - "187.190.client" = "204.110.190.187" - "188.190.client" = "204.110.190.188" - "189.190.client" = "204.110.190.189" - "190.190.client" = "204.110.190.190" - "191.190.client" = "204.110.190.191" - "192.190.client" = "204.110.190.192" - "193.190.client" = "204.110.190.193" - "194.190.client" = "204.110.190.194" - "195.190.client" = "204.110.190.195" - "196.190.client" = "204.110.190.196" - "197.190.client" = "204.110.190.197" - "198.190.client" = "204.110.190.198" - "199.190.client" = "204.110.190.199" - "200.190.client" = "204.110.190.200" - "201.190.client" = "204.110.190.201" - "202.190.client" = "204.110.190.202" - "203.190.client" = "204.110.190.203" - "204.190.client" = "204.110.190.204" - "205.190.client" = "204.110.190.205" - "206.190.client" = "204.110.190.206" - "207.190.client" = "204.110.190.207" - "208.190.client" = "204.110.190.208" - "209.190.client" = "204.110.190.209" - "210.190.client" = "204.110.190.210" - "211.190.client" = "204.110.190.211" - "212.190.client" = "204.110.190.212" - "213.190.client" = "204.110.190.213" - "214.190.client" = "204.110.190.214" - "215.190.client" = "204.110.190.215" - "216.190.client" = "204.110.190.216" - "217.190.client" = "204.110.190.217" - "218.190.client" = "204.110.190.218" - "219.190.client" = "204.110.190.219" - "220.190.client" = "204.110.190.220" - "221.190.client" = "204.110.190.221" - "222.190.client" = "204.110.190.222" - "223.190.client" = "204.110.190.223" - "224.190.client" = "204.110.190.224" - "225.190.client" = "204.110.190.225" - "226.190.client" = "204.110.190.226" - "227.190.client" = "204.110.190.227" - "228.190.client" = "204.110.190.228" - "229.190.client" = "204.110.190.229" - "230.190.client" = "204.110.190.230" - "231.190.client" = "204.110.190.231" - "232.190.client" = "204.110.190.232" - "233.190.client" = "204.110.190.233" - "234.190.client" = "204.110.190.234" - "235.190.client" = "204.110.190.235" - "236.190.client" = "204.110.190.236" - "237.190.client" = "204.110.190.237" - "238.190.client" = "204.110.190.238" - "239.190.client" = "204.110.190.239" - "240.190.client" = "204.110.190.240" - "241.190.client" = "204.110.190.241" - "242.190.client" = "204.110.190.242" - "243.190.client" = "204.110.190.243" - "244.190.client" = "204.110.190.244" - "245.190.client" = "204.110.190.245" - "246.190.client" = "204.110.190.246" - "247.190.client" = "204.110.190.247" - "248.190.client" = "204.110.190.248" - "249.190.client" = "204.110.190.249" - "250.190.client" = "204.110.190.250" - "251.190.client" = "204.110.190.251" - "252.190.client" = "204.110.190.252" - "253.190.client" = "204.110.190.253" - "254.190.client" = "204.110.190.254" + # # Subnet: 204.110.190.0/24 + # "1.190.client" = "204.110.190.1" + # "2.190.client" = "204.110.190.2" + # "3.190.client" = "204.110.190.3" + # "4.190.client" = "204.110.190.4" + # "5.190.client" = "204.110.190.5" + # "6.190.client" = "204.110.190.6" + # "7.190.client" = "204.110.190.7" + # "8.190.client" = "204.110.190.8" + # "9.190.client" = "204.110.190.9" + # "10.190.client" = "204.110.190.10" + # "11.190.client" = "204.110.190.11" + # "12.190.client" = "204.110.190.12" + # "13.190.client" = "204.110.190.13" + # "14.190.client" = "204.110.190.14" + # "15.190.client" = "204.110.190.15" + # "16.190.client" = "204.110.190.16" + # "17.190.client" = "204.110.190.17" + # "18.190.client" = "204.110.190.18" + # "19.190.client" = "204.110.190.19" + # "20.190.client" = "204.110.190.20" + # "21.190.client" = "204.110.190.21" + # "22.190.client" = "204.110.190.22" + # "23.190.client" = "204.110.190.23" + # "24.190.client" = "204.110.190.24" + # "25.190.client" = "204.110.190.25" + # "26.190.client" = "204.110.190.26" + # "27.190.client" = "204.110.190.27" + # "28.190.client" = "204.110.190.28" + # "29.190.client" = "204.110.190.29" + # "30.190.client" = "204.110.190.30" + # "31.190.client" = "204.110.190.31" + # "32.190.client" = "204.110.190.32" + # "33.190.client" = "204.110.190.33" + # "34.190.client" = "204.110.190.34" + # "35.190.client" = "204.110.190.35" + # "36.190.client" = "204.110.190.36" + # "37.190.client" = "204.110.190.37" + # "38.190.client" = "204.110.190.38" + # "39.190.client" = "204.110.190.39" + # "40.190.client" = "204.110.190.40" + # "41.190.client" = "204.110.190.41" + # "42.190.client" = "204.110.190.42" + # "43.190.client" = "204.110.190.43" + # "44.190.client" = "204.110.190.44" + # "45.190.client" = "204.110.190.45" + # "46.190.client" = "204.110.190.46" + # "47.190.client" = "204.110.190.47" + # "48.190.client" = "204.110.190.48" + # "49.190.client" = "204.110.190.49" + # "50.190.client" = "204.110.190.50" + # "51.190.client" = "204.110.190.51" + # "52.190.client" = "204.110.190.52" + # "53.190.client" = "204.110.190.53" + # "54.190.client" = "204.110.190.54" + # "55.190.client" = "204.110.190.55" + # "56.190.client" = "204.110.190.56" + # "57.190.client" = "204.110.190.57" + # "58.190.client" = "204.110.190.58" + # "59.190.client" = "204.110.190.59" + # "60.190.client" = "204.110.190.60" + # "61.190.client" = "204.110.190.61" + # "62.190.client" = "204.110.190.62" + # "63.190.client" = "204.110.190.63" + # "64.190.client" = "204.110.190.64" + # "65.190.client" = "204.110.190.65" + # "66.190.client" = "204.110.190.66" + # "67.190.client" = "204.110.190.67" + # "68.190.client" = "204.110.190.68" + # "69.190.client" = "204.110.190.69" + # "70.190.client" = "204.110.190.70" + # "71.190.client" = "204.110.190.71" + # "72.190.client" = "204.110.190.72" + # "73.190.client" = "204.110.190.73" + # "74.190.client" = "204.110.190.74" + # "75.190.client" = "204.110.190.75" + # "76.190.client" = "204.110.190.76" + # "77.190.client" = "204.110.190.77" + # "78.190.client" = "204.110.190.78" + # "79.190.client" = "204.110.190.79" + # "80.190.client" = "204.110.190.80" + # "81.190.client" = "204.110.190.81" + # "82.190.client" = "204.110.190.82" + # "83.190.client" = "204.110.190.83" + # "84.190.client" = "204.110.190.84" + # "85.190.client" = "204.110.190.85" + # "86.190.client" = "204.110.190.86" + # "87.190.client" = "204.110.190.87" + # "88.190.client" = "204.110.190.88" + # "89.190.client" = "204.110.190.89" + # "90.190.client" = "204.110.190.90" + # "91.190.client" = "204.110.190.91" + # "92.190.client" = "204.110.190.92" + # "93.190.client" = "204.110.190.93" + # "94.190.client" = "204.110.190.94" + # "95.190.client" = "204.110.190.95" + # "96.190.client" = "204.110.190.96" + # "97.190.client" = "204.110.190.97" + # "98.190.client" = "204.110.190.98" + # "99.190.client" = "204.110.190.99" + # "100.190.client" = "204.110.190.100" + # "101.190.client" = "204.110.190.101" + # "102.190.client" = "204.110.190.102" + # "103.190.client" = "204.110.190.103" + # "104.190.client" = "204.110.190.104" + # "105.190.client" = "204.110.190.105" + # "106.190.client" = "204.110.190.106" + # "107.190.client" = "204.110.190.107" + # "108.190.client" = "204.110.190.108" + # "109.190.client" = "204.110.190.109" + # "110.190.client" = "204.110.190.110" + # "111.190.client" = "204.110.190.111" + # "112.190.client" = "204.110.190.112" + # "113.190.client" = "204.110.190.113" + # "114.190.client" = "204.110.190.114" + # "115.190.client" = "204.110.190.115" + # "116.190.client" = "204.110.190.116" + # "117.190.client" = "204.110.190.117" + # "118.190.client" = "204.110.190.118" + # "119.190.client" = "204.110.190.119" + # "120.190.client" = "204.110.190.120" + # "121.190.client" = "204.110.190.121" + # "122.190.client" = "204.110.190.122" + # "123.190.client" = "204.110.190.123" + # "124.190.client" = "204.110.190.124" + # "125.190.client" = "204.110.190.125" + # "126.190.client" = "204.110.190.126" + # "127.190.client" = "204.110.190.127" + # "128.190.client" = "204.110.190.128" + # "129.190.client" = "204.110.190.129" + # "130.190.client" = "204.110.190.130" + # "131.190.client" = "204.110.190.131" + # "132.190.client" = "204.110.190.132" + # "133.190.client" = "204.110.190.133" + # "134.190.client" = "204.110.190.134" + # "135.190.client" = "204.110.190.135" + # "136.190.client" = "204.110.190.136" + # "137.190.client" = "204.110.190.137" + # "138.190.client" = "204.110.190.138" + # "139.190.client" = "204.110.190.139" + # "140.190.client" = "204.110.190.140" + # "141.190.client" = "204.110.190.141" + # "142.190.client" = "204.110.190.142" + # "143.190.client" = "204.110.190.143" + # "144.190.client" = "204.110.190.144" + # "145.190.client" = "204.110.190.145" + # "146.190.client" = "204.110.190.146" + # "147.190.client" = "204.110.190.147" + # "148.190.client" = "204.110.190.148" + # "149.190.client" = "204.110.190.149" + # "150.190.client" = "204.110.190.150" + # "151.190.client" = "204.110.190.151" + # "152.190.client" = "204.110.190.152" + # "153.190.client" = "204.110.190.153" + # "154.190.client" = "204.110.190.154" + # "155.190.client" = "204.110.190.155" + # "156.190.client" = "204.110.190.156" + # "157.190.client" = "204.110.190.157" + # "158.190.client" = "204.110.190.158" + # "159.190.client" = "204.110.190.159" + # "160.190.client" = "204.110.190.160" + # "161.190.client" = "204.110.190.161" + # "162.190.client" = "204.110.190.162" + # "163.190.client" = "204.110.190.163" + # "164.190.client" = "204.110.190.164" + # "165.190.client" = "204.110.190.165" + # "166.190.client" = "204.110.190.166" + # "167.190.client" = "204.110.190.167" + # "168.190.client" = "204.110.190.168" + # "169.190.client" = "204.110.190.169" + # "170.190.client" = "204.110.190.170" + # "171.190.client" = "204.110.190.171" + # "172.190.client" = "204.110.190.172" + # "173.190.client" = "204.110.190.173" + # "174.190.client" = "204.110.190.174" + # "175.190.client" = "204.110.190.175" + # "176.190.client" = "204.110.190.176" + # "177.190.client" = "204.110.190.177" + # "178.190.client" = "204.110.190.178" + # "179.190.client" = "204.110.190.179" + # "180.190.client" = "204.110.190.180" + # "181.190.client" = "204.110.190.181" + # "182.190.client" = "204.110.190.182" + # "183.190.client" = "204.110.190.183" + # "184.190.client" = "204.110.190.184" + # "185.190.client" = "204.110.190.185" + # "186.190.client" = "204.110.190.186" + # "187.190.client" = "204.110.190.187" + # "188.190.client" = "204.110.190.188" + # "189.190.client" = "204.110.190.189" + # "190.190.client" = "204.110.190.190" + # "191.190.client" = "204.110.190.191" + # "192.190.client" = "204.110.190.192" + # "193.190.client" = "204.110.190.193" + # "194.190.client" = "204.110.190.194" + # "195.190.client" = "204.110.190.195" + # "196.190.client" = "204.110.190.196" + # "197.190.client" = "204.110.190.197" + # "198.190.client" = "204.110.190.198" + # "199.190.client" = "204.110.190.199" + # "200.190.client" = "204.110.190.200" + # "201.190.client" = "204.110.190.201" + # "202.190.client" = "204.110.190.202" + # "203.190.client" = "204.110.190.203" + # "204.190.client" = "204.110.190.204" + # "205.190.client" = "204.110.190.205" + # "206.190.client" = "204.110.190.206" + # "207.190.client" = "204.110.190.207" + # "208.190.client" = "204.110.190.208" + # "209.190.client" = "204.110.190.209" + # "210.190.client" = "204.110.190.210" + # "211.190.client" = "204.110.190.211" + # "212.190.client" = "204.110.190.212" + # "213.190.client" = "204.110.190.213" + # "214.190.client" = "204.110.190.214" + # "215.190.client" = "204.110.190.215" + # "216.190.client" = "204.110.190.216" + # "217.190.client" = "204.110.190.217" + # "218.190.client" = "204.110.190.218" + # "219.190.client" = "204.110.190.219" + # "220.190.client" = "204.110.190.220" + # "221.190.client" = "204.110.190.221" + # "222.190.client" = "204.110.190.222" + # "223.190.client" = "204.110.190.223" + # "224.190.client" = "204.110.190.224" + # "225.190.client" = "204.110.190.225" + # "226.190.client" = "204.110.190.226" + # "227.190.client" = "204.110.190.227" + # "228.190.client" = "204.110.190.228" + # "229.190.client" = "204.110.190.229" + # "230.190.client" = "204.110.190.230" + # "231.190.client" = "204.110.190.231" + # "232.190.client" = "204.110.190.232" + # "233.190.client" = "204.110.190.233" + # "234.190.client" = "204.110.190.234" + # "235.190.client" = "204.110.190.235" + # "236.190.client" = "204.110.190.236" + # "237.190.client" = "204.110.190.237" + # "238.190.client" = "204.110.190.238" + # "239.190.client" = "204.110.190.239" + # "240.190.client" = "204.110.190.240" + # "241.190.client" = "204.110.190.241" + # "242.190.client" = "204.110.190.242" + # "243.190.client" = "204.110.190.243" + # "244.190.client" = "204.110.190.244" + # "245.190.client" = "204.110.190.245" + # "246.190.client" = "204.110.190.246" + # "247.190.client" = "204.110.190.247" + # "248.190.client" = "204.110.190.248" + # "249.190.client" = "204.110.190.249" + # "250.190.client" = "204.110.190.250" + # "251.190.client" = "204.110.190.251" + # "252.190.client" = "204.110.190.252" + # "253.190.client" = "204.110.190.253" + # "254.190.client" = "204.110.190.254" - # Subnet: 204.110.191.0/24 - "1.191.client" = "204.110.191.1" - "2.191.client" = "204.110.191.2" - "3.191.client" = "204.110.191.3" - "4.191.client" = "204.110.191.4" - "5.191.client" = "204.110.191.5" - "6.191.client" = "204.110.191.6" - "7.191.client" = "204.110.191.7" - "8.191.client" = "204.110.191.8" - "9.191.client" = "204.110.191.9" - "10.191.client" = "204.110.191.10" - "11.191.client" = "204.110.191.11" - "12.191.client" = "204.110.191.12" - "13.191.client" = "204.110.191.13" - "14.191.client" = "204.110.191.14" - "15.191.client" = "204.110.191.15" - "16.191.client" = "204.110.191.16" - "17.191.client" = "204.110.191.17" - "18.191.client" = "204.110.191.18" - "19.191.client" = "204.110.191.19" - "20.191.client" = "204.110.191.20" - "21.191.client" = "204.110.191.21" - "22.191.client" = "204.110.191.22" - "23.191.client" = "204.110.191.23" - "24.191.client" = "204.110.191.24" - "25.191.client" = "204.110.191.25" - "26.191.client" = "204.110.191.26" - "27.191.client" = "204.110.191.27" - "28.191.client" = "204.110.191.28" - "29.191.client" = "204.110.191.29" - "30.191.client" = "204.110.191.30" - "31.191.client" = "204.110.191.31" - "32.191.client" = "204.110.191.32" - "33.191.client" = "204.110.191.33" - "34.191.client" = "204.110.191.34" - "35.191.client" = "204.110.191.35" - "36.191.client" = "204.110.191.36" - "37.191.client" = "204.110.191.37" - "38.191.client" = "204.110.191.38" - "39.191.client" = "204.110.191.39" - "40.191.client" = "204.110.191.40" - "41.191.client" = "204.110.191.41" - "42.191.client" = "204.110.191.42" - "43.191.client" = "204.110.191.43" - "44.191.client" = "204.110.191.44" - "45.191.client" = "204.110.191.45" - "46.191.client" = "204.110.191.46" - "47.191.client" = "204.110.191.47" - "48.191.client" = "204.110.191.48" - "49.191.client" = "204.110.191.49" - "50.191.client" = "204.110.191.50" - "51.191.client" = "204.110.191.51" - "52.191.client" = "204.110.191.52" - "53.191.client" = "204.110.191.53" - "54.191.client" = "204.110.191.54" - "55.191.client" = "204.110.191.55" - "56.191.client" = "204.110.191.56" - "57.191.client" = "204.110.191.57" - "58.191.client" = "204.110.191.58" - "59.191.client" = "204.110.191.59" - "60.191.client" = "204.110.191.60" - "61.191.client" = "204.110.191.61" - "62.191.client" = "204.110.191.62" - "63.191.client" = "204.110.191.63" - "64.191.client" = "204.110.191.64" - "65.191.client" = "204.110.191.65" - "66.191.client" = "204.110.191.66" - "67.191.client" = "204.110.191.67" - "68.191.client" = "204.110.191.68" - "69.191.client" = "204.110.191.69" - "70.191.client" = "204.110.191.70" - "71.191.client" = "204.110.191.71" - "72.191.client" = "204.110.191.72" - "73.191.client" = "204.110.191.73" - "74.191.client" = "204.110.191.74" - "75.191.client" = "204.110.191.75" - "76.191.client" = "204.110.191.76" - "77.191.client" = "204.110.191.77" - "78.191.client" = "204.110.191.78" - "79.191.client" = "204.110.191.79" - "80.191.client" = "204.110.191.80" - "81.191.client" = "204.110.191.81" - "82.191.client" = "204.110.191.82" - "83.191.client" = "204.110.191.83" - "84.191.client" = "204.110.191.84" - "85.191.client" = "204.110.191.85" - "86.191.client" = "204.110.191.86" - "87.191.client" = "204.110.191.87" - "88.191.client" = "204.110.191.88" - "89.191.client" = "204.110.191.89" - "90.191.client" = "204.110.191.90" - "91.191.client" = "204.110.191.91" - "92.191.client" = "204.110.191.92" - "93.191.client" = "204.110.191.93" - "94.191.client" = "204.110.191.94" - "95.191.client" = "204.110.191.95" - "96.191.client" = "204.110.191.96" - "97.191.client" = "204.110.191.97" - "98.191.client" = "204.110.191.98" - "99.191.client" = "204.110.191.99" - "100.191.client" = "204.110.191.100" - "101.191.client" = "204.110.191.101" - "102.191.client" = "204.110.191.102" - "103.191.client" = "204.110.191.103" - "104.191.client" = "204.110.191.104" - "105.191.client" = "204.110.191.105" - "106.191.client" = "204.110.191.106" - "107.191.client" = "204.110.191.107" - "108.191.client" = "204.110.191.108" - "109.191.client" = "204.110.191.109" - "110.191.client" = "204.110.191.110" - "111.191.client" = "204.110.191.111" - "112.191.client" = "204.110.191.112" - "113.191.client" = "204.110.191.113" - "114.191.client" = "204.110.191.114" - "115.191.client" = "204.110.191.115" - "116.191.client" = "204.110.191.116" - "117.191.client" = "204.110.191.117" - "118.191.client" = "204.110.191.118" - "119.191.client" = "204.110.191.119" - "120.191.client" = "204.110.191.120" - "121.191.client" = "204.110.191.121" - "122.191.client" = "204.110.191.122" - "123.191.client" = "204.110.191.123" - "124.191.client" = "204.110.191.124" - "125.191.client" = "204.110.191.125" - "126.191.client" = "204.110.191.126" - "127.191.client" = "204.110.191.127" - "128.191.client" = "204.110.191.128" - "129.191.client" = "204.110.191.129" - "130.191.client" = "204.110.191.130" - "131.191.client" = "204.110.191.131" - "132.191.client" = "204.110.191.132" - "133.191.client" = "204.110.191.133" - "134.191.client" = "204.110.191.134" - "135.191.client" = "204.110.191.135" - "136.191.client" = "204.110.191.136" - "137.191.client" = "204.110.191.137" - "138.191.client" = "204.110.191.138" - "139.191.client" = "204.110.191.139" - "140.191.client" = "204.110.191.140" - "141.191.client" = "204.110.191.141" - "142.191.client" = "204.110.191.142" - "143.191.client" = "204.110.191.143" - "144.191.client" = "204.110.191.144" - "145.191.client" = "204.110.191.145" - "146.191.client" = "204.110.191.146" - "147.191.client" = "204.110.191.147" - "148.191.client" = "204.110.191.148" - "149.191.client" = "204.110.191.149" - "150.191.client" = "204.110.191.150" - "151.191.client" = "204.110.191.151" - "152.191.client" = "204.110.191.152" - "153.191.client" = "204.110.191.153" - "154.191.client" = "204.110.191.154" - "155.191.client" = "204.110.191.155" - "156.191.client" = "204.110.191.156" - "157.191.client" = "204.110.191.157" - "158.191.client" = "204.110.191.158" - "159.191.client" = "204.110.191.159" - "160.191.client" = "204.110.191.160" - "161.191.client" = "204.110.191.161" - "162.191.client" = "204.110.191.162" - "163.191.client" = "204.110.191.163" - "164.191.client" = "204.110.191.164" - "165.191.client" = "204.110.191.165" - "166.191.client" = "204.110.191.166" - "167.191.client" = "204.110.191.167" - "168.191.client" = "204.110.191.168" - "169.191.client" = "204.110.191.169" - "170.191.client" = "204.110.191.170" - "171.191.client" = "204.110.191.171" - "172.191.client" = "204.110.191.172" - "173.191.client" = "204.110.191.173" - "174.191.client" = "204.110.191.174" - "175.191.client" = "204.110.191.175" - "176.191.client" = "204.110.191.176" - "177.191.client" = "204.110.191.177" - "178.191.client" = "204.110.191.178" - "179.191.client" = "204.110.191.179" - "180.191.client" = "204.110.191.180" - "181.191.client" = "204.110.191.181" - "182.191.client" = "204.110.191.182" - "183.191.client" = "204.110.191.183" - "184.191.client" = "204.110.191.184" - "185.191.client" = "204.110.191.185" - "186.191.client" = "204.110.191.186" - "187.191.client" = "204.110.191.187" - "188.191.client" = "204.110.191.188" - "189.191.client" = "204.110.191.189" - "190.191.client" = "204.110.191.190" - "191.191.client" = "204.110.191.191" - "192.191.client" = "204.110.191.192" - "193.191.client" = "204.110.191.193" - "194.191.client" = "204.110.191.194" - "195.191.client" = "204.110.191.195" - "196.191.client" = "204.110.191.196" - "197.191.client" = "204.110.191.197" - "198.191.client" = "204.110.191.198" - "199.191.client" = "204.110.191.199" - "200.191.client" = "204.110.191.200" - "201.191.client" = "204.110.191.201" - "202.191.client" = "204.110.191.202" - "203.191.client" = "204.110.191.203" - "204.191.client" = "204.110.191.204" - "205.191.client" = "204.110.191.205" - "206.191.client" = "204.110.191.206" - "207.191.client" = "204.110.191.207" - "208.191.client" = "204.110.191.208" - "209.191.client" = "204.110.191.209" - "210.191.client" = "204.110.191.210" - "211.191.client" = "204.110.191.211" - "212.191.client" = "204.110.191.212" - "213.191.client" = "204.110.191.213" - "214.191.client" = "204.110.191.214" - "215.191.client" = "204.110.191.215" - "216.191.client" = "204.110.191.216" - "217.191.client" = "204.110.191.217" - "218.191.client" = "204.110.191.218" - "219.191.client" = "204.110.191.219" - "220.191.client" = "204.110.191.220" - "221.191.client" = "204.110.191.221" - "222.191.client" = "204.110.191.222" - "223.191.client" = "204.110.191.223" - "224.191.client" = "204.110.191.224" - "225.191.client" = "204.110.191.225" - "226.191.client" = "204.110.191.226" - "227.191.client" = "204.110.191.227" - "228.191.client" = "204.110.191.228" - "229.191.client" = "204.110.191.229" - "230.191.client" = "204.110.191.230" - "231.191.client" = "204.110.191.231" - "232.191.client" = "204.110.191.232" - "233.191.client" = "204.110.191.233" - "234.191.client" = "204.110.191.234" - "235.191.client" = "204.110.191.235" - "236.191.client" = "204.110.191.236" - "237.191.client" = "204.110.191.237" - "238.191.client" = "204.110.191.238" - "239.191.client" = "204.110.191.239" - "240.191.client" = "204.110.191.240" - "241.191.client" = "204.110.191.241" - "242.191.client" = "204.110.191.242" - "243.191.client" = "204.110.191.243" - "244.191.client" = "204.110.191.244" - "245.191.client" = "204.110.191.245" - "246.191.client" = "204.110.191.246" - "247.191.client" = "204.110.191.247" - "248.191.client" = "204.110.191.248" - "249.191.client" = "204.110.191.249" - "250.191.client" = "204.110.191.250" - "251.191.client" = "204.110.191.251" - "252.191.client" = "204.110.191.252" - "253.191.client" = "204.110.191.253" - "254.191.client" = "204.110.191.254" + # # Subnet: 204.110.191.0/24 + # "1.191.client" = "204.110.191.1" + # "2.191.client" = "204.110.191.2" + # "3.191.client" = "204.110.191.3" + # "4.191.client" = "204.110.191.4" + # "5.191.client" = "204.110.191.5" + # "6.191.client" = "204.110.191.6" + # "7.191.client" = "204.110.191.7" + # "8.191.client" = "204.110.191.8" + # "9.191.client" = "204.110.191.9" + # "10.191.client" = "204.110.191.10" + # "11.191.client" = "204.110.191.11" + # "12.191.client" = "204.110.191.12" + # "13.191.client" = "204.110.191.13" + # "14.191.client" = "204.110.191.14" + # "15.191.client" = "204.110.191.15" + # "16.191.client" = "204.110.191.16" + # "17.191.client" = "204.110.191.17" + # "18.191.client" = "204.110.191.18" + # "19.191.client" = "204.110.191.19" + # "20.191.client" = "204.110.191.20" + # "21.191.client" = "204.110.191.21" + # "22.191.client" = "204.110.191.22" + # "23.191.client" = "204.110.191.23" + # "24.191.client" = "204.110.191.24" + # "25.191.client" = "204.110.191.25" + # "26.191.client" = "204.110.191.26" + # "27.191.client" = "204.110.191.27" + # "28.191.client" = "204.110.191.28" + # "29.191.client" = "204.110.191.29" + # "30.191.client" = "204.110.191.30" + # "31.191.client" = "204.110.191.31" + # "32.191.client" = "204.110.191.32" + # "33.191.client" = "204.110.191.33" + # "34.191.client" = "204.110.191.34" + # "35.191.client" = "204.110.191.35" + # "36.191.client" = "204.110.191.36" + # "37.191.client" = "204.110.191.37" + # "38.191.client" = "204.110.191.38" + # "39.191.client" = "204.110.191.39" + # "40.191.client" = "204.110.191.40" + # "41.191.client" = "204.110.191.41" + # "42.191.client" = "204.110.191.42" + # "43.191.client" = "204.110.191.43" + # "44.191.client" = "204.110.191.44" + # "45.191.client" = "204.110.191.45" + # "46.191.client" = "204.110.191.46" + # "47.191.client" = "204.110.191.47" + # "48.191.client" = "204.110.191.48" + # "49.191.client" = "204.110.191.49" + # "50.191.client" = "204.110.191.50" + # "51.191.client" = "204.110.191.51" + # "52.191.client" = "204.110.191.52" + # "53.191.client" = "204.110.191.53" + # "54.191.client" = "204.110.191.54" + # "55.191.client" = "204.110.191.55" + # "56.191.client" = "204.110.191.56" + # "57.191.client" = "204.110.191.57" + # "58.191.client" = "204.110.191.58" + # "59.191.client" = "204.110.191.59" + # "60.191.client" = "204.110.191.60" + # "61.191.client" = "204.110.191.61" + # "62.191.client" = "204.110.191.62" + # "63.191.client" = "204.110.191.63" + # "64.191.client" = "204.110.191.64" + # "65.191.client" = "204.110.191.65" + # "66.191.client" = "204.110.191.66" + # "67.191.client" = "204.110.191.67" + # "68.191.client" = "204.110.191.68" + # "69.191.client" = "204.110.191.69" + # "70.191.client" = "204.110.191.70" + # "71.191.client" = "204.110.191.71" + # "72.191.client" = "204.110.191.72" + # "73.191.client" = "204.110.191.73" + # "74.191.client" = "204.110.191.74" + # "75.191.client" = "204.110.191.75" + # "76.191.client" = "204.110.191.76" + # "77.191.client" = "204.110.191.77" + # "78.191.client" = "204.110.191.78" + # "79.191.client" = "204.110.191.79" + # "80.191.client" = "204.110.191.80" + # "81.191.client" = "204.110.191.81" + # "82.191.client" = "204.110.191.82" + # "83.191.client" = "204.110.191.83" + # "84.191.client" = "204.110.191.84" + # "85.191.client" = "204.110.191.85" + # "86.191.client" = "204.110.191.86" + # "87.191.client" = "204.110.191.87" + # "88.191.client" = "204.110.191.88" + # "89.191.client" = "204.110.191.89" + # "90.191.client" = "204.110.191.90" + # "91.191.client" = "204.110.191.91" + # "92.191.client" = "204.110.191.92" + # "93.191.client" = "204.110.191.93" + # "94.191.client" = "204.110.191.94" + # "95.191.client" = "204.110.191.95" + # "96.191.client" = "204.110.191.96" + # "97.191.client" = "204.110.191.97" + # "98.191.client" = "204.110.191.98" + # "99.191.client" = "204.110.191.99" + # "100.191.client" = "204.110.191.100" + # "101.191.client" = "204.110.191.101" + # "102.191.client" = "204.110.191.102" + # "103.191.client" = "204.110.191.103" + # "104.191.client" = "204.110.191.104" + # "105.191.client" = "204.110.191.105" + # "106.191.client" = "204.110.191.106" + # "107.191.client" = "204.110.191.107" + # "108.191.client" = "204.110.191.108" + # "109.191.client" = "204.110.191.109" + # "110.191.client" = "204.110.191.110" + # "111.191.client" = "204.110.191.111" + # "112.191.client" = "204.110.191.112" + # "113.191.client" = "204.110.191.113" + # "114.191.client" = "204.110.191.114" + # "115.191.client" = "204.110.191.115" + # "116.191.client" = "204.110.191.116" + # "117.191.client" = "204.110.191.117" + # "118.191.client" = "204.110.191.118" + # "119.191.client" = "204.110.191.119" + # "120.191.client" = "204.110.191.120" + # "121.191.client" = "204.110.191.121" + # "122.191.client" = "204.110.191.122" + # "123.191.client" = "204.110.191.123" + # "124.191.client" = "204.110.191.124" + # "125.191.client" = "204.110.191.125" + # "126.191.client" = "204.110.191.126" + # "127.191.client" = "204.110.191.127" + # "128.191.client" = "204.110.191.128" + # "129.191.client" = "204.110.191.129" + # "130.191.client" = "204.110.191.130" + # "131.191.client" = "204.110.191.131" + # "132.191.client" = "204.110.191.132" + # "133.191.client" = "204.110.191.133" + # "134.191.client" = "204.110.191.134" + # "135.191.client" = "204.110.191.135" + # "136.191.client" = "204.110.191.136" + # "137.191.client" = "204.110.191.137" + # "138.191.client" = "204.110.191.138" + # "139.191.client" = "204.110.191.139" + # "140.191.client" = "204.110.191.140" + # "141.191.client" = "204.110.191.141" + # "142.191.client" = "204.110.191.142" + # "143.191.client" = "204.110.191.143" + # "144.191.client" = "204.110.191.144" + # "145.191.client" = "204.110.191.145" + # "146.191.client" = "204.110.191.146" + # "147.191.client" = "204.110.191.147" + # "148.191.client" = "204.110.191.148" + # "149.191.client" = "204.110.191.149" + # "150.191.client" = "204.110.191.150" + # "151.191.client" = "204.110.191.151" + # "152.191.client" = "204.110.191.152" + # "153.191.client" = "204.110.191.153" + # "154.191.client" = "204.110.191.154" + # "155.191.client" = "204.110.191.155" + # "156.191.client" = "204.110.191.156" + # "157.191.client" = "204.110.191.157" + # "158.191.client" = "204.110.191.158" + # "159.191.client" = "204.110.191.159" + # "160.191.client" = "204.110.191.160" + # "161.191.client" = "204.110.191.161" + # "162.191.client" = "204.110.191.162" + # "163.191.client" = "204.110.191.163" + # "164.191.client" = "204.110.191.164" + # "165.191.client" = "204.110.191.165" + # "166.191.client" = "204.110.191.166" + # "167.191.client" = "204.110.191.167" + # "168.191.client" = "204.110.191.168" + # "169.191.client" = "204.110.191.169" + # "170.191.client" = "204.110.191.170" + # "171.191.client" = "204.110.191.171" + # "172.191.client" = "204.110.191.172" + # "173.191.client" = "204.110.191.173" + # "174.191.client" = "204.110.191.174" + # "175.191.client" = "204.110.191.175" + # "176.191.client" = "204.110.191.176" + # "177.191.client" = "204.110.191.177" + # "178.191.client" = "204.110.191.178" + # "179.191.client" = "204.110.191.179" + # "180.191.client" = "204.110.191.180" + # "181.191.client" = "204.110.191.181" + # "182.191.client" = "204.110.191.182" + # "183.191.client" = "204.110.191.183" + # "184.191.client" = "204.110.191.184" + # "185.191.client" = "204.110.191.185" + # "186.191.client" = "204.110.191.186" + # "187.191.client" = "204.110.191.187" + # "188.191.client" = "204.110.191.188" + # "189.191.client" = "204.110.191.189" + # "190.191.client" = "204.110.191.190" + # "191.191.client" = "204.110.191.191" + # "192.191.client" = "204.110.191.192" + # "193.191.client" = "204.110.191.193" + # "194.191.client" = "204.110.191.194" + # "195.191.client" = "204.110.191.195" + # "196.191.client" = "204.110.191.196" + # "197.191.client" = "204.110.191.197" + # "198.191.client" = "204.110.191.198" + # "199.191.client" = "204.110.191.199" + # "200.191.client" = "204.110.191.200" + # "201.191.client" = "204.110.191.201" + # "202.191.client" = "204.110.191.202" + # "203.191.client" = "204.110.191.203" + # "204.191.client" = "204.110.191.204" + # "205.191.client" = "204.110.191.205" + # "206.191.client" = "204.110.191.206" + # "207.191.client" = "204.110.191.207" + # "208.191.client" = "204.110.191.208" + # "209.191.client" = "204.110.191.209" + # "210.191.client" = "204.110.191.210" + # "211.191.client" = "204.110.191.211" + # "212.191.client" = "204.110.191.212" + # "213.191.client" = "204.110.191.213" + # "214.191.client" = "204.110.191.214" + # "215.191.client" = "204.110.191.215" + # "216.191.client" = "204.110.191.216" + # "217.191.client" = "204.110.191.217" + # "218.191.client" = "204.110.191.218" + # "219.191.client" = "204.110.191.219" + # "220.191.client" = "204.110.191.220" + # "221.191.client" = "204.110.191.221" + # "222.191.client" = "204.110.191.222" + # "223.191.client" = "204.110.191.223" + # "224.191.client" = "204.110.191.224" + # "225.191.client" = "204.110.191.225" + # "226.191.client" = "204.110.191.226" + # "227.191.client" = "204.110.191.227" + # "228.191.client" = "204.110.191.228" + # "229.191.client" = "204.110.191.229" + # "230.191.client" = "204.110.191.230" + # "231.191.client" = "204.110.191.231" + # "232.191.client" = "204.110.191.232" + # "233.191.client" = "204.110.191.233" + # "234.191.client" = "204.110.191.234" + # "235.191.client" = "204.110.191.235" + # "236.191.client" = "204.110.191.236" + # "237.191.client" = "204.110.191.237" + # "238.191.client" = "204.110.191.238" + # "239.191.client" = "204.110.191.239" + # "240.191.client" = "204.110.191.240" + # "241.191.client" = "204.110.191.241" + # "242.191.client" = "204.110.191.242" + # "243.191.client" = "204.110.191.243" + # "244.191.client" = "204.110.191.244" + # "245.191.client" = "204.110.191.245" + # "246.191.client" = "204.110.191.246" + # "247.191.client" = "204.110.191.247" + # "248.191.client" = "204.110.191.248" + # "249.191.client" = "204.110.191.249" + # "250.191.client" = "204.110.191.250" + # "251.191.client" = "204.110.191.251" + # "252.191.client" = "204.110.191.252" + # "253.191.client" = "204.110.191.253" + # "254.191.client" = "204.110.191.254" "ansible" = "204.110.191.246" "climax" = "204.110.188.62" @@ -1061,15 +1061,14 @@ resource "porkbun_dns_record" "vntx_a_records" { "uisp" = "204.110.191.224" } - domain = "vntx.net" - name = each.key - content = each.value - type = "A" - ttl = 3600 - priority = 0 + zone_name = "vntx.net" + name = each.key + value = each.value + type = "A" + ttl = 3600 } -resource "porkbun_dns_record" "vntx_txt_records" { +resource "dnsimple_zone_record" "vntx_txt_records" { for_each = { "_twilio" = "twilio-domain-verification=12bf63d61b86412618bdb4ab6c2b287a" "_dmarc" = "v=DMARC1; p=none" @@ -1090,27 +1089,26 @@ resource "porkbun_dns_record" "vntx_txt_records" { "have-i-been-pwned-verification" = "beb9c178a27aaaaa007c4c84d64dccf5" } - domain = "vntx.net" - name = each.key - content = each.value - type = "TXT" - ttl = 3600 - priority = 0 + zone_name = "vntx.net" + name = each.key + value = each.value + type = "TXT" + ttl = 3600 } -# resource "porkbun_dns_record" "vntx_srv1" { -# domain = "vntx.net" -# name = "_sipfederationtls._tcp.o365" -# type = "SRV" -# priority = 100 -# content = "5061 sipfed.online.lync.com." -# ttl = 3600 +# resource "dnsimple_zone_record" "vntx_srv1" { +# zone_name = "vntx.net" +# name = "_sipfederationtls._tcp.o365" +# type = "SRV" +# priority = 100 +# value = "5061 sipfed.online.lync.com." +# ttl = 3600 # } # SRV("_sip._tls.o365", 100, 1, 443, "sipdir.online.lync.com.", TTL(3600)), -resource "porkbun_dns_record" "vntx_cname_records" { +resource "dnsimple_zone_record" "vntx_cname_records" { for_each = { "mte1._domainkey" = "dkim1.mandrillapp.com." "mte2._domainkey" = "dkim2.mandrillapp.com." @@ -1145,10 +1143,9 @@ resource "porkbun_dns_record" "vntx_cname_records" { "iptrack" = "dokku.w5isp.com." } - domain = "vntx.net" - name = each.key - content = each.value - type = "CNAME" - ttl = 3600 - priority = 0 + zone_name = "vntx.net" + name = each.key + value = each.value + type = "CNAME" + ttl = 3600 } diff --git a/home/terraform/dns_vntx_net_porkbun_TEMP.tf b/home/terraform/dns_vntx_net_porkbun_TEMP.tf new file mode 100644 index 0000000..ad9f4c4 --- /dev/null +++ b/home/terraform/dns_vntx_net_porkbun_TEMP.tf @@ -0,0 +1,85 @@ +# TEMPORARY FILE - vntx.net Porkbun configuration +# Forward records for reverse DNS zones removed (*.client A records) +# Contains TXT and CNAME records only + +resource "porkbun_dns_record" "vntx_txt_records" { + for_each = { + "_twilio" = "twilio-domain-verification=12bf63d61b86412618bdb4ab6c2b287a" + "_dmarc" = "v=DMARC1; p=none" + "_updown" = "updown-page=p/34yuc" + "_github-challenge-vntx" = "34ea2705e4" + "_github-pages-challenge-gmcintire" = "d125f4244edd0120ee0fa073d3acf1" + "krs._domainkey.mg" = "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHbWtJ5uPGEOPmJrT36WBXKxVL0b4fqjIM4n6oXK4zaUucqYp7jeoKG+FTO5XEjyja7hsP9WahntUrVb8WI5V6Cj0CznesMrM7oQRntcyuy8mSD1zilmZe4q2Kc65gj2MRrkg3tkJfogXHNz2rxmquNu/DxsFLeQP8a2E5tYXVFwIDAQAB" + "mandrill._domainkey" = "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrLHiExVd55zd/IQ/J/mRwSRMAocV/hMB3jXwaHH36d9NaVynQFYV8NaWi69c1veUtRzGt7yAioXqLj7Z4TeEUoOLgrKsn8YnckGs9i3B3tVFB+Ch/4mPhXWiNfNdynHWBcPcbJ8kjEQ2U8y78dHZj1YeRXXVvWob2OaKynO8/lQIDAQAB;" + "mg" = "v=spf1 include:mailgun.org ~all" + "o365" = "v=spf1 include:spf.protection.outlook.com -all" + "spf" = "v=spf1 include:_spf.google.com include:spf.mandrillapp.com ~all" + "@" = "google-site-verification=RD-gYkKRPw1TSIzHRAuJljZ7Xee6uDGGkFvL6XmSjs0" + "detectify-verification" = "7c06e001f2f39c59564baabd497360e2" + "keybase-site-verification" = "xNV8FawC3MsGF70UNFKaKQUUOyQvjeL0DMK_RMQQ-_Q" + "MS" = "ms84271221" + "have-i-been-pwned-verification" = "beb9c178a27aaaaa007c4c84d64dccf5" + } + + domain = "vntx.net" + name = each.key + content = each.value + type = "TXT" + ttl = 3600 + priority = 0 +} + +# resource "porkbun_dns_record" "vntx_srv1" { +# domain = "vntx.net" +# name = "_sipfederationtls._tcp.o365" +# type = "SRV" +# priority = 100 +# content = "5061 sipfed.online.lync.com." +# ttl = 3600 +# } + + +# SRV("_sip._tls.o365", 100, 1, 443, "sipdir.online.lync.com.", TTL(3600)), + +resource "porkbun_dns_record" "vntx_cname_records" { + for_each = { + "mte1._domainkey" = "dkim1.mandrillapp.com." + "mte2._domainkey" = "dkim2.mandrillapp.com." + "em924886" = "return.smtp2go.net." + "s924886._domainkey" = "dkim.smtp2go.net." + "link" = "track.smtp2go.net." + "_83337805c305955c6823504cc5e6ca29" = "_baf97cdcc7b6458fa5719e4261e9932f.sdgjtdhdhz.acm-validations.aws." + "activate" = "verona-networks-checkout.gaiia-consumer.com." + "portal" = "verona-networks-clientportal.gaiia-consumer.com." + "url9812" = "sendgrid.net." + "url62" = "sendgrid.net." + "177982" = "sendgrid.net." + "_4080c249b6e72dd04f2a9508aa1a1b7f.kivrak" = "_de3e5d511f3869bbd271b935a3b4f973.tljzshvwok.acm-validations.aws." + "4809fce066c3da4d14197c7276ba083f.irc" = "b58bf151af520d34d8fad99d05274cb536893031.comodoca.com." + "9p83fpanfdgs8xdgcnzd" = "verify.squarespace.com." + "autodiscover.o365" = "autodiscover.outlook.com." + "autodiscover" = "autodiscover.outlook.com." + "_bc1077259b1fbbb11c1e16756e1883f9.irc" = "793f217a963b25f361ec1975e0fd7d54.dc2ec86a36550aed25a0011c0b2b044b.62f7abe714ec1.comodoca.com." + "em9279" = "u177982.wl233.sendgrid.net." + "email.mg" = "mailgun.org." + "email" = "mandrillapp.com." + "enterpriseenrollment.o365" = "enterpriseenrollment.manage.microsoft.com." + "enterpriseregistration.o365" = "enterpriseregistration.windows.net." + "lyncdiscover.o365" = "webdir.online.lync.com." + "s1._domainkey" = "s1.domainkey.u177982.wl233.sendgrid.net." + "s2._domainkey" = "s2.domainkey.u177982.wl233.sendgrid.net." + "sip.o365" = "sipdir.online.lync.com." + "www" = "ext-cust.squarespace.com." + "uptime" = "page.updown.io." + "status" = "stats.uptimerobot.com." + "ntp" = "0.us.pool.ntp.org." + "iptrack" = "dokku.w5isp.com." + } + + domain = "vntx.net" + name = each.key + content = each.value + type = "CNAME" + ttl = 3600 + priority = 0 +} diff --git a/home/terraform/dns_w5isp.tf b/home/terraform/dns_w5isp.tf index e982f12..d04ae7c 100644 --- a/home/terraform/dns_w5isp.tf +++ b/home/terraform/dns_w5isp.tf @@ -1,245 +1,253 @@ -resource "porkbun_dns_record" "w5isp_root" { - domain = "w5isp.com" - name = "" - content = "204.110.191.5" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_soa" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "w5isp.com." + type = "SOA" + ttl = 3600 + records = ["ns1.as393837.net. graham.mcintire.me. 0 10800 3600 604800 3600"] } -resource "porkbun_dns_record" "w5isp_git" { - domain = "w5isp.com" - name = "git" - content = "66.206.18.163" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_root" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "w5isp.com." + type = "A" + ttl = 3600 + records = ["204.110.191.5"] } -resource "porkbun_dns_record" "w5isp_home" { - domain = "w5isp.com" - name = "home" - content = "204.110.191.1" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_git" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "git.w5isp.com." + type = "A" + ttl = 3600 + records = ["66.206.18.163"] } - -resource "porkbun_dns_record" "w5isp_photos" { - domain = "w5isp.com" - name = "photos" - content = "204.110.191.8" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_home" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "home.w5isp.com." + type = "A" + ttl = 3600 + records = ["204.110.191.1"] } -resource "porkbun_dns_record" "w5isp_skippy" { - domain = "w5isp.com" - name = "skippy" - content = "204.110.191.8" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_photos" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "photos.w5isp.com." + type = "A" + ttl = 3600 + records = ["204.110.191.8"] } -resource "porkbun_dns_record" "w5isp_ha" { - domain = "w5isp.com" - name = "ha" - content = "q1l09qiycnaagngmjsg1qas0rhqcfoou.ui.nabu.casa" - type = "CNAME" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_skippy" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "skippy.w5isp.com." + type = "A" + ttl = 3600 + records = ["204.110.191.8"] } -resource "porkbun_dns_record" "w5isp_mx1" { - domain = "w5isp.com" - name = "" - priority = 10 - content = "mail.w5isp.com" - type = "MX" - ttl = 3600 +resource "powerdns_record" "w5isp_ha" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "ha.w5isp.com." + type = "CNAME" + ttl = 3600 + records = ["q1l09qiycnaagngmjsg1qas0rhqcfoou.ui.nabu.casa."] } -resource "porkbun_dns_record" "w5isp_txt" { - domain = "w5isp.com" - name = "" - content = "v=spf1 mx a ip4:204.110.191.5 ~all" - type = "TXT" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_mx1" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "w5isp.com." + type = "MX" + ttl = 3600 + records = ["10 mail.w5isp.com."] +} + +resource "powerdns_record" "w5isp_txt" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "w5isp.com." + type = "TXT" + ttl = 3600 + records = ["\"v=spf1 mx a ip4:204.110.191.5 ~all\""] } # DKIM record -resource "porkbun_dns_record" "w5isp_dkim" { - domain = "w5isp.com" - name = "dkim._domainkey" - content = "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxti2t8TvzIqKF9BpKn3rQExKg3sS1SyQuwtQgL0r/ELEJ0D9cKU/iM+eB1ROJctKHoMqKDJoRCMP6eibFcgq2kLKqf+aceEOIBx2OK2WCXML+CNqQZA6yO+A8/Jq7iFZPq8D5FmOoxbwRZkso7CkSennSz/+F7nBPI/OfyEiiI4xJzWH3t8SaAkkcy46O+1K0iCkTpsthon7E2PHa3SPkrjbep/5NImTJLK5LuffiLJtLsiK+73mvsAYCDmrNxPTaDjXkj0TWdKl/d/TnlVJl+YloqWIDt/7LtZQM0C7GZ9flIr7z9hHpSWERXAA5Gj5NQ0/hcY3nF4dPoqWs3VeeQIDAQAB" - type = "TXT" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_dkim" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "dkim._domainkey.w5isp.com." + type = "TXT" + ttl = 3600 + records = ["\"v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxti2t8TvzIqKF9BpKn3rQExKg3sS1SyQuwtQgL0r/ELEJ0D9cKU/iM+eB1ROJctKHoMqKDJoRCMP6eibFcgq2kLKqf+aceEOIBx2OK2WCXML+CNqQZA6yO+A8/Jq7iFZPq8D5FmOoxbwRZkso7CkSennSz/+F7nBPI/OfyEiiI4xJzWH3t8SaAkkcy46O+1K0iCkTpsthon7E2PHa3SPkrjbep/5NImTJLK5LuffiLJtLsiK+73mvsAYCDmrNxPTaDjXkj0TWdKl/d/TnlVJl+YloqWIDt/7LtZQM0C7GZ9flIr7z9hHpSWERXAA5Gj5NQ0/hcY3nF4dPoqWs3VeeQIDAQAB\""] } -resource "porkbun_dns_record" "w5isp_g" { - domain = "w5isp.com" - name = "g" - content = "204.110.191.5" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_g" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "g.w5isp.com." + type = "A" + ttl = 3600 + records = ["204.110.191.5"] } -resource "porkbun_dns_record" "w5isp_truck" { - domain = "w5isp.com" - name = "truck" - content = "g.w5isp.com." - type = "CNAME" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_truck" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "truck.w5isp.com." + type = "CNAME" + ttl = 3600 + records = ["g.w5isp.com."] } -resource "porkbun_dns_record" "w5isp_sendgrid1" { - domain = "w5isp.com" - name = "em40" - content = "u177982.wl233.sendgrid.net" - type = "CNAME" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_sendgrid1" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "em40.w5isp.com." + type = "CNAME" + ttl = 3600 + records = ["u177982.wl233.sendgrid.net."] } -resource "porkbun_dns_record" "w5isp_sendgrid2" { - domain = "w5isp.com" - name = "s1._domainkey" - content = "s1.domainkey.u177982.wl233.sendgrid.net." - type = "CNAME" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_sendgrid2" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "s1._domainkey.w5isp.com." + type = "CNAME" + ttl = 3600 + records = ["s1.domainkey.u177982.wl233.sendgrid.net."] } -resource "porkbun_dns_record" "w5isp_sendgrid3" { - domain = "w5isp.com" - name = "s2._domainkey" - content = "s2.domainkey.u177982.wl233.sendgrid.net." - type = "CNAME" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_sendgrid3" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "s2._domainkey.w5isp.com." + type = "CNAME" + ttl = 3600 + records = ["s2.domainkey.u177982.wl233.sendgrid.net."] } -resource "porkbun_dns_record" "w5isp_dmarc" { - domain = "w5isp.com" - name = "_dmarc" - content = "v=DMARC1; p=quarantine; rua=mailto:postmaster@w5isp.com; ruf=mailto:postmaster@w5isp.com; fo=1" - type = "TXT" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_dmarc" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "_dmarc.w5isp.com." + type = "TXT" + ttl = 3600 + records = ["\"v=DMARC1; p=quarantine; rua=mailto:postmaster@w5isp.com; ruf=mailto:postmaster@w5isp.com; fo=1\""] } # Mail server -resource "porkbun_dns_record" "w5isp_mail" { - domain = "w5isp.com" - name = "mail" - content = "204.110.191.5" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_mail" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "mail.w5isp.com." + type = "A" + ttl = 3600 + records = ["204.110.191.5"] } -resource "porkbun_dns_record" "w5isp_sync" { - domain = "w5isp.com" - name = "sync" - content = "204.110.191.216" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_sync" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "sync.w5isp.com." + type = "A" + ttl = 3600 + records = ["204.110.191.216"] } -resource "porkbun_dns_record" "w5isp_log" { - domain = "w5isp.com" - name = "log" - content = "g.w5isp.com" - type = "CNAME" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_log" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "log.w5isp.com." + type = "CNAME" + ttl = 3600 + records = ["g.w5isp.com."] } -resource "porkbun_dns_record" "w5isp_autodiscover" { - domain = "w5isp.com" - name = "autodiscover" - content = "mail.w5isp.com" - type = "CNAME" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_autodiscover" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "autodiscover.w5isp.com." + type = "CNAME" + ttl = 3600 + records = ["mail.w5isp.com."] } -resource "porkbun_dns_record" "w5isp_autodiscover_srv" { - domain = "w5isp.com" - name = "_autodiscover._tcp" - content = "0 443 mail.w5isp.com" - type = "SRV" - priority = 0 - ttl = 3600 +resource "powerdns_record" "w5isp_autodiscover_srv" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "_autodiscover._tcp.w5isp.com." + type = "SRV" + ttl = 3600 + records = ["0 0 443 mail.w5isp.com."] } -resource "porkbun_dns_record" "w5isp_autoconfig" { - domain = "w5isp.com" - name = "autoconfig" - content = "mail.w5isp.com" - type = "CNAME" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_autoconfig" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "autoconfig.w5isp.com." + type = "CNAME" + ttl = 3600 + records = ["mail.w5isp.com."] } -resource "porkbun_dns_record" "w5isp_n8n" { - domain = "w5isp.com" - name = "n8n" - content = "204.110.191.2" # Traefik ingress on k3s cluster - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_n8n" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "n8n.w5isp.com." + type = "A" + ttl = 3600 + records = ["204.110.191.2"] # Traefik ingress on k3s cluster } -resource "porkbun_dns_record" "w5isp_nodered" { - domain = "w5isp.com" - name = "nodered" - content = "204.110.191.2" # Node-RED via Traefik on k3s cluster - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_nodered" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "nodered.w5isp.com." + type = "A" + ttl = 3600 + records = ["204.110.191.2"] # Node-RED via Traefik on k3s cluster } -resource "porkbun_dns_record" "w5isp_headscale" { - domain = "w5isp.com" - name = "headscale" - content = "66.206.18.166" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_headscale" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "headscale.w5isp.com." + type = "A" + ttl = 3600 + records = ["66.206.18.166"] } -resource "porkbun_dns_record" "w5isp_hs" { - domain = "w5isp.com" - name = "hs" - content = "66.206.18.166" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_hs" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "hs.w5isp.com." + type = "A" + ttl = 3600 + records = ["66.206.18.166"] } -resource "porkbun_dns_record" "w5isp_dokku" { - domain = "w5isp.com" - name = "dokku" - content = "204.110.191.218" - type = "A" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_dokku" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "dokku.w5isp.com." + type = "A" + ttl = 3600 + records = ["204.110.191.218"] } -resource "porkbun_dns_record" "w5isp_camper" { - domain = "w5isp.com" - name = "camper" - content = "skippy.w5isp.com." - type = "CNAME" - ttl = 3600 - priority = 0 +resource "powerdns_record" "w5isp_camper" { + depends_on = [powerdns_zone.w5isp] + zone = "w5isp.com." + name = "camper.w5isp.com." + type = "CNAME" + ttl = 3600 + records = ["skippy.w5isp.com."] } diff --git a/home/terraform/dns_w5isp_dnsimple_TEMP.tf b/home/terraform/dns_w5isp_dnsimple_TEMP.tf new file mode 100644 index 0000000..b6abf40 --- /dev/null +++ b/home/terraform/dns_w5isp_dnsimple_TEMP.tf @@ -0,0 +1,226 @@ +# TEMPORARY FILE - w5isp.com DNSimple configuration +# This is a backup/reference of w5isp.com in DNSimple format + +resource "dnsimple_zone" "w5isp_com" { + name = "w5isp.com" +} + +resource "dnsimple_zone_record" "w5isp_root" { + zone_name = "w5isp.com" + name = "" + value = "204.110.191.5" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_git" { + zone_name = "w5isp.com" + name = "git" + value = "66.206.18.163" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_home" { + zone_name = "w5isp.com" + name = "home" + value = "204.110.191.1" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_photos" { + zone_name = "w5isp.com" + name = "photos" + value = "204.110.191.8" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_skippy" { + zone_name = "w5isp.com" + name = "skippy" + value = "204.110.191.8" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_ha" { + zone_name = "w5isp.com" + name = "ha" + value = "q1l09qiycnaagngmjsg1qas0rhqcfoou.ui.nabu.casa" + type = "CNAME" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_mx1" { + zone_name = "w5isp.com" + name = "" + priority = 10 + value = "mail.w5isp.com" + type = "MX" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_txt" { + zone_name = "w5isp.com" + name = "" + value = "v=spf1 mx a ip4:204.110.191.5 ~all" + type = "TXT" + ttl = 3600 +} + +# DKIM record +resource "dnsimple_zone_record" "w5isp_dkim" { + zone_name = "w5isp.com" + name = "dkim._domainkey" + value = "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxti2t8TvzIqKF9BpKn3rQExKg3sS1SyQuwtQgL0r/ELEJ0D9cKU/iM+eB1ROJctKHoMqKDJoRCMP6eibFcgq2kLKqf+aceEOIBx2OK2WCXML+CNqQZA6yO+A8/Jq7iFZPq8D5FmOoxbwRZkso7CkSennSz/+F7nBPI/OfyEiiI4xJzWH3t8SaAkkcy46O+1K0iCkTpsthon7E2PHa3SPkrjbep/5NImTJLK5LuffiLJtLsiK+73mvsAYCDmrNxPTaDjXkj0TWdKl/d/TnlVJl+YloqWIDt/7LtZQM0C7GZ9flIr7z9hHpSWERXAA5Gj5NQ0/hcY3nF4dPoqWs3VeeQIDAQAB" + type = "TXT" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_g" { + zone_name = "w5isp.com" + name = "g" + value = "204.110.191.5" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_truck" { + zone_name = "w5isp.com" + name = "truck" + value = "g.w5isp.com." + type = "CNAME" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_sendgrid1" { + zone_name = "w5isp.com" + name = "em40" + value = "u177982.wl233.sendgrid.net" + type = "CNAME" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_sendgrid2" { + zone_name = "w5isp.com" + name = "s1._domainkey" + value = "s1.domainkey.u177982.wl233.sendgrid.net." + type = "CNAME" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_sendgrid3" { + zone_name = "w5isp.com" + name = "s2._domainkey" + value = "s2.domainkey.u177982.wl233.sendgrid.net." + type = "CNAME" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_dmarc" { + zone_name = "w5isp.com" + name = "_dmarc" + value = "v=DMARC1; p=quarantine; rua=mailto:postmaster@w5isp.com; ruf=mailto:postmaster@w5isp.com; fo=1" + type = "TXT" + ttl = 3600 +} + +# Mail server +resource "dnsimple_zone_record" "w5isp_mail" { + zone_name = "w5isp.com" + name = "mail" + value = "204.110.191.5" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_sync" { + zone_name = "w5isp.com" + name = "sync" + value = "204.110.191.216" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_log" { + zone_name = "w5isp.com" + name = "log" + value = "g.w5isp.com" + type = "CNAME" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_autodiscover" { + zone_name = "w5isp.com" + name = "autodiscover" + value = "mail.w5isp.com" + type = "CNAME" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_autodiscover_srv" { + zone_name = "w5isp.com" + name = "_autodiscover._tcp" + value = "0 443 mail.w5isp.com" + type = "SRV" + priority = 0 + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_autoconfig" { + zone_name = "w5isp.com" + name = "autoconfig" + value = "mail.w5isp.com" + type = "CNAME" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_n8n" { + zone_name = "w5isp.com" + name = "n8n" + value = "204.110.191.2" # Traefik ingress on k3s cluster + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_nodered" { + zone_name = "w5isp.com" + name = "nodered" + value = "204.110.191.2" # Node-RED via Traefik on k3s cluster + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_headscale" { + zone_name = "w5isp.com" + name = "headscale" + value = "66.206.18.166" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_hs" { + zone_name = "w5isp.com" + name = "hs" + value = "66.206.18.166" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_dokku" { + zone_name = "w5isp.com" + name = "dokku" + value = "204.110.191.218" + type = "A" + ttl = 3600 +} + +resource "dnsimple_zone_record" "w5isp_camper" { + zone_name = "w5isp.com" + name = "camper" + value = "skippy.w5isp.com." + type = "CNAME" + ttl = 3600 +} diff --git a/home/terraform/main.tf b/home/terraform/main.tf index 6f22a2c..a5e5ccb 100644 --- a/home/terraform/main.tf +++ b/home/terraform/main.tf @@ -37,15 +37,10 @@ provider "porkbun" { secret_api_key = var.prokbun_secret_api_key } -provider "powerdns" { - api_key = var.pdns_api_key - server_url = var.pdns_server_url -} - -provider "vultr" { - # API key should be set via VULTR_KEY environment variable - api_key = var.vultr_api_key -} +# provider "powerdns" { +# api_key = var.pdns_api_key +# server_url = var.pdns_server_url +# } provider "cloudflare" { # API token is read from CLOUDFLARE_API_TOKEN environment variable @@ -58,3 +53,9 @@ provider "cloudflare" { # password = var.proxmox_password # insecure = var.proxmox_tls_insecure # } + +provider "powerdns" { + # alias = "vultr" + api_key = var.pdns_vultr_api_key + server_url = "http://100.93.123.98:8081" +} diff --git a/home/terraform/proxmox.tf.disabled b/home/terraform/proxmox.tf.disabled deleted file mode 100644 index edbf1d1..0000000 --- a/home/terraform/proxmox.tf.disabled +++ /dev/null @@ -1,103 +0,0 @@ -# Proxmox K3s Control Plane Nodes -# resource "proxmox_virtual_environment_vm" "k3s_control" { -# count = var.control_plane_count - -# name = "${var.cluster_name}-control-${count.index + 1}" -# node_name = var.proxmox_nodes[count.index % length(var.proxmox_nodes)] -# vm_id = 1100 + count.index - -# cpu { -# cores = var.control_plane_cores -# type = "host" -# } - -# memory { -# dedicated = var.control_plane_memory -# } - -# disk { -# datastore_id = var.storage_pool -# file_id = "${var.storage_pool}:${var.vm_template}" -# interface = "scsi0" -# size = var.control_plane_disk_size -# } - -# network_device { -# bridge = var.network_bridge -# } - -# operating_system { -# type = "l26" -# } - -# initialization { -# ip_config { -# ipv4 { -# address = "${cidrhost(var.network_cidr, var.control_plane_ip_start + count.index)}/22" -# gateway = var.network_gateway -# } -# } -# user_account { -# username = var.ssh_user -# keys = [var.ssh_public_key] -# } -# } - -# lifecycle { -# ignore_changes = [ -# initialization[0].user_data_file_id, -# ] -# } -# } - -# Proxmox K3s Worker Nodes -# resource "proxmox_virtual_environment_vm" "k3s_worker" { -# count = var.worker_count - -# name = "${var.cluster_name}-worker-${count.index + 1}" -# node_name = var.proxmox_nodes[count.index % length(var.proxmox_nodes)] -# vm_id = 1200 + count.index - -# cpu { -# cores = var.worker_cores -# type = "host" -# } - -# memory { -# dedicated = var.worker_memory -# } - -# disk { -# datastore_id = var.storage_pool -# file_id = "${var.storage_pool}:${var.vm_template}" -# interface = "scsi0" -# size = var.worker_disk_size -# } - -# network_device { -# bridge = var.network_bridge -# } - -# operating_system { -# type = "l26" -# } - -# initialization { -# ip_config { -# ipv4 { -# address = "${cidrhost(var.network_cidr, var.worker_ip_start + count.index)}/22" -# gateway = var.network_gateway -# } -# } -# user_account { -# username = var.ssh_user -# keys = [var.ssh_public_key] -# } -# } - -# lifecycle { -# ignore_changes = [ -# initialization[0].user_data_file_id, -# ] -# } -# } diff --git a/home/terraform/setup-powerdns-tunnel.sh b/home/terraform/setup-powerdns-tunnel.sh deleted file mode 100755 index ebe4fd3..0000000 --- a/home/terraform/setup-powerdns-tunnel.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -# OPTIONAL: Setup SSH tunnel for PowerDNS API access through vpn.vntx.net -# This is only needed if you cannot directly reach ns1.vntx.net:8081 -# This forwards local port 18081 to ns1.vntx.net:8081 via vpn.vntx.net - -TUNNEL_HOST="vpn.vntx.net" -LOCAL_PORT="18081" -REMOTE_HOST="ns1.vntx.net" -REMOTE_PORT="8081" - -echo "Setting up SSH tunnel for PowerDNS API access..." -echo "NOTE: Update vars.tf to use pdns_server_url = \"http://localhost:18081\" when using this tunnel" -echo "Local port: ${LOCAL_PORT} -> ${TUNNEL_HOST} -> ${REMOTE_HOST}:${REMOTE_PORT}" - -# Kill any existing tunnel on this port -pkill -f "ssh.*${LOCAL_PORT}:${REMOTE_HOST}:${REMOTE_PORT}" - -# Create SSH tunnel in background -ssh -fN -L ${LOCAL_PORT}:${REMOTE_HOST}:${REMOTE_PORT} ${TUNNEL_HOST} - -if [ $? -eq 0 ]; then - echo "SSH tunnel established successfully" - echo "PowerDNS API should now be accessible at http://localhost:${LOCAL_PORT}" - echo "" - echo "Test with: curl -H 'X-API-Key: \$TF_VAR_pdns_api_key' http://localhost:${LOCAL_PORT}/api/v1/servers/localhost" - echo "" - echo "Run 'tofu plan' or 'tofu apply' now" - echo "" - echo "To stop tunnel later: pkill -f 'ssh.*${LOCAL_PORT}:${REMOTE_HOST}:${REMOTE_PORT}'" -else - echo "Failed to establish SSH tunnel" - exit 1 -fi diff --git a/home/terraform/tfplan b/home/terraform/tfplan new file mode 100644 index 0000000000000000000000000000000000000000..3a84f6be547f4ad4c49517d9a621433d8a14eef0 GIT binary patch literal 72862 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 literal 0 HcmV?d00001 diff --git a/home/terraform/variables.tf b/home/terraform/variables.tf index 7a3caf3..34a196c 100644 --- a/home/terraform/variables.tf +++ b/home/terraform/variables.tf @@ -146,3 +146,9 @@ variable "ssh_public_key" { type = string default = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHLyVSEEAEbGZZqwPwEup0XrlTpu3x3iF9ExvvQPA4xN graham@mcintire.me" } + +variable "pdns_vultr_api_key" { + description = "PowerDNS API key" + type = string + default = "eyyMkv7dpDE0gQz1N2FeyUWGRa9FBHGcqcdSCMaaoe" +} diff --git a/home/terraform/w5isp.tfplan b/home/terraform/w5isp.tfplan new file mode 100644 index 0000000000000000000000000000000000000000..a09680d0c04a08e7504f360f6836c8de245f10ba GIT binary patch literal 64712 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 H5upDEG{-5h literal 0 HcmV?d00001