-
Notifications
You must be signed in to change notification settings - Fork 39.7k
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
loadBalancerSourceRanges does not work on Windows #120033
Comments
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/sig Windows |
/sig network |
Yes, I don't think this field is supported on Windows today. +@princepereira as well for confirmation. |
Looking for an update on this, please. |
Pretty sure this isn't supported and also we don't test it at all .... I'll confirm |
Yeah, confirmed its not implemented in the windows kernel proxy, at least, not as far as i can tell in the kernelspace proxy ... but maybe its possible in other windows proxies that are able to do things other than HNS..... In the iptables impl, they use CIDR matching in the rules to do this .In the iptables proxy: you can generally grok how this all works... (inside of the
) I dont think we CAN do this in the windows, HNS based proxy?To my knowledge the HNS API Doesnt allow any kind of firewall / packet filtering functionality to do this, so we cant implement it easily i think in the windows kernel proxy. Unless you did some magic thing like looking at the actual packets in userspace or whatever.... @daschott to confirm? |
cc @pramitagautam @tzifudzi for op-readiness we should doc this |
Hi, the load balancer source ranges is not implemented for Windows... I have not looked at this in detail yet and am not familiar with the feature. But HNS does have an ACL policy to allow/deny traffic based on CIDR, would that be suitable? This is used for example by npm & Calico... |
sgtm, at least for now we can leave this bug open. will discuss in sig-windows this wk. |
we'll leave this open. nobody on it yet though. we think we can impl it w/ the HNS ACLs.... |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
@jayunit100 did this ever get discussed at sig-windows? This issue might have fallen off the wagon. I didn't join sig-windows, do we triage at that meeting? |
... but maybe
|
It is borderline firewall BUT it's sort of expected to work, IMO
…On Tue, Jan 30, 2024 at 9:12 PM jay vyas ***@***.***> wrote:
On one hand we , there is hope for this bc iirc we dug around and looked
at the HNS parts and it does appear you could use windows firewall rules to
implement some kind of lb source ranges functionality.
... but maybe on the other hand we should leave this as a wontfix.... bc
lbsourceranges needs to silently just go away?..... I think some folks (
@thockin <https://github.com/thockin> ?) warned us about 6 years ago tho
that lbSourceRanges was approaching firewall territory and should
Probably be reconsidered.
—
Reply to this email directly, view it on GitHub
<#120033 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABKWAVH3QJXAIPCODHVBIHLYRHHFPAVCNFSM6AAAAAA3U5HGUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJYGM4TOMJYHE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Is this one of these cases where we have tests for this feature for Linux and they are not run on Windows nodes? |
https://github.com/kubernetes/kubernetes/blob/master/test/e2e/framework/providers/gce/firewall.go , and I assume that test will go away once we impl the cloud provider migration? Right now to test em I think it's a manual process where u grep your IP and then check if it's blocked properly..... not even sure there's a reliable cross platform test for this at all depending on snat and dnat behavior....?
So I'd propose: "The administrator may know that their windows nodes don't support lb src ranges.... and in that case... the fact that they are not supported is a normal scenario".
|
@AbelHu what should we do with this issue? Not sure if I clear path forward exists. |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close not-planned |
@k8s-triage-robot: Closing this issue, marking it as "Not Planned". In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
What happened?
Pod CIDR should be added to loadBalancerSourceRanges if there are Pods needing to access the service's LoadBalancer IP for clusters with version v1.25 or above. It will block Linux pods to access the load balancer if the pod CIDR is not added but it will not block Windows pods.
What did you expect to happen?
Block Windows pods to access the load balancer if the pod CIDR is not added.
How can we reproduce it (as minimally and precisely as possible)?
Anything else we need to know?
From the context in Don't use KUBE-MARK-DROP for LoadBalancerSourceRanges by danwinship · Pull Request #110289 · kubernetes/kubernetes (github.com) and Service.Spec.LoadBalancerSourceRanges intent? · Issue #109575 · kubernetes/kubernetes (github.com), it seems like that it only be implemented on Linux.
Kubernetes version
1.25.6
Cloud provider
AKS
OS version
On Windows:
10.0.17763.4499
Install tools
Container runtime (CRI) and version (if applicable)
Related plugins (CNI, CSI, ...) and versions (if applicable)
The text was updated successfully, but these errors were encountered: