-
Couldn't load subscription status.
- Fork 259
feat: update iptables monitor with ipv6 and bpf map reading capabilities #3948
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enhances the azure-iptables-monitor with IPv6 support and BPF map monitoring capabilities. The monitor can now detect unexpected iptables rules in both IPv4 and IPv6 tables, and can track blocked iptables rule attempts via a pinned BPF map.
Key changes:
- Adds IPv6 iptables monitoring with separate allowlist configuration directory
- Implements BPF map reading to track blocked iptables rule attempts and generate events when blocks increase
- Updates the Kubernetes label name to follow Azure conventions
Reviewed Changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| iptables_monitor.go | Core implementation adding IPv6 support, BPF map monitoring, and label name update |
| iptables_monitor_test.go | Updates test to match new function signature with config path parameter |
| go.mod | Adds cilium/ebpf dependency for BPF map functionality |
| README.md | Documents new command-line flags and updated label name |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| /azp run Azure Container Networking PR |
| Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the event description, let's add an explanation indicating that eBPF host routing is enabled. The user may not immediately have context on why iptables rules are being blocked. We could also link aka.ms/acnsperformance
2e541d7 to cd2c3e4 Compare cd2c3e4 to 9e10260 Compare 9e10260 to dcce911 Compare Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Alexander <39818795+QxBytes@users.noreply.github.com>
d73254f to e3bc5f6 Compare | /azp run Azure Container Networking PR |
| Azure Pipelines successfully started running 1 pipeline(s). |
…ies (Azure#3948) * update label * add ip6tables * update readme * update logging * add ability to read bpf map to iptables monitor * modify log * display iptables rules block count only when check map enabled * update readme * remove unused function (noop) * address linter * update azure-iptables-monitor/iptables_monitor.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Alexander <39818795+QxBytes@users.noreply.github.com> * adjust event description * adjust pinned path --------- Signed-off-by: Alexander <39818795+QxBytes@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ies (#3948) * update label * add ip6tables * update readme * update logging * add ability to read bpf map to iptables monitor * modify log * display iptables rules block count only when check map enabled * update readme * remove unused function (noop) * address linter * update azure-iptables-monitor/iptables_monitor.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Alexander <39818795+QxBytes@users.noreply.github.com> * adjust event description * adjust pinned path --------- Signed-off-by: Alexander <39818795+QxBytes@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Reason for Change:
Adds two new capabilities to azure-iptables-monitor:
Issue Fixed:
See above
Requirements:
Notes:
Tested on a cilium dualstack cluster