02 Mar 2023, 00:00

Notes sur l'administration d'un réseau Unifi

Général

Il est nécessaire d’avoir un contrôleur pour gérer un réseau Unifi, et paramétrer les appareils. Ceci peut être une console Unifi (Dream Machine, etc), mais aussi n’importe quel poste (Windows, Linux, Raspi etc).
Centre de téléchargement Unifi

Si le soft est installé sur un PC, il lance un serveur web en local. On peut ensuite accéder à la config via navigateur en accédant à l’IP du matériel sur lequel est installé le serveur web sur le port 8443 (par exemple http://localhost:8443 ).

Une fois configuré, le matériel fonctionne sans la console ; mais il faudra le relancer pour modifier la configuration.

Les appareils peuvent se gérer individuellement en se connectant à leur IP, mais aussi en centralisé via https://unifi.ui.com. Ceci nécessite d’avoir un compte sur https://ui.com et d’avoir paramétré le contrôleur avec ces identifiants.
Il faut également que le paramètre Remote Access soit activé. (Console Settings -> Advanced)

La paramétrage, ainsi que le backup/restore, se fait à plusieurs niveaux différents : au niveau d’UnifiOS, qui est l’interface de gestion du contrôleur complet, et au niveau de chaque application (Network, Protect, etc).

Éteindre matériel via écran LCD :
sur écran : Settings -> Shut down
Pour revenir en arrière sur les menus de l’écran, swipe vers le haut ou le bas.

Interface

Il est possible de revenir à l’ancienne interface de l’appli Network, permettant plus de fonctionnalités/paramétrages.

Pour ceci, dans l’app Network : Settings -> System -> Advanced -> Interface : Legacy.

Backup/Restore

Pour backuper UnifiOS au complet (il me semble que cela inclut les paramétrages des applications), il faut être Owner du contrôleur. Être admin ne suffit pas. A priori un superadmin pourrait le faire aussi, mais je n’ai pas trouvé comment ajouter un superadmin.

Dans UnifiOS (https://unifi.ui.com/dashboard), choisir le contrôleur, puis Console Settings, de là on peut backuper le fichier sur les serveurs d’Unifi, et télechargera également le fichier en local. (ficheir .unifi)

Après restauration usine d’un contrôleur, si on le paramètre avec le même Owner que le contrôleur backupé, on peut le restaurer depuis les serveurs ou depuis un fichier local.
Attention, un backup n’est restaurable que sur un matériel ayant le même Owner !

On peut également backuper/restaurer les paramètres de chaque application individuellement (pour Network : Settings -> System -> Backup) (ficheir .unf)

Réseau

Modifier adressage réseau :
App Network -> Settings (bas gauche) -> Networks -> choisir le réseau et le modifier

DHCP bail fixe client :
App Network -> Topology -> choisir l’équipement -> activer Fixed IP

Changer serveur DNS distribué par DHCP :
App Network -> Settings -> Network -> Advanced -> DHCP -> DHCP DNS Server -> Enable -> Entrer entre 1 et 4 serveurs DNS

Redirection de port :
App Network -> Settings -> Firewall & Security -> Redirection de ports

IP fixe WAN routeur :
App Network -> Settings (bas gauche) -> Internet -> choisir le réseau WAN -> Advanced (Manuel) -> IPv4 Connection -> Static -> régler paramètres réseau

Fixer vitesse port routeur :
Topology (ou Unifi Devices) -> choisir l’équipement -> Ports -> Port Manager -> choisir le port et régler sa vitesse

Guest Hotspot :
Network app -> Settings -> Profiles -> Guest Hotspot

Isolation de réseau invité

https://vninja.net/2019/08/08/creating-isolated-networks-ubiquiti/

On peut créer un réseau “Guest” qui permet aux invités d’accéder à Internet, mais en le séparant du réseau principal.
Pour ceci, App Network -> Settings -> Network -> Create New Network.

Si on choisit “Guest” comme type de réseau, cela permet de restreindre l’accès via des codes/coupons etc. (???)

On peut également associer un réseau wifi à ce réseau invité.

Une fois le réseau créé, il sera cependant en mesure d’accéder (au moins pinger) les ressources du réseau principal. Pour empêcher ceci :
Network App -> Settings -> Firewall & Security -> New Rule.
Type : LAN In
Rule Applied Before predefined rules
Drop
Source : Network -> Choisir le réseau invité
Destination : Network-> choisir le réseau principal

Une fois appliquée, cette règle empêche aux clients du réseau invité d’accéder au réseau principal.
(vérifier si l’inverse est vrai aussi ?)

Note : pour vérifier, il faut tester un ping vers un vrai client sur le réseau principal, et non l’IP de la passerelle sur le réseau principal, car toutes les IP de la passerelle Unifi sont accessibles depuis tous les réseaux (ce sont des passerelles virtuelles, et le trafic réseau ne passe pas d’un réseau à l’autre, ça reste en interne).

Bornes Wifi

Explication des LED

blanc clignotant (0.5s) : démarrage
blanc fixe : en attente d’adoption (configuration/intégration ?)
blanc clignotant très rapide : bug, redémarrer l’AP

bleu fixe : adopté, foncitonnement normal
blanc/bleu clignotant rapide : upgrade en cours
bleu/éteint clignotant 5s : perte de connectivité WiFi
bleu/éteint rapide : mode “locate” activé dans l’appli unifi

bleu-blanc-off : TFTP mode (pour y rentrer, maintenir bouton reset lors de la mise en route jusqu’à apparition de ce motif)

Désactiver temporairement une borne

Ceci peut se faire logiciellement, mais uniquement dans l’ancienne interface. Pour ceci :
Devices -> choisir la borne à désactiver -> Config (engrenage) -> Manage device -> bouton Disable

On peut également complètement couper une borne alimentée en PoE en désactivant le PoE sur son port, via le Port Manager.

Caméras

Orientation

Dans l’appli Protect, aller dans la artie playback, ouvrir la caméra à réorienter, clic sur l’engrenage (en bas) et choisir Orientation.

Device groups

Settings -> General

Notifications mail

Si le “Remote Access” est activé, ce sont directement les serveurs Unifi qui sont utilisés pour l’envoi SMTP.

Pour tester l’envoi des mails, dans l’app Network, ancienne interface : Settings -> Network Application -> Test Cloud email.

Dans le portail Unifi, choisir un contrôleur puis System Log -> Push Notification Settings

Dans l’appli Network : System Logs -> Push Notification Settings.

Dans l’appli Protect : Settings -> Notification (-> Custom)

autre

port isolation conseils https://help.ui.com/hc/en-us/articles/115000166827-UniFi-Guest-Portal-and-Hotspot-System

Ports : https://help.ui.com/hc/en-us/articles/218506997

https://evanmccann.net/blog/ubiquiti/unifi-comparison-charts

Adoption : https://help.ui.com/hc/en-us/articles/204909754-UniFi-Layer-3-methods-for-UAP-adoption-and-management

22 Feb 2023, 00:00

Notes sur KeepassXC

Aperçu

Keepass est le client original. En v1 il était disponible uniquement sous Windows. Depuis la V2, il est multiplateforme.
Il est codé en dotnet (et donc mono sous Linux).

KeepassX était un client alternatif à Keepass nativement compatible Linux. Il n’est plus beaucoup développé. Je ne me penche pas dessus.

KeepassXC est un fork communautaire de KeepassX, nativement multiplateforme, codé en C++, et encore mis à jour régulièrement.

Keepass2 et KeepassXC partagent le même format de base de données, le format .kdbx.
Il me semble que Keepass v1 utilisait le format .kdb.

On peut ouvrir un fichier .kdbx alternativement avec Keepass2 et KeepassXC, les modifications sont vues mutuellement.

Par défaut, Keepass2 intègre une icône à la zone de notification.
KeepassXC ne le fait pas, mais on peut activer l’option dans les paramètres. Si on coche “Réduire au lieu de quitter l’appli” et “Afficher une icône dans la zone de notification”, on a le comportement le + souple : la fenêtre est réduite lors de la réduction et disparaît lors de la fermeture ; l’appli étant en permanence en fonctionnement dans la zone de notification.

Pour l’instant je me penche principalement sur KeepassXC. Son dépôt git est ici :
https://github.com/keepassxreboot
et son site officiel ici :
https://keepassxc.org/

On peut l’installer via les dépôts Debian avec la commande
sudo apt install keepassxc

L’intégration de KeepassXC à Firefox nécessite un module. En essayant de l’installer depuis le magasin de modules de Mozilla, je n’ai pas réussi à faire dialoguer les 2. Mais Debian package l’extension, et l’association avec KeepassXC a fonctionné directement (après avoir supprimé l’extension installée manuellement).
sudo apt install webext-keepassxc-browser

Il faut également activer, dans les paramètres de KeepassXC, l’intégration (générique) aux navigateurs, ainsi que l’intégration à chaque navigateur que l’on souhaite utiliser.
L’activation du navigateur Firefox va créer un fichier (qui contient le chemin du proxy KeepassXC) dans ~/.mozilla/native-messaging-hosts/ ; il faut donc la réactiver si on fait des tests à base de dossiers FF tout neuf.

Il me semble que chaque connection entre 1 profil et KeepassXC utilise une “base de données” (qui n’est pas la base de données KDBX, mais simplement le nom du lien entre les 2). On peut le voir dans les paramètre de Keepassxc-browser -> Base de données connectée. Je ne sais pas comment consulter les différents liens dans KeepassXC lui-même.

Une fois l’ensemble paramétré, on voit apparaître le logo de KeepassXC à côté des champs username. Si on clique dessus, cela remplit automatiquement les champs, ou propose de choisir l’identifiant en cas d’IDs multiple enregistrés pour une même URL.

Sync

Le fichier KDBX est synchronisable entre différents postes via des outils externes ; en mon cas Nextcloud.
Après test, il s’avère qu’il est tout à fait possible d’avoir le fichier KDBX déverrouillé sur 2 postes en parallèle. Dès que les modifications sont appliquées par le poste qui n’a pas créé ces modifs, KeepassXC s’actualise tout seul et affiche les modifications, sans besoin de fermer/ouvrir la base ou de redémarrer le logiciel.
La modification sera également accessible sous Firefox sans besoin de le relancer, mais en actualisant toutefois la page.

Import

On peut importer (entre autres) une base de password au format CSV. Ceci permet d’importer les passwords de Firefox.
Un bon guide est ici :
https://blog.bilak.info/2021/04/02/moving-passwords-from-firefox-lockwise-to-keepassxc/

On commence par exporter les mots de passe de Firefox dans un fichier CSV.
Si on utilise une version =< 2.7.0 de KeepassXC (jusqu’à Bullseye pour la version des dépôts Debian), il faut modifier les timestamps via le script présent sur le lien ci-dessus.

Ensuite, dans KeepassXC, “Base de données -> Importer -> Fichier CSV”. On choisit le CSV créé précédemment. Il faut alors créer une nouvelle base de données qui contiendra l’import. On pourra fusionner cette nouvelle base avec une base pré-existante ultérieurement.

Pour l’import, il faut cocher l’option spécifiant que la 1ère ligne contient les noms des champs.
Ensuite, établir cette correspondance :

  • Group -> Not Present
  • Title -> url
  • Username -> username
  • Password -> password
  • URL -> url
  • Notes -> httpRealm (pas obligatoire, mais permet de conserver des informations supplémentaires)
  • TOTP -> Not Persent
  • Icon -> Not Present
  • Last Modified -> timePasswordChanged
  • Created -> timeCreated

Fusion de 2 bases

Ouvrir la base destination.
“Base de données -> Fusionner à partir d’une base de données”. Taper le pass de la base source.
Les dossiers sont respectés lors de l’import.

10 Feb 2023, 00:00

Attribuer une IP fixe à un client VPN via Synology

Complètement copié-collé de cet article :
https://www.wundertech.net/setup-a-static-ip-address-for-openvpn-clients-on-your-synology-nas/

Testé sur DSM 6, mais pas sur DSM 7.

Pré-requis :

  • serveur OpenVPN installé sur le NAS
  • accès SSH au NAS, avec un utilisateur aux droits sudoers

L’identification du client dépendra de l’utilisateur (sur le serveur VPN) utilisé pour établir la connexion VPN.
On crée le dossier qui stockera les configurations IP souhaitées.

cd /usr/syno/etc/packages/VPNCenter/
sudo mkdir userIPs
sudo chmod 0755 userIPs
cd userIPs

Créer un fichier du nom (exact) de chaque utilisateur dont on souhaite fixer l’IP.
Notre utilisateur d’exemple s’appelle myUser. Je pense qu’il faut respecter la casse.
Notes sur l’utilisation de vi

sudo vi myUser

Dans ce fichier, coller la ligne suivante en adaptant l’adressage réseau. Attention, le dernier chiffre de la première adresse doit être ((multiple de 4) + 2), et la seconde adresse doit être l’adresse immédiatement précédente.
Choisir une adresse suffisamment élevée pour éviter le conflit avec les adresses attribuées à la volée.

ifconfig-push 10.8.0.202 10.8.0.201

Mettre les autorisations correctes :

sudo chmod 0644 ./*

On configure ensuite le serveur VPN pour prendre en compte ces fichiers :

cd /usr/syno/etc/packages/VPNCenter/openvpn/
sudo vi openvpn.conf

Ajouter dans le fichier la ligne suivante :

client-config-dir /usr/syno/etc/packages/VPNCenter/userIPs/
cd /volume1/@appstore/VPNCenter/etc/openvpn
sudo vi radiusplugin.cnf

et modifier la ligne overwriteccfiles pour obtenir

overwriteccfiles=false

Ensuite, il devrait suffire de redémarrer le Synology (ou éventuellement uniquement les services nécessaires ?) et de vérifier que les réglages sont bien pris en compte.

10 Feb 2023, 00:00

Notes sur vi

Entrer en mode édition/insertion : touche i
Sortir du mode édition : touche Esc

Quitter (lorsqu’on n’est pas en mode édition) : :q
Quitter (sans enregistrer les changements) : :q!
Enregistrer : :w

Ctrl-S freeze l’affichage. Pour le récupérer, Ctrl-Q

31 Jan 2023, 00:00

Comptes Microsoft personnels et professionnels

Il y’a 2 types de compte Microsoft : les comptes personnels (créé et géré par soi-même) et les comptes professionnels/scolaires (créés par une organisation pour une personne de l’organisation).

Il est parfois pas évident de distinguer si nous utilisons un compte personnel ou professionnel. Voici des URL qui ne semblent fonctionner que pour 1 seul des 2 types :

PRO
https://myaccount.microsoft.com
(renverra sur microsoftonline.com ; refusera un login personnel)

PERSO
https://login.live.com
(annonce que le compte n’existe pas si on essaye un compte pro)

https://admin.microsoft.com, https://login.microsoft.com , https://account.microsoft.com ou https://login.microsoftonline.com` redirige vers un des 2 “logins” ci-dessus, selon le type de compte.

Il me semble que l’on peut établir une équivalence entre l’usage de l’URL “live.com” et un compte personnel : l’un implique forcément l’autre.
(en fait non : c’est le cas pour strictement https://login.live.com, mais la même URL avec des paramètres peut accepter un compte pro en redirigeant vers login.microsoftonline.com ).

Liens VLSC

https://www.microsoft.com/Licensing/servicecenter/default.aspx
https://www.microsoft.com/fr-fr/licensing/default
https://www.microsoft.com/fr-fr/microsoft-365/enterprise/microsoft-office-volume-licensing-suites-comparison

Pour créer un compte d’admin d’entreprise “.onmicrosoft.com”, il est nécessaire de passer par l’achat d’une licence orientée pro (par exemple Office 365 Business Standard) ; on peut toutefois utiliser l’offre 1 mois gratuite.
Le domaine sera créé via une adresse mail externe en guise d’administrateur. Nécessite une carte bancaire.

Office

Il est déjà arrivé quue la connexion d’Office à un compte personnel, dans le but d’activer le produit, ne se fasse pas, Office essayant de se connecter à un compte pro.
En ce cas, utiliser le Store pour se connecter a fonctionné, et la connexion à Office a ensuite récupéré la connexion établie vers le compte personnel. Il est ensuite possible de se déconnecter du store.

30 Jan 2023, 00:00

Suppression locale d'un compte utilisateur de domaine

Pour supprimer d’un poste le profil d’un utilisateur du domaine (supprimer C:\Users\utilisateur et les entrées de registre associées), il faut aller dans Paramètres -> Système -> À propos de -> Paramètres avancés du système.
Puis Profils des utilisateurs -> Paramètres.

De là, on peut supprimer les profils de domaine (qui ne seront pas supprimés du domaine, juste du poste).

13 Dec 2022, 00:00

Logs sous PfSense

Les journaux sont stockés sous forme de log circulaire. Pour les lire, il faut utiliser clog.

En SSH :

cd /var/log
clog mylog.log | less

Par défaut ils sont limités à environ 500ko/log, et à 50 lignes dans l’affichage webGUI. Dans Status -> System Logs -> Settings, on peut augmenter ces valeurs. La taille des journaux ne sera toutefois réellement changée que lors d’un réinitialisation des logs.

03 Nov 2022, 00:00

xrandr, résolution virtuelle et upscaling

xrandr
donne la configuration actuelle et les différentes configurations possibles

panning : permet d’aumgmenter la taille “logique” de l’affichage (les coordonnées disponibles pour demander un affichage)

mode : l’affichage réel de l’écran physique ; peut être inférieur au panning (auquel cas l’affichage défile lorsqu’on bouge le curseur vers un bord)

scale : l’échelle entre le panning et le mode ; permet par exemple de faire rentrer un “grand” panning dans un “petit” mode Elle s’obtient en divisant la valeur du panning par la valeur du mode.

Par exemple, avec un écran physique 1366x768, si je veux un écran virtuel de 1920x1080 :

xrandr --output LVDS-1 --panning 1920x1080 --mode 1366x768
et je pourrais “défiler” dans l’écran virtuel en déplaçant la souris.

Si je veux que cette résolution virtuelle soit affichée intégralement dans l’écran :

1920/1366 = 1.40556369
1080/768 = 1.40625

ce qui donne la commande
xrandr --output LVDS-1 --panning 1920x1080 --mode 1366x768 --scale 1.40556369x1.40625

26 Sep 2022, 00:00

Live-USB Bullseye

Même procédure que pour buster avec quelques variations :

sudo aptitude install live-build live-tools
mkdir bullseye_live && cd bullseye_live
mkdir auto && cp /usr/share/doc/live-build/examples/auto/* ./auto/

config

Fichier auto/config

#!/bin/sh

set -e

lb config noauto \
	--architectures 'amd64' \
	--archive-areas 'main contrib non-free' \
	--bootappend-live 'boot=live config locales=fr_FR.UTF-8 keyboard-layouts=fr' \
	--binary-images 'iso-hybrid' \
	--distribution 'bullseye' \
	--linux-flavours 'amd64' \
	--source 'false' \
	--backports 'true' \
	"${@}"

Liste de paquets

Fichier config/package-lists/live.list.chroot

live-boot
live-config
live-config-systemd

#FIRMWARE
firmware-linux firmware-atheros firmware-b43-installer firmware-bnx2x firmware-brcm80211 firmware-intelwimax firmware-iwlwifi firmware-libertas firmware-myricom firmware-netxen firmware-qlogic firmware-realtek broadcom-sta-dkms

#UTILS
nmap rcconf gparted hfsprogs ntfs-3g hfsplus hfsutils dosfstools lightdm bash-completion chntpw dcfldd bootlogd less mesa-utils numlockx ethtool grub2 ssh gdisk testdisk python-tk iftop nethogs pm-utils dmraid aptitude apt-file smartmontools debootstrap pciutils usbutils cifs-utils e2fsprogs mtools screen lvm2 net-tools mdadm lsscsi haveged rng-tools cryptsetup efibootmgr efivar ncdu wireless-tools dnsutils git iperf iperf3 lshw pmount grub-efi-ia32-bin grub-pc-bin grub-efi-amd64-bin curl dislocker vlan

# TEAMVIEWER
libqt5webkit5 qml-module-qtquick2 qml-module-qtquick-controls qml-module-qtquick-dialogs

# DESKTOP
hplip system-config-printer xsane simple-scan mate-desktop-environment caja-open-terminal mesa-utils firefox-esr-l10n-fr chromium-l10n pulseaudio pavucontrol pavumeter mate-media-common mate-media mate-settings-daemon-dev mate-settings-daemon-common mate-settings-daemon chromium engrampa unrar pluma bluez blueman pulseaudio-module-bluetooth gddrescue ddrescueview vlc rdesktop conky network-manager-gnome webcamoid cheese webp-pixbuf-loader

Noyau, backports et pinning

On va utiliser le pinning pour demander d’installer certains paquets depuis les backports notamment les noyaux et headers.
La version de wpasupplicant fournie dans Bullseye a parfois quelques problèmes pour se connecter à un réseau. On choisit d’installer la version de bullseye-backports.
De même, si on installe le noyau de bullseye-backports, le module broadcom-sta-dkms doit venir des backports pour compiler sans erreur.

Pour ceci, on crée le fichier config/archives/backports.pref.chroot et on y met le contenu suivant :

Package: linux-image-amd64
Pin: release a=bullseye-backports
Pin-Priority: 600

Package: linux-headers-amd64
Pin: release a=bullseye-backports
Pin-Priority: 600

Package: wpasupplicant
Pin: release a=bullseye-backports
Pin-Priority: 600

Package: broadcom-sta-dkms
Pin: release a=bullseye-backports
Pin-Priority: 600

On peut bien sûr choisir d’autres paquets à installer depuis les backports, avec les mécaniques classiques de pinning.

25 Sep 2022, 00:00

LibreOffice Calc : imprimer sur 1 seule feuille

Sélectionner le rectangle à imprimer
Format -> Zone d’impression -> Définir

Puis

Format -> Page
Onglet Feuille -> Adapter les zones d’impression au nombre de pages -> 1