-
Notifications
You must be signed in to change notification settings - Fork 326
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
[Feature Request] IPv6 support #112
Comments
I agree there's an issue with IPv4 / IPv6. Example:
I use http://ipv6-test.com to test IPv4 vs. IPv6 connectivity:
|
Most of the routing code is still purely ipv4 capable. If your ipv4 name servers deliver ipv6 addresses and you have a default route through the ssl tunnel, and your gateway there handles nat46, this would be a scenario that should work out of the box, but it would not require any ipv6 capability in openforticlient |
This ticket is not about nat64 at all. What I would like to see is the ability to get assigned a valid UGA from the pool that's defined in fortigate's VPN server settings. Beyond that expected behaviour of a VPN client is to get all the routing entries that are configured in the VPN service, e.g. a default route or some static routes. Third DNS servers. |
Yes, for sure a lot needs to be done to have full ipv6 support in the client. In my previous post I just wanted to draw a rough picture about what I would currently expect to work. |
Reviving this ticket, I would say IPv6 support is still something that we all regard as an important thing to implement in the long term. It is, however, a very big task, for which large parts of the code have to be re-written. I would say this is the feature that would qualify for an openfortivpn 2.0.0 release in the future. I don't have a clue (yet) if this can be split into individual smaller tasks. Probably yes (introduction of IPv6 address objects, dns lookups, receiving an IPv6 address for the tunnel, handling of IPv6 routes, ...). I don't know (yet) how strong these tasks depend on each other. Probably for Mac and BSD at least some parts are easier to implement, because some tasks are done via syscalls to tools that are already IPv6 capable. Maybe a code review and assessment of individual tasks on the way to full IPv6 support helps to define feasible work packages. |
As a matter of fact I just contacted Fortigate's support about what their official Linux client supports. As it turns out it doesn't support IPv6 either. On top of that I received the information that a tunnel that is connected through an IPv4 address cannot transport IPv6 through the tunnel at all. That's really something, isn''t it? I begin to think those Fortigate devices really suck with IPv6. |
Thanks for sharing this information. It adds another important aspect to the topic. |
The Limit on IPv6 traffic is directly attached to the model which in my case is F60D. |
Thanks for the additional information. We have a couple of 60D's too. They are out of sale now, and the subsequent model 60E is available, which has the newer NP6Lite networking processor asic. It's still the "Lite" variant for the entry-level appliances, but the NP6 generation of the E series fully supports IPv6 in hardware whereas the models with the NP4 generation have to handle IPv6 in software. |
I found out about those differences but only way AFTER we bought the device. Even today when you look at the specification sheets of current devices you won't find any detail about differences between IPv4 and IPv6 throughput. You also won't find any information about what processor type is being used in which device at all. |
I believe the whole E series has NP6, but I don't have a reference for that at hand. If in doubt you can ask your reseller. But this discussion has gone a bit off-topic now. This issue is about future plans to implement IPv6 support in openfortivpn. |
It is correct that ipv6 support in ipv4 (and vice versa) SSLvpn tunnels on Fortigate i kind of lacking, our company (an ISP) had several rounds with them on this issue. We shifted our focus away from SSLvpn because of this. |
@gittela I guess the problem of the separation of ipv4 and ipv6 features is due to the fact that with NP4 processors IPv4 traffic is handled in hardware whereas IPV6 is done in software. I would expect this problem to go away with some FortiOS version (maybe 6.x) in combination with E series hardware or so. Anyhow, this doesn't help anyone running D series hardware and it's highly speculative from my side. |
I've set up a test Fortigate VM and played with IPv6. It does still seem to be true (this is FortiOS 7.0.0) that you the server will only give you the same IP protocol that you used to connect to it. So my SSL-VPN config on the server has both Legacy IP and IPv6 ranges attached to it. If my connection to the server over the public Internet is IPv6, I get an IPv6 address in the tunnel. If my connection to the same SSL-VPN is over Legacy IP, I get a Legacy IP address in the tunnel. Both of them work fine with OpenConnect now but only one at a time. |
What do you think of supporting connecting to a gateway from an IPv6-only network (with NAT64/DNS64)? I think it would only be necessary to try an AAA query first and then using AF_INET6 to connect to the gateway, but I may be wrong. |
Yes, that will work. It doesn't have much to do with the VPN client or the server. Just set up DNS to point to an IPv6 address which is doing NAT64 to the server, and the client uses that. You could probably use the |
Confirming that works...
Over Legacy IP you get only Legacy IP:
And if you use NAT64 to reach the server over Legacy IP, that's what you get:
|
Nice, thank you. I gave a quick look at |
Do you specifically want openfortivpn to work with IPv6, or would you be content with any open source client? As author of OpenConnect I'm trying to limit my interactions here to talking about the protocol and generic discussion about how the servers behave, without giving the most direct and obvious answer that occurs to me... |
I'm fine with using openconnect, but the more IPv6-enabled applications, the better. |
We were clearing vpninfo->ip_info.addr if it was already set, as shown in adrienverge/openfortivpn#112 (comment) Signed-off-by: David Woodhouse <[email protected]>
FortiOS 7.0 bring the ability to do dual stack (IPv4 and IPv6 simultaneously through the same tunnel). |
Hi,
I've been using this tool for a while now and it works great, thank you.
There's only one thing. When I connect my interface ppp0 only has an IPv4 address, no IPv6 at all.
I would like to route IPv6 through the tunnel though.
Could you please give a statement what the overall IPv6 support status is and if it's not supported yet, what are the plans on supporting IPv6?
Thank you very much
The text was updated successfully, but these errors were encountered: