Android Client Internal net unavailable

I encountered an issue with the Android client. I set up a Ziti environment in a fully internal network, and it works fine on iOS, macOS, and Windows, but the Android client cannot connect. I have tried both the old and latest versions. I entered ADB shell and verified that the routing configuration is correct, but when accessing the services configured in intercept via a browser, the tunnel cannot read the data stream. The only visible traffic is the UDP packets from 100.64.0.2.

After opening the internal network to allow external internet access, the Android client started working. So I want to ask: when the Android client starts the VPN service, is it still downloading external dependencies? Is there any way to avoid relying on external internet access?

I have tested several scenarios:

  1. With external internet access enabled, the app works normally. Turning the app’s VPN switch on/off and killing/restarting the app works without issues.
  2. Then, I disabled external internet access. Turning the app’s VPN switch on/off still works normally, but after killing and restarting the app, it no longer works.
  3. I re-enabled external internet access, but even after turning the VPN switch on/off, it still does not work. However, after killing and restarting the app again, it resumes working.

From this, I conclude that after killing and restarting the app, it requires some external network access, possibly to download dependencies or perform some other operation.

I would like the app to work completely in an internal network environment. What should I do to achieve this? I am using app version 0.8.1.

please upgrade your Android OpenZiti tunneler and try again

I tried the latest version 0.12.0, but it doesn't work in both internal and external networks. It's likely because my controller is also using an older version. Before replacing it, I would like to understand why the app has to access the external network once during the startup process?

I upgraded both the controller and the Android client to the latest version, and now everything works fine, even in the internal network. However, I'm still curious as to why this is happening.

I need to take a closer look at the release notes for more details.

the new version is a complete rewrite of the application backend to leverage OpenZiti tunneler SDK that is used on all other platforms

1 Like