cernekee / ics-openconnect

Android UI for OpenConnect VPN client
GNU General Public License v2.0
358 stars 130 forks source link

IPv6 not working #2

Closed hexchain closed 9 years ago

hexchain commented 9 years ago

I have an ocserv instance with route=default and ipv6-network/prefix correctly set. Connecting from Linux gives the right IP address and route, which I can route all IPv6 traffic through tunnel.

However when connecting from this app, I got the right address (by examining log and status window), but the address is not assigned to interface and route is not configured, too.

cernekee commented 9 years ago

Hi,

I'll take a look. Could you please submit a problem report (log), reference this issue in the comment field, and let me know when it's submitted?

Thanks!

hexchain commented 9 years ago

I've submitted one using the "Report a problem" menu item, please kindly check it.

BTW: That problem reporting dialog is so Gingerbread (which looks ugly on L), and there's no feedback on whether the report is successfully sent or not.

cernekee commented 9 years ago

I've submitted one using the "Report a problem" menu item, please kindly check it.

I found your report, but unfortunately the application log data seems to be missing.

I set up an ocserv instance on a VPS this weekend and was able to verify IPv6 connectivity between Android and the server. Haven't quite figured out how to configure the VPS to route traffic to and from my IPv6 clients, however.

BTW: That problem reporting dialog is so Gingerbread (which looks ugly on L), and there's no feedback on whether the report is successfully sent or not.

It's the stock ACRA dialog. Hopefully it doesn't get too much use ;-)

It is possible that they kept it simple for backward compatibility and/or robustness reasons. ACRA normally runs when the application crashes.

hexchain commented 9 years ago

Switched to CyanogenMod 12, and I cannot reproduce this issue anymore. IPv6 is correctly routed, and can be verified by running ping6 ipv6.google.com in adb shell. I'm not sure if this is something wrong with AOSP builds. Sorry for the inconvenience.

But then IPv6 address is not shown on the status window (yet I can see it with ip addr):

screenshot_2015-02-08-13-14-06

So maybe this is another issue now...

P.S.: If you are having problems with IPv6 setup, here's some note: I've ditched IPv6 that comes with VPS provider, setup an HE.net tunnelbroker and properly configured it on VPS, then enabled these two lines in ocserv.conf:

ipv6-network = <Routed /64 from HE, e.g. 2001:db8:96:424::>
ipv6-prefix = 64

and enabled kernel IPv6 forwarding with sysctl -w net.ipv6.conf.all.forwarding=1.

cernekee commented 9 years ago

But then IPv6 address is not shown on the status window

Oops - OpenVpnService.setIPInfo() should probably be using ipInfo.netmask6 instead of ipInfo.addr6.

IPv6 addresses can be pretty wide, so maybe we should add another row to the UI instead of trying to cram IPv4 + IPv6 + server name onto the same line.

If you are having problems with IPv6 setup, here's some note: I've ditched IPv6 that comes with VPS provider, setup an HE.net tunnelbroker

For me it's probably easier to just live without IPv6 than to add the extra point of failure / latency source...

hexchain commented 9 years ago

IPv6 addresses can be pretty wide, so maybe we should add another row to the UI instead of trying to cram IPv4 + IPv6 + server name onto the same line.

Maybe put these 3 fields on 3 lines?

hexchain commented 9 years ago

Great! Thank you.