From ccd904f700f570713c18babfe1e776929273d687 Mon Sep 17 00:00:00 2001 From: Astro Date: Thu, 2 Nov 2023 00:27:08 +0100 Subject: [PATCH] pkgs/openwrt/uci-config: configure a static ieee80211rKey so that fast transition works with WPA3 --- config/secrets-production.nix.gpg | 149 +++++++++++++++--------------- config/secrets.nix | 2 + nix/lib/config/options.nix | 7 ++ nix/pkgs/openwrt/uci-config.nix | 41 ++++---- 4 files changed, 106 insertions(+), 93 deletions(-) diff --git a/config/secrets-production.nix.gpg b/config/secrets-production.nix.gpg index d553086..6d1ecf6 100644 --- a/config/secrets-production.nix.gpg +++ b/config/secrets-production.nix.gpg @@ -1,77 +1,78 @@ -----BEGIN PGP MESSAGE----- -hQEMA2PKcvDMvlKLAQf/afTy5jj5NXCqiWQJ1x+RUkyVfYgOBW1CH1ZzYTeyJNo7 -q5yaPqMmHpzFNU6g56kvfrDt/yTYfK0fZhkxk5qyt/Fbst04fhkShFIrXoAChqRd -KfCz0oAkXU5O2pce5PG+qe0AkBHgpD/+Y29rg8I1lleSNbTjAHWsiE1BjADyNsZN -gzn0lbde6ur0n7wbI6Anjt2h792s6GEpeKUcsQ7b9ouZNzEq+BkPg86ZtIPDR73b -spilqTcG/yDKA4HMY65kwDIxKNu2/6gdDZTZbXicgehDazk4TP5U8yfiGJsy5Msa -WFwy6Izq8r3bDzvcCVC0Gne+QtnuBUqCwKyFZqjUhdLqAfjyqt1yr4iA2aypJnp/ -qpPPaHy+3oqKCF3/4bCoGIwRBgVsPgAy3hdQDcwlG0yG6TvICahRuwBnarQ58262 -BLBDDOoJ7yoxHK+DHMs0Vip81gs6rpUT+RPvEmys9h28hP2sQRhCexCzKtgXWbJQ -vbIYbzJNK1tk8vnc5IISHVu0+YaD0Gm+8BcitCLDgRJaSrxu1BpTeEHTAgJNo+wC -BfHRdBGKdkz+RWGCjQzDZT9vHTvciSnXewSoRg82IIjuaFJXXrE1ECk4rJOeIphd -tVOaU27044+9PcP8Ja7spUFDhRUg6LFdKeLTZk/EqiapoHMI0Blk/VMPQbt7zadP -Dk39Ty1fBtHrbUOmzAKCc4YFbgVp4uXm/UfxkncpdBd8mdXqaBuacprHZQwAJDuh -9++VVVUWOao/R/oJ8V7aZnNuHWbLdvXUNvmsX/GEcx+dlwjVqIDq2CPXr26OY49d -tRyY0ZZ4/7Lp3N0sxYUFO5M1jVqntJL5KiaGHQJ3VPRi1XCg0jPEgYUm/vzB1/4L -dYpDiu9x91Qk0YBk1wtHab/uG+vwCKofCsCRduTWRxLsiwaiFF3Fro2zzpu1PjXv -uA+AabKFyJk/aln/YpaEeJ4ZDyzTq2O2v7Xp2sunvUJaFVl58b0pEe3XmruxRDEJ -GPcoEKFfanYP3sp1Hy0D1OCOIj+UgucJP7yWfpxxG1GuUSfLzZBMRE+pSG1GPDz0 -D3WZhLupk6tOi3AoNx2OvMj23FliY6U1F6HX/Vs5QbbXDQEMtDSP3Hpqq5lvntAK -szJ5ocAhUa5pQeXIxVseLQafDsbNU85o4Buzd75CLjxaM+AE+5awQyYq2cxl3WXP -VVnccsZK6EAkjZGkTO1dUlPS54rsbAnOhPy+ZvkuKl43UQrPcKz4m9qR+lipoqyY -JBj43gHFwxX2a/jEfH1sWbGzuoJ12jeFzvZEKvwCPkf8Taenha28x9LDtPdwnerj -L3IjlHAzkTxkIgaEf/mlqot5VpTa8LExS2d/+l0wUbAXH/noMw8QTutGtC+8hgbn -oLY+F/1vpvRiUOeMy0bWmazO8XEZD2lF+iQ5pZIWPXyID4y+3f4GwTPYMOR3U8ja -XvK3q+ZFE5FlMRypit+tOIVTP/NVSfJFpqJei4Z4dfn/5DwmAayH3uqo44gTNywz -Q0waMsHuTb6cUmsNVTzwnqU3IVDNrgrHNpV6rSNneJqdXHJYruib3pQhT/wym3l4 -FMOCA6qt1nQdFcQo2iRRP8bwj9Rttj0C6vaWtaMXOlvmg4PXv4oZZP1UonECe3q6 -aa1kZlreUaBYGDTKpF7ZQS+ZGhzZZNudMrsLDhEzvrk+QRWlnlbjNT+hzhB5qr7I -vOpQ8UWe2mCRMQP/wSAjg/bCeMkjkQMY+K9ife+81rRhna51Pis5Oo/SLkt0WFmS -i9c4iN0n3Us2G7DtoUY6MnGuwlEll0JfvUU0r3egLG6amqQFmxeVG1S0znodAzU7 -vESW0v1TDkGovSoaO8FV7EvmTmDlIaJAVo0oR6pnCIyZ0nAIT4JYweSMxATMAET5 -AZ4sL6umYS1uE1GcU4QKs6eedrZZbTfCiwnzt8ASI+b4WBwyZEqjAtKd/asMH5/O -bVuS6JWRp2+AN/BS2865hjHwT98wf74voNScBKbjTa6/PNNrJtNVnWneJWaC4qb3 -aufnqBAzNKJcwWKpF/KX45Oq8XFdrryhwmSlS3NWMJ5pfaksNPUosTAeRTiGHs8f -Q+3mdyA9DYAY4dfo0CWf2xFHz53d95qTMHOvwLV9DePzuRYuLHvoUZBO1mSBZ5h7 -rBuKT5vFU3oeq1xcLRQzQRMXy303TPNaUjlzT+ueQj8l7HyliIxBj3qI2otfPCpm -n/5oWktAyjqcHu7H/RFl49Ojhx7f+jKdpjK0yVitxm+/KiKTNGY0BXjYc4LJ1A9N -npIyvVOEEBYJG3ch5Wm/pjfaXJiP2D3IJaZNDLZa1X+fQCge6XnidhEepNKyenFJ -taEkF9JimjXU9pn1niA1GE/QGY7ozOq84y/LHQ1yt65fa+momLSCi29aaOa0hAog -uUSEpYJYDxi+URtLHgaWtdN9C4ARYBrtos2bz15DLykjuLB7iU6aqMZFgc1FZ9r4 -HqOzeEIggQP2Chnddws5bWnOTMXxdkIfKomTI/b+QRNImMhL20vSJEPq5ileFEVR -wzwIonKhFB11oG/Eh+tX8e+dXjCPKN+hgWIp/pwrZFGkjiYirXT3g2LwQCiBxt1n -bnmvrel2w5Ub+Xz2PtI9LC7EwFDBANmbR4jZonxW9KdH0UV+x1g5xRwDKoq1NOkf -SVCnVVDLEUR69OvLmrJXl2SIV0g+5iIv6FmRAt6qko4XFCdVLFdcsUw8yop6G4pJ -Y2wFN/Jv665iv0f+Xx+63Cv4dnDVcrDFFTkxc4t658pWPQnRFN8Qcua33dura+A0 -ymXo8vIlH6nTjys5OyZSFQmx3nolBpjbJLfVzNz62T1IQJXg0OxxUZRDtnmZppiP -0rK29yvmE1VLTRI1ajTvg522YGbTsmGtJO1w4z6M/RcJMzBW8M1UotHa2Fn6o2YU -G4D6YmVVuoJAis4e7mCkIFXWBgAtAR4A7Z0DP4pEZ6Jc+BNY4GX7I6+tV25H+aLk -4njtbg4X78e61bH08SVDiW4UlJGfeqzuHxxxkMX8yMzHyL9L+CFL/cLJxHoLRxoG -ahHc2nMU9fjRrcVAjNYpsDoB6nfsDukD9sFUs8dFcROce2SNprqLqyW6TT99TgMO -ZA2iawYzFjpwF4o+2CUgi6VJrork+BcwBylRMifSD7PO3/67+jZj3zwY9TeJRCtu -ZPc2wSeEg/Kmgqu8Rp7K2K6+uSTbVw+MpaVh2LWfFFEVS6qUNgVOYuV3cBqxUY7n -6Gie/4a/DTLvFTmr4o71h7OXSabV5QBfulAKuc8w+hrb0lePXcnNVLVSpqDpWuTM -PuzHe7/UXb7k0lyqGGZLbW7mM+Jt3EPvcfv5A5KTg6urgy/cImCNWYzlogvQdSiL -kfVOJsVL1cN5uIfd7lqZIhxdXTm6zlN2TAH27xdH1AqBTEOdcjK7Qe0POnIbnAkM -4/3FXRVrZAEolMzHr51UssWRAQY2CwIpyLf+TG2GEY8MY5KsioGCu0w+90jNA4w4 -RLCh1i07H8FaGOBuokXfMDIXTWD5DUVhJsK5IJy+QifK1dCcD4zUssPQEZjFHBjB -YOTWouT+wvLfBnk8z0+CtJcn3WyctzuFrGUuFK2Bqx7LjqrdjsIVwEBtI/T1beLV -iJ72WZ2WnTGXfKYPPk36/QcGPJOM4ldQDIPjw3A1DPxG/J3PlVJsJphfMHK3qvZi -eYyWlrGhBSJ2aUQi43Ud83CgKHu1l+jnzqnS9+KFjmHUTSCXHt1fUWjZqG47PZzA -uOrvKFdK8SPm0Pi0AhuQBIklTEnSNlDgKAwtZkvwuH3vxpXrTdJTMUmbgKSnJCWO -9dD1XexYcef02V/JJHj+iC/2XiQXVSwzrCIVut06q4N3vOgxVrFlr2FVmISZrhJR -XsCLIwN3QyPxcxyURfIgAimGKklCsNzUb6odEU5ZLpYAE8w21xjxI2wgKZkKE+Gf -6LRUidm2QWTwmgB+rsTpj2ImNGt+DOW/hMJJGmRVXR8AtACHxz7ttUT0S7RL3m2K -WAlPIgshX4Jr3X4lg4JEdbrtEWSKhXZ1c5OdKNpO89z9dMpVMa8Df4jmF4MZqihd -J6lmDcS53PQVj1QNjQGcLIBTlA9Bg8TNs2w/asB4F8GVZMzCGp+lBdTOHjCDvdON -kmIcBQL1sXB3frYLzqh2xs63VeqjNvvNg3lctIBdv0Gedr+2VNe695pCoi5Ui7DK -CqlF9v6ddcHii8bcu82+HI9OnJKgN64eM1X8+OsVrinP4BaWemcwr81FmIFvR8fU -U8pB+iz3T457RNMjHL492+4rlq9lHtEoAcj92k/+sNYAIBUKXAPhqWVaFiq+4Gls -cpxdbV30lc8aUIm36rPpWmPZmODKJApq/KjOLzAXoyRt35mEspSGJH1MaYxshuVm -AKfZNQYvoaeUiqf64PK5oXTQGIgctqwj31RHzxl116ubsuVt/9P9djHznSoa8gLm -MjtET6muh99Q8jkByAPKD18Abe2lb6nfJEp5fzePC8ed0+CT5DXrdNzETtP925zt -BcHNrGLXnPh7t9kRF49T+lbXe5wTED+kidna676rAAGMu7oVVOh2lLgbN+m7oRoX -5A== -=J2bZ +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 +=lSzz -----END PGP MESSAGE----- diff --git a/config/secrets.nix b/config/secrets.nix index 0b74ba1..ad6f321 100644 --- a/config/secrets.nix +++ b/config/secrets.nix @@ -2,6 +2,8 @@ { site.net = { core.ospf.secret = "encrypted"; + pub.wifi.ieee80211rKey = "2dc40abba46da9490ea0e00f93f18ce5"; + c3d2.wifi.ieee80211rKey = "d1b1fa2461efc0df9e2d96579607b7f6"; }; site.hosts = { diff --git a/nix/lib/config/options.nix b/nix/lib/config/options.nix index 9d75299..b7ae0cb 100644 --- a/nix/lib/config/options.nix +++ b/nix/lib/config/options.nix @@ -194,6 +194,13 @@ let type = with types; nullOr int; default = null; }; + wifi.ieee80211rKey = mkOption { + type = with types; nullOr str; + default = null; + description = '' + Key between WiFi access points for Fast Transition + ''; + }; }; }; diff --git a/nix/pkgs/openwrt/uci-config.nix b/nix/pkgs/openwrt/uci-config.nix index 0df8cb4..da6c5f1 100644 --- a/nix/pkgs/openwrt/uci-config.nix +++ b/nix/pkgs/openwrt/uci-config.nix @@ -311,27 +311,30 @@ in ${lib.optionalString (!ssidConfig.disassocLowAck) '' uci set wireless.@wifi-iface[-1].disassoc_low_ack='0' ''} - # for usteerd - uci set wireless.@wifi-iface[-1].bss_transition=1 - uci set wireless.@wifi-iface[-1].wnm_sleep_mode=1 - uci set wireless.@wifi-iface[-1].time_advertisement=2 - uci set wireless.@wifi-iface[-1].time_zone='GMT0' - uci set wireless.@wifi-iface[-1].ieee80211k=1 - uci set wireless.@wifi-iface[-1].rrm_neighbor_report=1 - uci set wireless.@wifi-iface[-1].rrm_beacon_report=1 - uci set wireless.@wifi-iface[-1].ieee80211r=1 - uci set wireless.@wifi-iface[-1].ft_over_ds=1 - uci set wireless.@wifi-iface[-1].ft_psk_generate_local=1 - uci set wireless.@wifi-iface[-1].nasid='${pad 12 "0" ( - toString ((lib.toInt (lib.removePrefix "ap" hostName)) * 65536 + index) - )}' - ${lib.optionalString (netConfig.vlan != null) '' - uci set wireless.@wifi-iface[-1].mobility_domain='${ + + ${lib.optionalString (netConfig.wifi.ieee80211rKey != null) '' + # for usteerd + uci set wireless.@wifi-iface[-1].bss_transition=1 + uci set wireless.@wifi-iface[-1].wnm_sleep_mode=1 + uci set wireless.@wifi-iface[-1].time_advertisement=2 + uci set wireless.@wifi-iface[-1].time_zone=GMT0 + uci set wireless.@wifi-iface[-1].ieee80211k=1 + uci set wireless.@wifi-iface[-1].rrm_neighbor_report=1 + uci set wireless.@wifi-iface[-1].rrm_beacon_report=1 + uci set wireless.@wifi-iface[-1].ieee80211r=1 + uci set wireless.@wifi-iface[-1].ft_over_ds=1 + uci set wireless.@wifi-iface[-1].ft_bridge=${mgmtInterface} + uci set wireless.@wifi-iface[-1].ft_psk_generate_local=0 + uci set wireless.@wifi-iface[-1].nasid=${pad 12 "0" ( + toString ((lib.toInt (lib.removePrefix "ap" hostName)) * 65536 + index) + )} + uci set wireless.@wifi-iface[-1].mobility_domain=${ pad 4 "0" (lib.toHexString (49920 + netConfig.vlan)) - }' + } + uci set wireless.@wifi-iface[-1].r0kh=ff:ff:ff:ff:ff:ff,\*,${netConfig.wifi.ieee80211rKey} + uci set wireless.@wifi-iface[-1].r1kh=00:00:00:00:00:00,00:00:00:00:00:00,${netConfig.wifi.ieee80211rKey} + uci set wireless.@wifi-iface[-1].pmk_r1_push=1 ''} - uci set wireless.@wifi-iface[-1].bss_transition=1 - uci set wireless.@wifi-iface[-1].ft_bridge=${mgmtInterface} '' ) (builtins.attrNames radioConfig.ssids)} '') (builtins.attrNames hostConfig.wifi))}