-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Allow WireGuard to listen on port 53 #1594
Conversation
This comment has been minimized.
This comment has been minimized.
I've found an issue that I don't believe is specific to this PR but should be noted as it is likely a showstopper for many. Using port 53 with WireGuard does not appear to work at all over Verizon Wireless LTE (using an iPhone, anyway). I don't have a way to test other carrier networks. |
I'm gonna try to spin up a server later today to test this out on AT&T LTE network. Wouldn't this also be a useful feature for IPsec users as well? One big appeal of OpenVPN is to select the outgoing port at will. You could set the outgoing port to whatever you want in config.cfg, set the open cloud/local firewall ports accordingly, and use iptables to redirect it to UDP/500 and 4500 on the Algo server. Might be outside the scope of this PR, though. |
I don't believe there's a way of tell most IPsec clients to use alternate ports. I'm curious to know if this works over AT&T. |
Ok, so here's what I did: |
Thanks for the testing, that's the same behavior I found. It also fails on an iPad when using the iPhone's Personal Hotspot (hotspot traffic is sent "in the clear", not over the phone's WireGuard tunnel, which is nice because it avoids double tunneling and the resulting MTU issues). So this PR is a lot less useful than I had hoped it would be. |
It's not like I have a better idea, but can we have more descriptive names than |
I'm open to suggestions. Where they come from is WireGuard must "avoid" listening on port 53 and instead "actually" listen somewhere else. Since those variables aren't in |
So if someone sets It might be good to document this behavior in |
Yes, that's the recommended approach according to the mailing list message I linked to above.
My intention was to make this transparent to the user so that setting port 53 in |
It does make sense to make this transparent to the user, but I see two issues:
I'd suggest renaming it |
The term "masquerade" has a particular meaning in The problem with promoting the variable to In the case of port 53, on an AlgoVPN |
Yeah, neither could I. Well, I have no further objections then. |
I just want to say that his is a beautiful pull request. |
Description
This change allows the special case of setting
wireguard_port: 53
inconfig.cfg
and is based on an approach suggested on the WireGuard mailing list.Motivation and Context
Some networks block most outgoing UDP traffic, but port 53 might still be allowed for DNS.
Closes #1593.
How Has This Been Tested?
Deployed to DigitalOcean both with and without
wireguard_port: 53
. Also tested connecting using a DigitalOcean Floating IP, where traffic comes in on the main network interface but to a secondary address. In all cases the client was iOS 13.1.2.Also tested on Lightsail with
wireguard_port: 53
.More testing should be done. Please help test this, fellow Algo users.
This should also be reviewed for how it uses
iptables
.Types of changes
Checklist: