Description of problem: Service mesh doesn't proxy traffic destined to port 22: chain ISTIO_INBOUND { ... meta l4proto tcp tcp dport 22 counter packets 7 bytes 420 return ... } This causes SSH connection to not be DNATed to the VM. Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: 1. Create a VM with enabled Istio 2. Connect to the VM using SSH 3. Actual results: ssh connection fails Expected results: ssh connection should work Additional info: This doesn't affect ssh when using kubectl port-forward.
Current workaround could be to configure SSH to any other port, ie. 2222. As a solution we may add a rule to dnat traffic to port 22 to KUBEVIRT_PREINBOUND chain. In touch with Istio community to better understand the purpose of excluding the port 22
We will not fix this SSH issue in 4.9. It would require a complicated backport to 3 upstream branches. Service Mesh on 4.9 can be still tried out in tech preview mode. If SSH would be needed, it can be configured to run on a different port.
Reusing this tracker for 4.10 backport
Verified. OCP version 4.10. virt-handler v4.10.0-197. Deployed a vm with an istio-proxy container, and a svc directed to port 22. Connecting to the VM with ssh via the svc works as expected.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Virtualization 4.10.0 Images security and bug fix update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:0947