routeros-scripts-custom/doc/dns-to-ipv6-subnet-resolver.md

3.6 KiB
Raw Permalink Blame History

DNS to IPv6 subnet resolver

⬅️ Go back to main README

Info: This script can not be used on its own but requires the base installation. See main README for details.

Table of Contents

Description

This script resolved IPv6 addresses from a domain and calculates the Subnet from the configured subnet length.

Requirements and installation

Just install the script:

$ScriptInstallUpdate dns-to-ipv6-subnet-resolver "base-url=https://git.s1q.dev/phg/routeros-scripts-custom/raw/branch/main/";
/system/script/set [find name="dns-to-ipv6-subnet-resolver"] policy=read,write,test,policy

Configuration

Edit global-config-overlay and add the following variables.

Variable name Required Data type Example Description
PhgIpv6AddressList true String resolved_ipv6_subnets IPv6 address list (address list which will contain the resolved subnets)
PhgDomainToIpv6Subnet true tuple {"example.com";64;"example.com"}; Object containing a domain, a prefix length and a comment for the List entry
PhgIpv6AddressListCommentPrefix false String Resolved subnet for If set, prefixes the comment for the address list

PhgIpv6AddressList

Example:

:global PhgIpv6AddressList "resolved_ipv6_subnets";

PhgDomainToIpv6Subnet

Example:

:global PhgDomainToIpv6Subnet {
  {"example.com";64;"example.com"};
  {"example.net";56;"example.net - Home IP of John Doe"};
};

PhgDomainToIpv6Subnet tuple variables:

Object variable Data type Example Description
Domain String "example.com" The domain which the IPv6 address should be resolved
Prefix length Integer 64 The prefix length for the resolved IPv6 address. Used to calculate the subnet address
Comment String "example.com" Comment for the list entry

PhgIpv6AddressListCommentPrefix

Example:

:global PhgIpv6AddressListCommentPrefix "Resolved subnet for";

Usage and invocation

How to run the script manually:

/system/script/run dns-to-ipv6-subnet-resolver;

Setup a Scheduler to run the script regularly:

/system/scheduler/add name="dns-to-ipv6-subnet-resolver" interval="00:05:00" policy="read,write,test,policy" on-event="/system/script/run dns-to-ipv6-subnet-resolver;";

⬅️ Go back to main README ⬆️ Go back to top