summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2017-04-03 14:52:03 -0400
committerjim-p <jimp@pfsense.org>2017-04-03 14:52:03 -0400
commitb3a5af718b556c90737059bd964b630673387b71 (patch)
tree326a801320bcb976b7690607f18dcb806c89dbee /src
parentd76ac3ab3ae4a0172401e9fb457e454c6780638a (diff)
parent6ff1f0f39f772173162cc7797ea86110e193913e (diff)
downloadpfsense-b3a5af718b556c90737059bd964b630673387b71.zip
pfsense-b3a5af718b556c90737059bd964b630673387b71.tar.gz
Merge pull request #3636 from luckman212/ipv6-etc-hosts-fix-1
Diffstat (limited to 'src')
-rw-r--r--src/etc/inc/system.inc16
-rw-r--r--src/usr/local/www/system_advanced_network.php17
2 files changed, 26 insertions, 7 deletions
diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc
index 61b6a77..6a1f529 100644
--- a/src/etc/inc/system.inc
+++ b/src/etc/inc/system.inc
@@ -327,13 +327,15 @@ function system_hosts_local_entries() {
);
$hosts_if_found = true;
}
- $cfgipv6 = get_interface_ipv6($sysif);
- if (is_ipaddrv6($cfgipv6)) {
- $hosts[] = array(
- 'ipaddr' => $cfgipv6,
- 'fqdn' => $local_fqdn
- );
- $hosts_if_found = true;
+ if (!isset($syscfg['ipv6dontcreatelocaldns'])) {
+ $cfgipv6 = get_interface_ipv6($sysif);
+ if (is_ipaddrv6($cfgipv6)) {
+ $hosts[] = array(
+ 'ipaddr' => $cfgipv6,
+ 'fqdn' => $local_fqdn
+ );
+ $hosts_if_found = true;
+ }
}
if ($hosts_if_found == true) {
break;
diff --git a/src/usr/local/www/system_advanced_network.php b/src/usr/local/www/system_advanced_network.php
index 297d82a..20d8791 100644
--- a/src/usr/local/www/system_advanced_network.php
+++ b/src/usr/local/www/system_advanced_network.php
@@ -40,6 +40,7 @@ require_once("shaper.inc");
$pconfig['ipv6nat_enable'] = isset($config['diag']['ipv6nat']['enable']);
$pconfig['ipv6nat_ipaddr'] = $config['diag']['ipv6nat']['ipaddr'];
$pconfig['ipv6allow'] = isset($config['system']['ipv6allow']);
+$pconfig['ipv6dontcreatelocaldns'] = isset($config['system']['ipv6dontcreatelocaldns']);
$pconfig['global-v6duid'] = $config['system']['global-v6duid'];
$pconfig['prefer_ipv4'] = isset($config['system']['prefer_ipv4']);
$pconfig['sharednet'] = $config['system']['sharednet'];
@@ -86,6 +87,12 @@ if ($_POST) {
unset($config['system']['ipv6allow']);
}
+ if ($_POST['ipv6dontcreatelocaldns'] == "yes") {
+ $config['system']['ipv6dontcreatelocaldns'] = true;
+ } else {
+ unset($config['system']['ipv6dontcreatelocaldns']);
+ }
+
if ($_POST['prefer_ipv4'] == "yes") {
$config['system']['prefer_ipv4'] = true;
} else {
@@ -203,6 +210,16 @@ $section->addInput(new Form_Checkbox(
))->setHelp('By default, if IPv6 is configured and a hostname resolves IPv6 and IPv4 addresses, '.
'IPv6 will be used. If this option is selected, IPv4 will be preferred over IPv6.');
+$section->addInput(new Form_Checkbox(
+ 'ipv6dontcreatelocaldns',
+ 'IPv6 DNS entry',
+ 'Do not generate local IPv6 DNS entries for LAN interfaces',
+ $pconfig['ipv6dontcreatelocaldns']
+))->setHelp('If a LAN interface\'s IPv6 configuration is set to Track, and the tracked interface loses connectivity, '.
+ 'it can cause connections to this firewall that were established via hostname to fail. This can happen '.
+ 'unintentionally when accessing the firewall by hostname, since by default both IPv4 and IPv6 entries are added '.
+ 'to the system\'s DNS. Enabling this option prevents those IPv6 records from being created.');
+
$group = new Form_Group('DHCP6 DUID');
$group->add(new Form_Input(
OpenPOWER on IntegriCloud