173 lines
No EOL
5 KiB
JSON
173 lines
No EOL
5 KiB
JSON
{
|
|
"client_requirement": "client_is_administrator+",
|
|
"items": [
|
|
{
|
|
"type": "header_page_title",
|
|
"items": [
|
|
{
|
|
"type": "h1",
|
|
"text": "DNS Server"
|
|
},
|
|
{
|
|
"type": "p",
|
|
"text": "Upstream resolvers and forwarding DNS service settings."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "card",
|
|
"label": "Upstream DNS",
|
|
"client_requirement": "client_is_administrator+",
|
|
"items": [
|
|
{
|
|
"type": "form",
|
|
"action": "/action/dnsserver/upstreamdns_save",
|
|
"method": "post",
|
|
"items": [
|
|
{
|
|
"type": "editable_list",
|
|
"label": "DNS Providers",
|
|
"name": "upstream_servers",
|
|
"item_placeholder": "e.g. 1.1.1.1",
|
|
"add_label": "Add Provider",
|
|
"validate": "VALIDATION_IPV4_FORMAT|VALIDATION_IPV6_FORMAT",
|
|
"hint": "DNS resolvers queried for external hostnames. Supports IPv4 and IPv6.",
|
|
"items": "%DNS_UPSTREAM_SERVERS_JSON%"
|
|
},
|
|
{
|
|
"type": "field",
|
|
"label": "Strict Order",
|
|
"name": "strict_order",
|
|
"input_type": "checkbox",
|
|
"value": "%DNS_STRICT_ORDER%",
|
|
"hint": "Query DNS providers in list order rather than in parallel."
|
|
},
|
|
{
|
|
"type": "button_row",
|
|
"items": [
|
|
{
|
|
"type": "button_primary",
|
|
"action": "/action/dnsserver/upstreamdns_save",
|
|
"method": "post",
|
|
"text": "Save"
|
|
},
|
|
{
|
|
"type": "button_cancel",
|
|
"text": "Cancel"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "card",
|
|
"label": "DNS Forwarding",
|
|
"client_requirement": "client_is_administrator+",
|
|
"items": [
|
|
{
|
|
"type": "form",
|
|
"action": "/action/dnsserver/dnsforwarding_save",
|
|
"method": "post",
|
|
"items": [
|
|
{
|
|
"type": "field",
|
|
"label": "Cache Size",
|
|
"name": "cache_size",
|
|
"input_type": "number",
|
|
"value": "%DNS_CACHE_SIZE%",
|
|
"min": 0,
|
|
"hint": "Max DNS responses to cache per instance. Set to 0 to disable caching."
|
|
},
|
|
{
|
|
"type": "button_row",
|
|
"items": [
|
|
{
|
|
"type": "button_primary",
|
|
"action": "/action/dnsserver/dnsforwarding_save",
|
|
"method": "post",
|
|
"text": "Save"
|
|
},
|
|
{
|
|
"type": "button_cancel",
|
|
"text": "Cancel"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
,
|
|
{
|
|
"type": "card",
|
|
"label": "DNS Statistics",
|
|
"items": [
|
|
{
|
|
"type": "grid",
|
|
"rows": [
|
|
{
|
|
"cells": [
|
|
{"type": "grid_label", "text": "Tracking Since"},
|
|
{"type": "grid_value", "text": "%DNS_METRICS_SINCE%"}
|
|
]
|
|
},
|
|
{
|
|
"cells": [
|
|
{"type": "grid_label", "text": "Last Updated"},
|
|
{"type": "grid_value", "text": "%DNS_METRICS_UPDATED%"}
|
|
]
|
|
},
|
|
{
|
|
"cells": [
|
|
{"type": "grid_label", "text": "Total Queries"},
|
|
{"type": "grid_value", "text": "%DNS_STAT_QUERIES%"}
|
|
]
|
|
},
|
|
{
|
|
"cells": [
|
|
{"type": "grid_label", "text": "Cache Hits"},
|
|
{"type": "grid_value", "text": "%DNS_STAT_HITS% (%DNS_STAT_HIT_RATE% hit rate)"}
|
|
]
|
|
},
|
|
{
|
|
"cells": [
|
|
{"type": "grid_label", "text": "Forwarded to Upstream"},
|
|
{"type": "grid_value", "text": "%DNS_STAT_FORWARDED%"}
|
|
]
|
|
},
|
|
{
|
|
"cells": [
|
|
{"type": "grid_label", "text": "Authoritative Answers"},
|
|
{"type": "grid_value", "text": "%DNS_STAT_AUTH%"}
|
|
]
|
|
},
|
|
{
|
|
"cells": [
|
|
{"type": "grid_label", "text": "TCP Peak"},
|
|
{"type": "grid_value", "text": "%DNS_STAT_TCP_PEAK%"}
|
|
]
|
|
},
|
|
{
|
|
"cells": [
|
|
{"type": "grid_label", "text": "Cache Capacity"},
|
|
{"type": "grid_value", "text": "%DNS_CACHE_SIZE% entries"}
|
|
]
|
|
},
|
|
{
|
|
"cells": [
|
|
{"type": "grid_label", "text": "Cache Evictions"},
|
|
{"type": "grid_value", "text": "%DNS_STAT_CACHE_EVICTIONS%"}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "raw_html",
|
|
"html": "%DNS_PROVIDERS_TABLE%"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |