Closed Nino-K closed 2 weeks ago
Previously, the guestAgent in Lima was picking up port mappings from iptables using the GetPorts function, as seen here. However, since the iptables scanning package was removed from the guestAgent, it no longer retrieves these port mappings.
The iptables scanning code was never removed from Lima; it is still there. Did you mean the code in Rancher Desktop was removed from the WSL2 code?
The iptables scanning code was never removed from Lima; it is still there. Did you mean the code in Rancher Desktop was removed from the WSL2 code?
Thanks, I corrected it now. I meant Rancher Desktop.
Mostly comments, but I do think the blocking
sleep
must be replaced by something cancellable.
I agree. To be honest, I just revived the old code with a minor modification to make it work for our current needs, but I didn't change any of the old pars, assuming that it was previously doing the right thing. However, I agree with removing the time.Sleep
. Also, the comparePorts code naming is terrible.
Previously, the guestAgent in Rancher Desktop was picking up port mappings from iptables using the GetPorts function from Lima, as seen here. However, since the iptables scanning package was removed from the guestAgent, it no longer retrieves these port mappings.
An example of such a rule in iptables is as follows:
These rules are generated by the CNI (Container Network Interface) plugin for pod-to-pod communication. They are part of Kubernetes' networking and ensure that traffic on specific host ports (e.g., port 12345) is correctly routed to the appropriate pod, with the CNI plugin managing the handling of that traffic.
Given their role in routing traffic correctly within Kubernetes, it is important that these rules are not overlooked by the guestAgent.
TCP Repro Steps
echo-server.yaml
from https://gist.github.com/mikeseese/cca62f2dba7a453ebe172031a9490760kubectl apply -f echo-server.yaml
curl <hostIP>:12345/param?query=demo
kubectl port-forward pods/echo-server 12345:80 -n default
and change the curl command to use the localhost IPcurl 127.0.0.1:12345/param?query=demo
Fixes: https://github.com/rancher-sandbox/rancher-desktop/issues/7722