if you try wireguard on mobile or something like this
did this commercial VPN already worked before with WireGuard?
exarkun: and on the wireguard layer?
the return traffic appears to be wireguard keepalives
imperative wg-quick could be used for debug, but I have some large WireGuard setup in NixOS (20.03 and beyond) and they're working quite well
beats me, I've never tried setting up wireguard on any other OS
What should I dump with it? traffic on the wireguard interface? traffic on the uplink interface?
Raito_Bezarius: I have no idea if it has anything to do with NixOS either but #wireguard hasn't been able to help so far either
having lots of trouble getting wireguard working on nixos
exarkun: I don't know about the container part, but for the interface part the wireguard module has support for the net namespace isolation described at the end of https://www.wireguard.com/netns/
Anyone have any guides for running a nixos container with only a wireguard-supplied interface for its network?
Anyone have any guides for running a nixos container with only a wireguard-supplied interface for its network?
I have a directory /secrets that's only visible to root, with subdirectories for each module (wireguard, openssh, etc), and write their private data in there
just type in wireguard
Trying to list the options, e.g. for wireguard
Hi, general question from a NixOS newbie: How do you deal with secrets in general when using nixOS? e.g. I've added my wireguard setup in the configuration.nix, the secret key is read from /etc/wireguard/privatekey. Where would you store that key savely so it will be placed there when putting my configuration.nix on a different machine? Same thing for SSH private keys or credentials for
tobiasBora: but some systemd services like wireguard will force a `modprobe wg` before starting the service
If I allow 0.0.0.0/0 for wireguard, then that means that everything is routed through there
cole-h: Hi, my bad, sorry, turns out it was wireguard being smart.
I think it's not wireguard itself, but I have a daemon adding a default route for every interface
How do I make wireguard *not* setup a default route?
lucus16: currently there's 11 people in the list... also those 11 get vpn connections with wireguard etc..... so I hvae a seperate secrets.nix that is imported on top of the configuration nix and in that secrets.nix I have all the individual data setup.... so I can make the list there and then just use it
no, those are not users.users.... they jus access via sambe authenticated by ip through wireguard... not actual system users
iqubic: turns out "which computers can see each other over my network" is a rapidly evolving right now due to things like wireguard replacing old tech
are there any example out-of-tree modules built for nixos? I found wireguard but their makefiles do a lot more that I expected
hyper_ch: nah 😂, I was saying that it worked on my phone but didn't work on my desktop system running nixos (suggesting that the problem is not linked to my wireguard configuration file or server)
#52411 (by anderspapitto, 1 year ago, open): Support network-namespace based wireguard vpn setup [feature request]
after rereading your message, I guess the correct message would be, what are the open issues regarding wireguard? #51258 seems interesting
There's many open issues regarding Wireguard on NixOS. If you tunnel your entire traffic through Wireguard then it doesn't work AFAIK
I'm not using nixos' builtin wireguard support, just `wg-quick` directly from the command line and have nothing in my network settings
Hi, I've been trying to connect to a wireguard server, but when I run `sudo wg-quick up ./config.conf`, I loose internet connectivity and nothing works. I have to disable wireguard for my internet to work again. I believe this is failure is linked to nixos because out of my 2 attempts to get wireguard to work on this nixos system, none of the have worked and I've been able to connect with the exact same wireguard
Hi, I just set up wireguard on nixos with wg-quick, I was wondering how can I do the equivalent of `wg-quick down wg0` ?
I couldn't really figure out a Wireguard configuration, especially with split tunneling.
wireguard is connectionless and will retry after 5 seconds or so
mullvad has wireguard endpoints, you could just use those instead
same with wireguard as well, if you configure it, is it still advised to explicitely install in ?
yay for wireguard and ssh :)
Hi! I've just started using NixOS and there are some cases where I don't want to start services automatically but rather run systemctl start service. How is that usually handled? My specific use cases are for docker and wireguard.
postgres isn't ordered after the wireguard interface...
which service definition? that of the wireguard interface?
I noticed that when I do nixos-rebuild switch manually, afterwards my wireguard link doesn't work any more. restarting the wg0 interface fixes that
jneplokh: here's my guess. You should be specifying "ens3" instead of "eth0" in the networking.nat.externalInterface line in that wiki article. The same goes for those "iptables" line in the postSetup and postShutdown sections. Change all instances of "eth0" in your wireguard config for "ens3".
jneplokh: well, your server has several network interfaces. "wg0" is your wireguard interface, "lo" is your loopback interface. If your server is connected to the Internet via an ethernet interface, you should have one of those too, although the name is hard for me to predict.
jneplokh: fire up "tcpdump -ni wg0" on your server and see if it sees the ping 18.104.22.168 packets come in on the Wireguard interface
infinisil: The client I am currently using is not running NixOS, so I am just configuring Wireguard through the app
jneplokh: so you've got a central server, connected to the Internet, running NixOS. You want to connect from a client, over the Internet using Wireguard as a VPN, and route traffic from your client, through the VPN, to the server and then out to the Internet?
jneplokh: can you describe what you're trying to achieve with wireguard?
Henson: Sorry, just a little confused. Do you mean from my "client" if I can ping the server? If so, I can ping the local IP for the wireguard interface
jneplokh: are you able to ping from the client to the server on the wireguard interface?
Hey everyone, I am trying to setup Wireguard as a "server"/forward all traffic like a VPN on a NixOS machine using the instructions here: https://nixos.wiki/wiki/Wireguard but am having issues with reaching the internet.
hmm, i want to set up wireguard to connect to a vpn
actually it seems like it tries to pull in all the firmwares, nvidia-x11, amdgpu, ati-drivers, wireguard etc
well you can run wireguard right now if you want! i ran 5.6 on stable 20.03 for a while (until an issue with rt-patch and zfs kicked me off)
somebody wants wireguard :)
I'm trying to set up a wireguard vpn tunnel. The link seems to work, I'm routing outgoing traffic through my other server now, but now I'd like to forward some external ports to the machine, but that doesn't seem to work. Could anybody help me here?
sphalerite: I checked: command not found: tinc, command not found: wireguard
magnetophon: you can build one yourself (if you have a server with a public IP somewhere) using tinc or wireguard, which are slightly more involved options, or use a service like zerotier or… I forgot the name of the other one I had in mind
in wireguard, there are no clients or servers, only peers
I'm trying out wireguard for the first time. I'll be grateful if anyone could share example configs.
energizer: One could also mitigate a bunch of security vulnerabilities by only allowing clients to access Nextcloud through a Wireguard tunnel
We just run two instances of chrome with separate data directories, so one instance runs inside a network namespace under wireguard, and connects to the self hosted one, while the regular chrome instance doesn't run under wireguard and connects to the public bitwarden
Provided you are using SSL, you shouldn't need a VPN to secure stuff - although you will need it if you want to enforce any kind of IP whitelisting (we use wireguard for the hosted instance, so only people on the company VPN can connect to it)
quinn: I suggest to give wireguard a try...
also you might be able to set the bind address to the wg address rather than 0.0.0.0. if you run wireguard and `ip a` that should tell you. no promises though
and wireguard is simple to setup and has almost no overhead
wg is the wireguard interface
samba server and wireguard server are on the same physical box
energizer: where 10.10.20.0/24 is the wireguard vpn subnet that I use
energizer: I use samba instead of nfs and I just only allow connections from predefined ip addresses (which are all wireguard vpn addresses where the same server is also the wireguard server)
Hi! I set up NixOS on my main machine a few weeks ago and I’m having trouble using WireGuard. I can set up my config using wg-quick and everything, but DNS resolution seems to fail afterwards and internet access fails. I’m using networkmanager and haven’t messed with the network setup otherwise. Can anyone help me understand what’s going wrong?
I'm using resolvconf for /etc/resolv.conf since WireGuard depends on itorres
gchristensen: ive tried removing that, and making one systemd service per block-dev, but its got some bugs, and your wireguard changes kind of fit the same style i was aiming for
Systemctl stop wireguard-wg0
i have a wireguard vpn, and i'm aware that networking.wireguard.interfaces exists
yup, I have physical access and access through wireguard
can anyone help me to set up wireguard?
[nixpkgs] @Ma27 pushed to release-20.03 « wireguard-go: keep `$bin/bin/wireguard` for backwards-compat »: https://git.io/JfaVO
[nixpkgs] @Ma27 pushed to release-20.03 « wireguard-go: fix executable name »: https://git.io/Jfaan
So I'm trying out NixOS right now, and I want to store a secret (WireGuard Private Key) declaratively. Putting it in /etc/nixos/ seems like a bad idea, but the issue for storing secrets is still open (#24288).
[nixpkgs] @Ma27 opened pull request #88610 → wireguard-go: fix executable name → https://git.io/Jf2Pw
Hi, im struggling to get wireguard running.... modprobe: FATAL: Module wireguard not found in directory /run/booted-system/kernel-modules/lib/modules/5.4.41
anyone using wireguard? i'm a nixos/linux noob and i'm having troubles setting it up the way i want it to... i've got a wg0.conf file that i'd like to use, but installing the wg-quick package and doing "wg-quick up wg0 " doesn't seem to work (can't reach any websites). i then tried using the "networking.wg-quick.interfaces.*" nixos option and while it does work, it creates a systemd service that starts on boot and i'd much
cole-h: I've tried disabling my install of inetutils since a grep of nixpkgs showed that it had a depency on help2man, and the wireguard kernel module I had enabled, but no dice so far
clever: but what if, conf A does not include WireGuard, but conf A' includes WireGuard
and then you immediately have to reboot, because the kernel is old and cant load the wireguard driver
currently, you would boot an old nixos from an AMI image, and deploy your full config with wireguard
I have seen that the current nixops does not know when to reboot apparently with respect to wireguard
to do it "securely", you would want to copy-closure the wireguard binary to the remote machines, and run the keygen commands over ssh, storing the secret remotely, and public in the nixops state
that reminds me, i was thinking about how wireguard would work in nixops
but automagic WireGuard is going to be such a killer-feature
but I'd love to contribute to nixops-encrypted-links for WireGuard
nothing that fancy :P ; but for some work, they didn't have proper private networking, so I tried to write something that put WireGuard as private networking layer with minimal assumptions and hardcoding
recently, I used a lot nixops+nixos qemu, it works pretty great, I've wrote some basic wireguard layer and it enables to test small infrastructure quite easily
[nixpkgs] @Ma27 pushed commit from @xwvvvvwx to release-20.03 « wireguard-compat: 1.0.20200413 -> 1.0.20200426 »: https://git.io/JfqlF
immae: E.g. my wireguard config references /nix/store/vjy7xbjqdx0pw0wxjijlgy0a4gkfmjqx-secret-client-private, which is a symlink to /var/keys/client-private, but the hash of the secret is incorporated into the hash of the /nix/store path
It's because the module defaults to wireguard-cli
Kyndig: As a hint, I tested out not just `wireguard-tools`, but /nix/store/7l4j4671x81k7w520mqj5m1sgr7pij6h-wireguard-tools-0.0.20190123, and I didn't build it myself, but summoned it from cache.
not for wireguard
Kyndig: The package named `wireguard-tools` can be built and installed regardless of whether the running kernel supports it.
wireguard is an exmaple
hen I manually use wg-quick to manage the wireguard connection, I found that the network.firewall of nixos will cause the wg-quick connection to fail
I'm having trouble figuring out how to debug wireguard when I don't control the server, like with hosted VPNs. when I enable the interface in systemd te connection just stops working. :)
i'm using wireguard now
hello, have any of you set up a wireguard vpn lately? perhaps ideally/specifically with mullvad?
why does this give an error with current unstable: boot.extraModulePackages = with config.boot.kernelPackages; [ wireguard ]; --> error: The option value `boot.extraModulePackages.[definition 1-entry 1]' in `/etc/nixos/hardware-configuration.nix' is not of type `package'.
[nixpkgs] @Ma27 pushed commit from @xwvvvvwx to release-19.09 « linuxPackagesFor: wireguard: noop for kernel >= 5.6 »: https://git.io/Jvp3m
internet --- zeta --- delta . Zeta has two IPs, both publicly reachable, and is wireguard connected to delta (10.0.0.3). I'd like the internet to be able to use zeta's second IP to talk to delta, but also to be able to talk directly to delta at 10.0.0.3
but I'd also like to be able to talk to that wireguard IP directly (from the server)
I'm trying to NAT all traffic from my server's second IP to a wireguard-linked IP
notgne2: Ah yes. Is it that wireguard got upstreamed?
bqv[m]: Do you happen to know if wireguard can be used as a client to connect to openvpn? Kinda curious because I have an openvpn config currently to use my work's VPN but it would be interesting to see if I'd even get any performance boost at all from wireguard
just as i get the super speed boost of switching from tinc to wireguard as well
I guess tinc upgrades to p2p tunnels when it can, but wireguard won't do that
I'll shill one last time, but that's pretty much exactly what tailscale does - builds a mesh VPN out of wireguard tunnels. Also features NAT traversal and TCP fallback, which plain wireguard doesn't offer
(i'm basically trying to replace my tinc mesh with wireguard
bqv[m]: I use wireguard as part of Tailscale (shilling alert!), so I don't have configs to share, but if you have a topology or questions in mind I'm happy to help
does anyone here use wireguard
hmmm, having issues with latest master and boot.extraModulePackages: error: The option value `boot.extraModulePackages.[definition 1-entry 1]' in `/etc/nixos/hardware-configuration.nix' is not of type `package'. --> I need to have wireguard in it
is there any prior art for adding nixos containers to a wireguard subnet?
clever: Currently just using it to explore nixops. Once I have a setup going where I can reliably update my pi using nixops, I intend to run wireguard, and possibly if I can manage run a pihole server as well.
but it really just means "relay encrypted wireguard packets based on the destination public key"
Avaq: oh! you have wireguard allowed as a _TCP_ port: `firewall.allowedTCPPorts = [ 51820 ];`. Wireguard is UDP.
And I'm using my phone (with WireGuard android) to try and connect to my laptop from the outside.
But if we forget the forwarding for a second - is there any way I can check that my wireguard server is running and doing what it should by approaching it from localhost somehow?
Wireguard is a bit misleading to troubleshoot because wireguard servers/clients will not respond at all unless the correct keys are configured
the real method of checking whether wireguard is _working_ is to use `wg show`, probably as root
I also tried in various ways to connect from my localhost to the wireguard server, but I'm not sure what I'm supposed to be looking for.
I have the port forwarding on my router working, which I confirmed by disabling wireguard and having something else listen to 51820, and I could in fact reach it from outside the network.
Avaq: I have some experience running Wireguard (both vanilla setups and through nixos)
Hi folks! I'm trying to set up wireguard. First using `networking.wireguard`, and when that didn't work, I switched to `networking.wg-quick`. I've gone over things a hundred times, but whatever I do, I end up in a situation where the wireguard server appears to be running, yet cannot be reached (Connection refused) by anyone.
My problem is that I have no frame of reference for how a correctly running WireGuard setup should behave. So maybe one of you can help me out? Also I'm not very well versed when it comes to networking, so I might be mixing some things up. For example, I used telnet to try and connect to the wireguard server, but I fear that might be useless as wireguard expects UDP traffic.
gchristensen I remember you once looked at the wireguard systemd services issue where they don't start on boot correctly ? do you remember that and did you ever figure what was the problem
Also, WireGuard seems to have a problem, I'm having a unit file with some \n in it
Hi everyone, I'm trying to get wireguard working with NixOS. I'm defining the peers of an interface exactly as it's described in the NixOS wiki, and that wireguard.nix file itself, and a site a found online. But when I try to build it, I get the error: error: The option value `networking.wireguard.interfaces.wg0.peers' in `/var/lib/containers/foo1/etc/nixos/configuration.nix' is not of type `lis
Hello, is this the right place to ask for some nixos hints? I'm running ZFS with an encrypted pool and would like to be able to unlock remotely over SSH. I've found instructions on https://nixos.wiki/wiki/NixOS_on_ZFS, but the problem is, my machine doesn't have a public address and can only be accessed over a wireguard VPN. Is this possible to do on boot?
danderson: yeah, preferably FOSS haha. Nebula actually seemed cool, but I think a VPS with WireGuard might be easier and from what you just explained more reliable
okay the simplest in terms of setup is: get a VPS, run a wireguard tunnel from your home to the VPS, and connect your laptop/etc to the VPS as well over wg
gchristensen, that's the path I'm taking right now. Just wanted to know if it would be possible to provide a nix-based alternative, as it seems really hard to break for a non-tech person while being remote-maintainable over wireguard+ssh, which is a big plus for me :)
dminuoso_: I don't know but you can search journalctl -b for 'taint' which has things like `wireguard: loading out-of-tree module taints kernel.`
nix-env --query --installed --description | grep wireguard has zero lines. When I run "sudo nix-env --query --installed --description | grep wireguard" I see "Kernel module" in the descriptions of wireguard-0.0.20200105 . How do I debug this further?
I am running NixOS 19.09, I have added the package wireguard to my system, but networking.wireguard.enable is said not to exist. How do I solve this?
[nixpkgs] @Ma27 pushed commit from @xwvvvvwx to release-19.09 « wireguard: 0.0.20191226 -> 0.0.20200105 »: https://git.io/Jejw0
diamondman: you might give it a try starting with a VM? :) but from a checkout of nixpkgs, try this: nix-build nixos/tests/wireguard/default.nix <- this will build a few NixOS systems, boot them in VMs, and verify the network and wireguard works correctly between them
Ah.. it's wireguard issue.
[nixpkgs] @jonringer pushed commit from @ivan to master « wireguard-tools: 0.0.20191212 -> 0.0.20191219 »: https://git.io/Je5zh
[nixpkgs] @fpletz closed pull request #60983 → wireguard: add 'namespace' option to set interface netns → https://git.io/JerE0
[nixpkgs] @fpletz merged pull request #71510 → Add namespace support to Wireguard module → https://git.io/JeRId
infinisil: There are some efforts to add meshing to wireguard, but it doesn't do that on its own
tilpner: tinc vs wireguard?
and then right after it there are logs about wireguard being loaded
since wireguard is stateless
Is there a way to make a service depend on wireguard being up?
Basically, I'd like to run VPN. But limited in scope only to a single process of the web browser (Google Chrome). I already use Wireguard, and have a remote peer, so I'd like to use that as my VPN server.
Could someone point me to their config of running containers declaratively, with wireguard tunnelling all traffic to some server (acting as vpn), and then launching google-chrome from the container, using the local X display?
wedens[m]: i use krops+niv+wireguard to deploy all my machines
I have a few that participate in a WireGuard network, and those need to have secrets deployed.
god i have to learn to reverse binaries and get my OSCP and contribute to wireguard and do work work stuff and read marx and practice cello and implement libc and aaaAAAAAAA
me too it's ok i'm writing wireguard's haskell impl
grr I think adding NAT to my server for my wireguard VPN broke a bunch of other things on my host
[nixpkgs] @nixos-channel-bot pushed commit from @Ma27 to nixos-19.09-small « wireguard-tools: 0.0.20190913 -> 0.0.20191012 »: https://git.io/Je0Zi
I'm looking to encapsulate a service (transmission) so that it uses a vpn (wireguard) for communication. LXC seems like a good way to accomplish this. Is there a nice way to integrate the NixOS config of a LXC guest with the NixOS config of the host?
ah, you mean because of wireguard automation?
okay. I guess this is my fault because I'm not using the built-in wireguard...because it also doesn't allow me to configure things the way I want. Grr
I'm trying to decide how to manage all my wireguard configuration