diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/NetflowController.php b/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/NetflowController.php index 02dda3fce..e5dbcd3fc 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/NetflowController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/NetflowController.php @@ -67,6 +67,18 @@ class NetflowController extends ApiControllerBase // load model and update with provided data $mdlNetflow = new Netflow(); $mdlNetflow->setNodes($this->request->getPost("netflow")); + if ((string)$mdlNetflow->collect->enable == 1) { + // add localhost (127.0.0.1:2056) as target if local capture is configured + if (strpos((string)$mdlNetflow->capture->targets, "127.0.0.1:2056") === false) { + if ((string)$mdlNetflow->capture->targets != "") { + $targets = explode(",", (string)$mdlNetflow->capture->targets); + } else { + $targets = array(); + } + $targets[] = "127.0.0.1:2056"; + $mdlNetflow->capture->targets = implode(',', $targets); + } + } // perform validation $validations = $mdlNetflow->validate(); diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/forms/netflow_capture.xml b/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/forms/netflow_capture.xml index 0a1e1e8b6..9bd210491 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/forms/netflow_capture.xml +++ b/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/forms/netflow_capture.xml @@ -7,6 +7,12 @@ Type or select interface. + + netflow.collect.enable + + checkbox + Collect netflow data on this firewall, this will automatically append localhost as netflow target + netflow.capture.version diff --git a/src/opnsense/mvc/app/models/OPNsense/Diagnostics/Netflow.xml b/src/opnsense/mvc/app/models/OPNsense/Diagnostics/Netflow.xml index eb7382bbc..187085b27 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Diagnostics/Netflow.xml +++ b/src/opnsense/mvc/app/models/OPNsense/Diagnostics/Netflow.xml @@ -27,5 +27,11 @@ Please enter valid targets (e.g. 192.168.0.1:2055) + + + 1 + Y + +