7
5
Fork
You've already forked apple
1

Please restore "Connect using TCP only" #595

Open
opened 2026年05月18日 15:02:08 +02:00 by Lukas-UAUX · 9 comments

I am feeling like a broken record here but - please restore the "Connect using TCP only" again. (I already did the same for linux and android where the same thing happended...)

This feature is very important for us to make the VPN usable in networks where the MTU is limited and UDP (that can not fragment packets) wont't work.

This happens in all networks that add additinal headers (like DSLite connections with NAT64) or where a double NAT in some form happens like a plethora of public networks and mobile networks (4G/5G)

Additionally a bunch of public WiFis block UDP outright completely...

Auto-Detection is here not an option as the connection detection will allways be false positve (appears fully connected as the check packets are small enough) and detecting MTU issues is close to impossible

PS: Before this happens on Windows also - do you have a place to note this globally so that this applies to all implmentations?

I am feeling like a broken record here but - please restore the "Connect using TCP only" again. (I already did the same for linux and android where the same thing happended...) This feature is *very* important for us to make the VPN usable in networks where the MTU is limited and UDP (that can not fragment packets) wont't work. This happens in all networks that add additinal headers (like DSLite connections with NAT64) or where a double NAT in some form happens like a plethora of public networks and mobile networks (4G/5G) Additionally a bunch of public WiFis block UDP outright completely... Auto-Detection is here *not* an option as the connection detection will allways be false positve (appears fully connected as the check packets are small enough) and detecting MTU issues is close to impossible PS: Before this happens on Windows also - do you have a place to note this globally so that this applies to all implmentations?

Ah and no Wireguard is also not an option here as ist suffers from the exact same problem and is incompatible with our network structure.

Ah and no Wireguard is also not an option here as ist suffers from the exact same problem and is incompatible with our network structure.

The idea was always that the "online check" would make sure that UDP worked with the configured MTU. Breaking the VPN is unacceptable. The "mitigation", until this online check is fixed, is a button that has a "Switch to TCP", or similar. This button can also be used if the online check takes too long.

What you could do to mitigate this problem somewhat is set the MTU for WireGuard and OpenVPN to a lower value, this is actually recommended even if the online check would work properly:

The idea was always that the "online check" would make sure that UDP worked with the configured MTU. Breaking the VPN is unacceptable. The "mitigation", until this online check is fixed, is a button that has a "Switch to TCP", or similar. This button can also be used if the online check takes too long. What you *could* do to mitigate this problem somewhat is set the MTU for WireGuard and OpenVPN to a lower value, this is actually recommended *even* if the online check would work properly: * WireGuard: https://docs.eduvpn.org/server/v3/wireguard.html#mtu * OpenVPN: https://docs.eduvpn.org/server/v3/openvpn.html#mtu

Nice that setting the MTU is now actually possible - that solves a lot of headaches in support for pointing people to the setting.

But as this won't solve all problems can't you do the same as the other implementations in allways showing this "Reconnect with TCP" Button?

As i recall the intention in removing was that users never unset this option which casuses problems so this would be a compromise we could live with - especially as setting the MTU is now possible

Nice that setting the MTU is now actually possible - that solves a lot of headaches in support for pointing people to the setting. But as this won't solve all problems can't you do the same as the other implementations in allways showing this "Reconnect with TCP" Button? As i recall the intention in removing was that users never unset this option which casuses problems so this would be a compromise we could live with - especially as setting the MTU is now possible

But as this won't solve all problems can't you do the same as the other implementations in allways showing this "Reconnect with TCP" Button?

This will be there in 4.1.0: #563

> But as this won't solve all problems can't you do the same as the other implementations in allways showing this "Reconnect with TCP" Button? This will be there in 4.1.0: https://codeberg.org/eduVPN/apple/issues/563

@fkooman Hmm we enabled the MTU setting on our test server - and the value does get put in the ovpn profile - but the server then overrides it with a pushed setting back to 1500.

I did manage to get the desired MTU only by placing pull-filter ignore tun-mtu at the top of the profile so there must be something broken on the server side.

I will try to investigate this further with our server admin but maybe you already have an idea where this push comes from?

@fkooman Hmm we enabled the MTU setting on our test server - and the value does get put in the ovpn profile - but the server then overrides it with a pushed setting back to 1500. I did manage to get the desired MTU only by placing `pull-filter ignore tun-mtu` at the top of the profile so there must be something broken on the server side. I will try to investigate this further with our server admin but maybe you already have an idea where this push comes from?

Did you run "apply changes" on the server/node(s)? It is a server setting as well as a client setting...

Did you run "apply changes" on the server/node(s)? It is a server setting as well as a client setting...

Is this different from the sudo vpn-maint-apply-changes from the documentation?

Is this different from the `sudo vpn-maint-apply-changes` from the documentation?

@Lukas-UAUX wrote in #595 (comment):

Is this different from the sudo vpn-maint-apply-changes from the documentation?

No, that's it!

Edit: if it does NOT work for you even after applying changes, perhaps you can open issue in vpn-user-portal repo? It doesn't belong here...

@Lukas-UAUX wrote in https://codeberg.org/eduVPN/apple/issues/595#issuecomment-15401420: > Is this different from the `sudo vpn-maint-apply-changes` from the documentation? No, that's it! Edit: if it does NOT work for you even after applying changes, perhaps you can open issue in vpn-user-portal repo? It doesn't belong here...

Ah okay it had to be run on every node too (and even when they were rebooted anyway ;-) )

Ah okay it had to be run on every node too (and even when they were rebooted anyway ;-) )
Sign in to join this conversation.
No Branch/Tag specified
master
use_common_api
issue_eduvpn_apple_527
developer_id_distribution
internal-3.0.4-i
debug/debug_block_local
bugfix/376
feature/tests
bump-versions
experimental
fix-swiftlint-warnings
redesign
mergetest
feature/289
use-gplv3-with-app-store-exception
release/2.1.7
tunnelkit_keep_tunnel_when_network_is_down
feature/254
feature/includeall
4.1.6
4.1.5
4.1.4
4.1.3
4.1.2
4.1.1
4.1.0
4.0.7
4.0.6
4.0.5
4.0.4
4.0.3
4.0.2
4.0.1
4.0.0
3.1.0
3.0.8
3.0.7
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.9
2.1.7
release/lets-connect-2.1.7-mac
release/lets-connect-2.1.7-ios
ios/v.2.0.1
ios/v2.0.2
ios/v2.0.3
ios/v2.0.4
ios/v2.1.1
mac/v2.1.1
v2.0.4
v2.0.2
v2.0.3
v2.0.0
v2.0.1
v1.0.0
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eduVPN/apple#595
Reference in a new issue
eduVPN/apple
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?