GithubHelp home page GithubHelp logo

Comments (11)

zadrakar avatar zadrakar commented on July 21, 2024 6

@felipejfc , @jthomaschewski Don't you use some ubuntu (like) distribution? I have the same reliability problem in Linux Mint. In all other cases, wgcf always works. I've seen it here: #7

@ViRb3 It is necessary to exclude private addresses AND server addres engage.cloudflareclient.com = 162.159.192.1 Wireguard treats 0.0.0.0/0 in a special way. Finally, you need to re-add the range for your WARP IP 172.16.0.2/32. I did it like this:
0.0.0.0/0 - (10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,162.159.192.1/32) + 172.16.0.0/24 And it works. The result is not 254 IPv4 routes but "only" 58
AllowedIPs = 0.0.0.0/5, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/3, 160.0.0.0/7, 162.0.0.0/9, 162.128.0.0/12, 162.144.0.0/13, 162.152.0.0/14, 162.156.0.0/15, 162.158.0.0/16, 162.159.0.0/17, 162.159.128.0/18, 162.159.192.0/32, 162.159.192.2/31, 162.159.192.4/30, 162.159.192.8/29, 162.159.192.16/28, 162.159.192.32/27, 162.159.192.64/26, 162.159.192.128/25, 162.159.193.0/24, 162.159.194.0/23, 162.159.196.0/22, 162.159.200.0/21, 162.159.208.0/20, 162.159.224.0/19, 162.160.0.0/11, 162.192.0.0/10, 163.0.0.0/8, 164.0.0.0/6, 168.0.0.0/6, 172.0.0.0/12, 172.32.0.0/11, 172.64.0.0/10, 172.128.0.0/9, 173.0.0.0/8, 174.0.0.0/7, 176.0.0.0/4, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, 224.0.0.0/3, 172.16.0.0/24

You may not need to add the whole 172.16.0.0/24. It may not be necessary to exclude only 162.159.192.1/32 which would shorten the AllowedIPs even more. It seems that WARP uses a wider IP range. I use this online Wireguatd AllowedIPs calculator.

from wgcf.

 avatar commented on July 21, 2024

Hi, not sure if this works for you on Windows or with wg-quick, but when I import the file to NetworkManager it doesn't work at all.

When I revert your changes so that AllowedIPs gives 0.0.0.0/0, ::/0 it works properly. I think it's worth reconsidering these changes or finding an alternative to what you want to accomplish.

from wgcf.

 avatar commented on July 21, 2024

Also ::/0 would include private IPv6 addresses (fd00::/8). You probably want to use 2000::/3 instead (which is the internet block).

from wgcf.

ViRb3 avatar ViRb3 commented on July 21, 2024

Thanks for reporting! I will take a look later today when I have access to a Linux machine.

from wgcf.

ViRb3 avatar ViRb3 commented on July 21, 2024

I can confirm the issue on Ubuntu 20.04. I found a discussion of the same problem here:
https://www.reddit.com/r/WireGuard/comments/auuvn5/problem_excluding_private_networks_in_allowedips/

Essentially, AllowedIPs 0.0.0.0/0 is handled by WireGuard in a special way so that it excludes the server's public IP. With the public IP ranges I added in this commit, the server's public IP falls under one of those custom ranges, which is not handled in the same special way by WireGuard, resulting in no connection. Strangely enough the official Windows and Android clients seems to handle this properly. Either way, I'll patch the AllowedIPs generation so it specifically excludes the server's public IP.

from wgcf.

ViRb3 avatar ViRb3 commented on July 21, 2024

Unfortunately, it seems like there is no good way to do this via the AllowedIPs config - in the worst case, 254 + 24 routes will have to be added, which we definitely don't want. I could add Linux-specific PostUp commands, but that will cause more issues than the amount of problems it will fix. So unless anybody has a clever idea, I will revert the commit for now.

from wgcf.

felipejfc avatar felipejfc commented on July 21, 2024

did you get warp working on linux? I can't make internet work with the configs generated, the moment I do wg-quick up I lose connectivity

from wgcf.

jthomaschewski avatar jthomaschewski commented on July 21, 2024

@felipejfc I do have the same issue

Update: Using network manager with nmcli connection import type wireguard file ./wgcf-profile.conf works for me and seems to be reliable.
wg-quick up ./wgcf-profile.conf randomly works as well, but still results in loss of connectivity most times. I wasn't able to detect a pattern.

Both tried with unmodified generated config. So I'm not sure if this issue is related to AllowedIPs setting.

from wgcf.

duhd1993 avatar duhd1993 commented on July 21, 2024

Allowed IP is not intended for this scenario, i guess. routes are supposed to be handled by the system native utility instead of wireguard.
The official macos app also gives you the option to exclude private IPs the same way. But obviously the connection is broken with that, which means at least some maintainers of wireguard have no idea how AllowedIPs work.
Wireguard is usually compared against anyconnect/openvpn for being efficient and small. Well, it turns out the extra size of those programs are not all wasted.

from wgcf.

zadrakar avatar zadrakar commented on July 21, 2024

@duhd1993 The above list works fine at least on Linux. I use wgcf this way. The ranges listed in AllowedIPs appear as system routes.

from wgcf.

duhd1993 avatar duhd1993 commented on July 21, 2024

@duhd1993 The above list works fine at least on Linux. I use wgcf this way. The ranges listed in AllowedIPs appear as system routes.

Yes. I figured how it works. thanks for the intro. I'm talking about the app giving me the option of excluding private ips, which does not work at all. Manually excluding server ip from allowed ip list solves the problem. Even so, this solution looks awkward. Not to mention 0.0.0.0/0 is specially treated but not documented. I ended up using netstat and route of macos directly. It's like ifconfig and iptables/ip of linux

from wgcf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.