-
Notifications
You must be signed in to change notification settings - Fork 411
Description
Search before asking
- I had searched in the issues and found no similar feature requirement.
DeepFlow Component
Server
What you expected to happen
Hello DeepFlow Team,
I am trying to use DeepFlow to manage a fleet of bare-metal servers. These servers are located in different geographical regions and are connected using a WireGuard (L3) VPN tunnel to form a private network.
My Environment Setup
-
Infrastructure: A group of geographically distributed bare-metal servers.
-
Networking: All servers are interconnected via a WireGuard tunnel, each having a private IP address within the VPN. The connectivity between nodes over this private network is working correctly.
-
DeepFlow Server: The DeepFlow server components are running on one of these servers, deployed via docker-compose, and are exposed on the server's private WireGuard IP address.
-
Verification: I have confirmed that the nodes can communicate with each other over the WireGuard network. The deepflow-ctl command also works correctly, indicating that the basic control plane communication is functional.
-
Agent Configuration: The controller-ip and port in /etc/deepflow-agent.yaml are correctly configured to point to the DeepFlow server's WireGuard IP.
The Problem
When I try to start the deepflow-agent on any of the nodes, it fails to initialize and enters a restart loop. The log shows the following critical error:
Error: get ctrl ip and mac failed: environment error: failed getting control ip and mac, deepflow-agent restart...
This error suggests that the agent is attempting to resolve the MAC address of the network interface associated with the controller-ip. However, WireGuard creates a pure L3 virtual interface (e.g., wg0), which does not have a MAC address.
This leads me to believe that the agent's startup process has a hard dependency on a Layer 2 MAC address, which makes it incompatible with L3 VPN tunneling solutions like WireGuard out-of-the-box.
My Questions
-
MAC Address Requirement: Does the deepflow-agent strictly require the network interface it uses to communicate with the controller to have a physical MAC address?
-
Agent-Side Requirement: Similarly, does the interface that the agent binds to on its own host also need to have a MAC address?
-
Potential Workarounds:
-
Is there a configuration option in deepflow-agent.yaml to bypass this MAC address check?
-
Alternatively, is it possible to manually specify a dummy/virtual MAC address in the configuration file to satisfy this startup requirement?
My goal is to monitor traffic within this VPN-interconnected environment, and this initial startup failure is the primary blocker. Any guidance or potential solution would be greatly appreciated.
Thank you for your time and help!
DeepFlow version
v7.1.2
Kubernetes CNI
docker compose way
Operation-System/Kernel version
debian 13 6.12.41+deb13-cloud-amd64
Code of Conduct
- I agree to follow this project's Code of Conduct