!tCyGickeVqkHsYjWnh:nixos.org

NixOS Networking

903 Members
Declaratively manage your switching, routing, wireless, tunneling and more.263 Servers

Load older messages


SenderMessageTime
9 Jul 2025
@hexa:lossy.networkhexa* so we hack around with chmod in prestart for now00:44:09
@zhaofeng:zhaofeng.liZhaofeng Liyeah, looks like the least dramatic option, though not ideal00:45:06
@zhaofeng:zhaofeng.liZhaofeng Li maybe we can migrate to a static user, but force everyone with stateVersion <= 25.11 to explicitly set stateDir to acknowledge the migration 00:46:41
@zhaofeng:zhaofeng.liZhaofeng Li * maybe we can migrate to a static user in unstable, but force everyone with stateVersion <= 25.11 to explicitly set stateDir to acknowledge the migration 00:47:13
@hexa:lossy.networkhexa
diff --git a/nixos/modules/services/networking/kea.nix b/nixos/modules/services/networking/kea.nix
index 6e0af62425a4..6f815659f567 100644
--- a/nixos/modules/services/networking/kea.nix
+++ b/nixos/modules/services/networking/kea.nix
@@ -272,12 +272,13 @@ in
       };
 
       commonServiceConfig = {
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        ExecStartPre = "${lib.getExe' pkgs.coreutils "chmod"} 0750 /run/kea";
+        ExecReload = "${lib.getExe' pkgs.coreutils "kill"} -HUP $MAINPID";
         DynamicUser = true;
         User = "kea";
         ConfigurationDirectory = "kea";
         RuntimeDirectory = "kea";
-        RuntimeDirectoryMode = "750";
+        RuntimeDirectoryMode = "0750";
         RuntimeDirectoryPreserve = true;
         StateDirectory = "kea";
         UMask = "0077";
00:47:46
@hexa:lossy.networkhexathis change nothing00:47:56
@hexa:lossy.networkhexa* this changes nothing00:48:38
@zhaofeng:zhaofeng.liZhaofeng Li it seems racy... I added the chmod to script (not ExecStartPre) and it failed once but worked the next two tries? 00:52:03
@zhaofeng:zhaofeng.liZhaofeng Liwhat even is going on00:52:11
@hexa:lossy.networkhexacan only be systemd doing this00:52:45
@zhaofeng:zhaofeng.liZhaofeng Lithis is beyond cursed00:54:40
@zhaofeng:zhaofeng.liZhaofeng Li how about we patch kea to skip the permission check if NIXPKGS_HACK_ASSUME_THAT_THE_SOCKET_DIR_IS_PROTECTED_BY_SYSTEMD is set 00:55:22
@hexa:lossy.networkhexabut it isn't protected, it is 0755 😄 00:56:04
@hexa:lossy.networkhexa* but it isn't protected, it is fucking 0755 😄 00:56:09
@zhaofeng:zhaofeng.liZhaofeng Li /var/run/private is protected, right? 00:57:42
@hexa:lossy.networkhexauhhh yeah00:58:46
@hexa:lossy.networkhexaI think so00:58:54
@hexa:lossy.networkhexa Zhaofeng Li: Restart = "on-failure" 🫣 01:14:38
@zhaofeng:zhaofeng.liZhaofeng Lido we need to disable the start limit as well?01:15:32
@zhaofeng:zhaofeng.liZhaofeng Li* do we need to disable the restart limit as well?01:16:32
@hexa:lossy.networkhexaboth services only failed once, so I don't think we do 😄 01:16:43
@zhaofeng:zhaofeng.liZhaofeng Li * do we need to disable the restart limit as well? also Restart = "on-failure" should be the default? 01:16:48
@hexa:lossy.networkhexayeah, they fail just the first time round01:17:28
* @hexa:lossy.networkhexa screams 01:17:32
@zhaofeng:zhaofeng.liZhaofeng Li * do we need to disable the restart limit as well? also Restart = "on-failure" should be the default? no, it isn't aaaa 01:18:27
@zhaofeng:zhaofeng.liZhaofeng Litheoretically there is still a chance that systemd will keep fighting against itself forever 🤓01:19:59
@alina:catgirl.cloudalina arielle amelie🏳️‍⚧️🐾 changed their profile picture.21:01:32
@alina:catgirl.cloudalina arielle amelie🏳️‍⚧️🐾 changed their display name from alina to alina arielle amelie🏳️‍⚧️🐾.21:02:18
10 Jul 2025
@maciel310:matrix.orgmaciel310 joined the room.02:58:34
@maciel310:matrix.orgmaciel310

Hey all, hoping someone might be able to help with an issue I'm hitting configuring VLANs. Use case is pretty simple, the only connection should be over the vlan, no untagged traffic or IP assigned. Following the docs (https://nixos.wiki/wiki/Systemd-networkd#VLAN) I came up with this systemd-networkd config, but pinging even local addresses returns unreachable. Any thoughts, or ideas on how to debug?

systemd.network = {
    enable = true;

    netdevs = {
      "20-vlan30" = {
        netdevConfig = {
          Kind = "vlan";
          Name = "vlan30";
        };
        vlanConfig.Id = 30;
      };
    };

    networks = {
      "30-enp0s20f0u1u2" = {
        matchConfig.Name = "enp0s20f0u1u2";
        vlan = [ "vlan30" ];
        networkConfig.LinkLocalAddressing = "no";
        linkConfig.RequiredForOnline = "carrier";
      };
      "40-vlan30" = {
        matchConfig.Name = "vlan30";
        address = [ "192.168.30.7/24" ];
        routes = [
          { Gateway = "192.168.30.1"; }
        ];
        linkConfig.RequiredForOnline = "routable";
      };
    };
  };
04:43:33

Show newer messages


Back to Room ListRoom Version: 6