Post

🖧 Nebula Defined Networking

🖧 Nebula Defined Networking

Nebula est un outil de réseau superposé évolutif axé sur les performances, la simplicité et la sécurité. Il vous permet de connecter de maniÚre transparente des ordinateurs partout dans le monde. Nebula est portable et fonctionne sous Linux, OSX, Windows, iOS et Android. Nebula intÚgre un certain nombre de concepts existants tels que le chiffrement, les groupes de sécurité, les certificats, et le tunnel.

Connexion sur le site https://admin.defined.net acec login + totp

Choisir un CIDR pour votre réseau de nébuleuses gérées

Pour commencer avec Managed Neubla, vous devrez choisir une plage rĂ©seau. Lors de l’ajout d’hĂŽtes au rĂ©seau, une adresse IP se verra attribuer une adresse IP dans cette plage. Il y a quelques exigences et facteurs importants Ă  prendre en compte avant de faire votre choix, car la plage ne peut pas ĂȘtre modifiĂ©e une fois qu’elle est choisie (des rĂ©seaux supplĂ©mentaires avec diffĂ©rentes gammes peuvent ĂȘtre créés, mais les appareils ne peuvent pas communiquer entre les rĂ©seaux).

ConsidĂ©rations ​

La plage que vous choisissez doit faire partie de l’espace d’adresses privĂ©s RFC 1918 ou de l’espace d’adresses partagĂ©s RFC 6598. Cela signifie qu’il doit exister dans l’une des plages suivantes:

  • 192.168.0.0/16
  • 172.16.0.0/12
  • 10.0.0.0/8
  • 100.64.0.0/10

Comme ci-dessus, l’utilisation de la notation CIDR est utilisĂ©e pour spĂ©cifier la plage pour votre rĂ©seau de nĂ©buleuses gĂ©rĂ©es.

CIDR: 10.139.100.0/24

GĂ©rer son propre phare (lighthouse)​

Le phare gĂ©rĂ© est le bon choix pour la plupart des rĂ©seaux. Vous voudrez peut-ĂȘtre gĂ©rer votre propre phare Ă  la place (ou en plus) si vous avez besoin:

  • ContrĂŽle total sur l’infrastructure qui gĂšre la dĂ©couverte par les pairs
  • Un phare Ă  l’intĂ©rieur d’un rĂ©seau, d’une rĂ©gion ou d’un centre de donnĂ©es spĂ©cifique
  • Pour conserver toute l’infrastructure de coordination sur le matĂ©riel que vous exploitez

Vous pouvez auto-hĂ©berger un ou plusieurs phares Ă  cĂŽtĂ© du phare gĂ©rĂ©. Voir Inscription d’un phare pour la configuration auto-hĂ©bergĂ©e Ă©tape par Ă©tape.

info: Un rĂ©seau peut utiliser le phare gĂ©rĂ©, les phares auto-hĂ©bergĂ©s, ou les deux en mĂȘme temps. L’ajout de votre propre phare ne supprime pas celui gĂ©rĂ©.

Inscrire un phare (lighthouse)

info: Chaque réseau comprend déjà un phare géré, donc cette étape est optionnelle. Suivez ce guide si vous préférez gérer votre propre phare pour plus de contrÎle sur votre infrastructure réseau.

Dans un rĂ©seau de nĂ©buleuses gĂ©rĂ©es, les hĂŽtes se dĂ©couvrent via des phares. Pour crĂ©er un phare, vous aurez besoin d’un serveur lĂ©ger sur une adresse IPv4 publique persistante. De plus, vous voudrez utiliser une machine qui est toujours allumĂ©e plutĂŽt qu’une plate-forme sans serveur, car le phare est un processus d’état.

Pour commencer à inscrire un phare, visitez la page phares du panneau d’administration et cliquez sur le bouton “ajouter”.

Le formulaire « Ajouter un phare » dans le panneau d’administration. NĂ©cessite un nom, une adresse IP publique, un port et un rĂŽle sĂ©lectionnĂ©s dans une liste dĂ©roulante.

  • Name: sxb
  • Pubic IP: 164.132.198.38
  • Port: 54254
  • Role: ajouter role nommĂ© “lighthouse”

Donnez un nom au phare et entrez l’adresse IPv4 publique de la machine et le port que vous avez ouvert pour autoriser les entrĂ©es UDP (par dĂ©faut 4242). Vous pouvez Ă©galement attribuer au phare un rĂŽle, qui contrĂŽle le trafic entrant qu’il accepte des autres hĂŽtes - choisissez un rĂŽle existant ou crĂ©ez-en un nouveau directement Ă  partir de la liste dĂ©roulante. Les rĂŽles nouvellement créés n’acceptent que pingdemandes d’autres hĂŽtes, ce qui est pratique pour vĂ©rifier la connectivitĂ©. Vous pourrez modifier les rĂšgles du pare-feu du rĂŽle plus tard si vous le souhaitez.

info: Vous devrez ouvrir le pare-feu de la machine pour le port UDP 4242(ou un autre port configurĂ©) afin que n’importe quel hĂŽte puisse interroger le phare, sur les ports IPv4 et IPv6 pour permettre aux hĂŽtes sur tous les types de rĂ©seaux de communiquer.

Maintenant que vous avez créé votre phare, choisissez le systĂšme d’exploitation et la version de votre hĂŽte, puis suivez les instructions dans le panneau d’administration pour installer DNClient, dĂ©marrez-le en tant que service de dĂ©marrage et inscrivez la machine dans le rĂ©seau de nĂ©buleuse gĂ©rĂ©e.

  • OS Linux
  • APT repository

Linux Debian

1
2
3
4
5
sudo curl -fsSL https://dl.defined.net/gpg.asc -o /etc/apt/keyrings/defined-net.asc
echo "deb [signed-by=/etc/apt/keyrings/defined-net.asc] https://dl.defined.net/stable/apt stable main" | sudo tee /etc/apt/sources.list.d/defined-net.list > /dev/null
sudo apt-get update
sudo apt-get install dnclient
sudo systemctl enable --now dnclient

Puis enroler

1
sudo dnclient enroll -code Z8RD2vhw_Qi6twnNAp_3Utguo773su57RKkwkfs2saU

Au final

Installation DNClient Server

Sur les distributions Debian-, RPM- et Arch, installez dnclientd’un paquet. Le paquet met le binaire à /usr/bin/dnclient, enregistre un service systùme, et vous permet de prendre de nouvelles versions grñce à vos mises à jour systùme normales. Sur d’autres distributions, utilisez le binaire autonome.

Installer Ă  partir du dĂ©pĂŽt de paquets ​

APT

Pour Debian, Ubuntu, Linux Mint, Pop! _OS, et autres distributions basées sur APT.

  1. Ajoutez la clĂ© de signature de rĂ©seau dĂ©fini. Le installLa commande crĂ©e le rĂ©pertoire de keyring si votre distribution n’en a pas dĂ©jĂ .
1
2
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://dl.defined.net/gpg.asc -o /etc/apt/keyrings/defined-net.asc
  1. Ajouter le dépÎt:
1
2
eecho "deb [signed-by=/etc/apt/keyrings/defined-net.asc] https://dl.defined.net/stable/apt stable main" \
  | sudo tee /etc/apt/sources.list.d/defined-net.list > /dev/null
  1. Installer dnclientet activer le service pour qu’il dĂ©marre sur le dĂ©marrage:
1
2
3
sudo apt-get update
sudo apt-get install dnclient
sudo systemctl enable --now dnclient

Avec le service en cours d’exĂ©cution, inscrivez l’hĂŽte, en remplaçant <ENROLL_CODE>avec le code d’inscription que vous recevez du panneau d’administration aprĂšs avoir créé ou rĂ©inscrutĂ© l’hĂŽte.

1
sudo dnclient enroll -code <ENROLL_CODE>

Confirmez que le service est en cours d’exĂ©cution et l’hĂŽte a un certificat:

1
2
systemctl status dnclient
sudo dnclient info

Arch (AUR)

Pour Arch Linux, Manjaro, EndeavourOS et d’autres distributions basĂ©es sur Arch, Defined Networking maintient le dnclientpackage dans le RĂ©fĂ©rentiel d’utilisateurs Arch.

  1. Installez le package avec votre aide AUR, ou construisez-le manuellement avec makepkg:
1
2
3
4
5
6
7
# with an AUR helper
yay -S dnclient

# or manually
git clone https://aur.archlinux.org/dnclient.git
cd dnclient
makepkg -si
  1. Activez le service pour qu’il dĂ©marre sur le dĂ©marrage:
1
sudo systemctl enable --now dnclient

Avec le service en cours d’exĂ©cution, inscrivez l’hĂŽte, en remplaçant <ENROLL_CODE>avec le code d’inscription que vous recevez du panneau d’administration aprĂšs avoir créé ou rĂ©inscrutĂ© l’hĂŽte.

1
sudo dnclient enroll -code <ENROLL_CODE>

Confirmez que le service est en cours d’exĂ©cution et l’hĂŽte a un certificat:

1
2
systemctl status dnclient
sudo dnclient info

Final

Votre ordinateur est en marche dnclientet sera en mesure de communiquer avec d’autres machines sur votre rĂ©seau de nĂ©buleuses gĂ©rĂ©es.

Note: Le paquet expĂ©die sa propre unitĂ© systĂ©mique, de sorte que la construction emballĂ©e n’a pas install, uninstall, start, ou stopsous-commandes. GĂ©rer le service avec systemctlĂ  la place. Pour connecter l’hĂŽte Ă  plus d’un rĂ©seau, utilisez le dnclient@.serviceune unitĂ© de modĂšle, par exemple sudo systemctl enable --now dnclient@production.

Configuration du service ​

Le service packagĂ© prend ses paramĂštres Ă  partir de variables d’environnement, qu’il lit Ă  partir d’un fichier dont l’emplacement dĂ©pend de la distribution:

Distribution Dossier d’environnement
Debian, Ubuntu et autres APT-based /etc/default/dnclient
RHEL, Fedora et autres RPM-based /etc/sysconfig/dnclient
Arch-basé /etc/conf.d/dnclient

Le paquet envoie ce fichier Ă  chaque paramĂštre commentĂ©, de sorte que les valeurs dĂ©faillantes ci-dessous s’appliquent jusqu’à ce que vous le modifiiez. Une instance nommĂ©e lit son propre fichier avec le nom de l’instance ajoutĂ©, tel que /etc/default/dnclient.productionpour dnclient@production.service. Ce fichier est facultatif et le paquet ne le crĂ©e pas.

Variable Par défaut Description
DNCLIENT_STATE_DIR /var/lib/defined Annuaire tenant l’état d’inscription. Une instance nommĂ©e stocke son Ă©tat dans un sous-rĂ©pertoire, tel que /var/lib/defined/production/.
DNCLIENT_LOG Unset Fichier sur lequel Ă©crire des journaux. Lorsqu’ils ne sont pas rĂ©glĂ©s, les journaux vont Ă  stdout, oĂč journald les capture.
DNCLIENT_SERVER https://api.defined.net Serveur API utilisĂ© pour l’inscription, la rotation des certificats et les mises Ă  jour de configuration.
DNCLIENT_NAME Unset Nom de l’instance. L’unitĂ© de modĂšle dĂ©finit cela par instance, alors activez dnclient@<name>.serviceplutĂŽt que de le mettre ici.

Redémarrez le service pour appliquer un changement:

1
sudo systemctl restart dnclient

Seul le service lit ce fichier. dnclientLes commandes que vous exĂ©cutez vous-mĂȘme utilisent les valeurs par dĂ©faut, sauf si vous dĂ©finissez la variable dans votre propre shell ou passez le drapeau correspondant (-config, -log, -server, -name).

Installer le binaire autonome ​

Utilisez cette mĂ©thode sur les distributions, le dĂ©pĂŽt de paquets ne couvre pas, ou oĂč vous ne voulez pas un paquet systĂšme. Vous devrez rĂ©pĂ©ter ces Ă©tapes Ă  la main pour chaque mise Ă  niveau.

  1. Obtenir l’URL pour la derniùre version de la dnclientbinaire pour votre architecture à partir de https://admin.defined.net/downloads.
  2. À partir d’un rĂ©pertoire oĂč vous souhaitez tĂ©lĂ©charger dnclient, courir ce qui suit curlcommande, remplacement <DL_URL>avec le lien que vous avez obtenu Ă  partir de la page de tĂ©lĂ©chargements.
1
curl -O <DL_URL>
  1. Faire dnclientexécutable:
1
sudo chmod +x dnclient
  1. Installer dnclientcomme un service. Cela utilisera le dnclientbinaire dans son rĂ©pertoire actuel, alors dĂ©placez-le d’abord si vous le souhaitez ailleurs.
1
sudo ./dnclient install
  1. Début dnclient. En tant que service, il sera démarré automatiquement sur les futurs redémarrages.
1
sudo ./dnclient start
  1. Inscrire l’hĂŽte, en remplaçant <ENROLL_CODE>avec le code d’inscription que vous recevez du panneau d’administration de la nĂ©buleuse gĂ©rĂ©e aprĂšs avoir créé ou rĂ©inscrit l’hĂŽte.
1
sudo ./dnclient enroll -code <ENROLL_CODE>

Votre ordinateur est en marche dnclientet sera en mesure de communiquer avec d’autres machines sur votre rĂ©seau de nĂ©buleuses gĂ©rĂ©es.

CrĂ©er des pare-feu Ă  l’aide de rĂŽles et de balises

MĂȘme au sein d’un rĂ©seau privĂ© comme Managed Nebula, c’est une bonne idĂ©e de restreindre les types de communication qui peuvent se produire entre diffĂ©rents types d’appareils. Par exemple, les machines de serveur Web peuvent avoir besoin de communiquer avec les machines de base de donnĂ©es sur certains ports, mais elles ne devraient pas pouvoir se lancer dans les ordinateurs portables utilisateurs. Dans la nĂ©buleuse gĂ©rĂ©e, ces rĂšgles d’accĂšs sont configurĂ©es via des rĂšgles de pare-feu sur les rĂŽles et les balises. Ce guide expliquera quels sont les rĂŽles et comment ils sont utilisĂ©s pour gĂ©rer Ă  la fois l’identitĂ© et l’accĂšs au sein d’un rĂ©seau de nĂ©buleuses gĂ©rĂ©es.

Dans la nĂ©buleuse gĂ©rĂ©e, un rĂŽle reprĂ©sente l’objectif principal et l’identitĂ© de groupe d’un hĂŽte. Par exemple, vous pouvez crĂ©er des rĂŽles tels que user device, webserver, database, etc. Chaque machine que vous crĂ©ez doit ĂȘtre assignĂ©e Ă  un rĂŽle lorsqu’elle est créée. Les rĂšgles de pare-feu sont configurĂ©es pour le trafic entrant au niveau du rĂŽle. Les rĂŽles nouvellement créés ne permettent que le trafic ICMP de sorte que pingLes demandes peuvent ĂȘtre utilisĂ©es pour le dĂ©pannage. Tout autre trafic entrant est refusĂ© par dĂ©faut, et les rĂšgles peuvent ĂȘtre configurĂ©es pour permettre d’autres types de trafic Ă  partir de machines appartenant Ă  d’autres rĂŽles spĂ©cifiques et/ou ayant des balises spĂ©cifiĂ©es.

ScĂ©nario ​

  • serveur NFS CWWK , ouvrir port 2049
  • Tous les hosts ont accĂšs au NFS

CrĂ©er des rĂŽles ​

Pour crĂ©er un rĂŽle, visitez la page RĂŽles de votre panneau d’administration de rĂ©seau dĂ©fini. CrĂ©ons un nouveau webserver-internalrĂŽle Ă  utiliser pour les serveurs Web d’un site interne. Commencez par cliquer sur le Addbouton en haut Ă  droite de la page et en remplissant le nom du rĂŽle (obligatoire) et une description (facultatif). Nous reviendrons sur ce rĂŽle et ajouterons des rĂšgles de pare-feu plus tard, mais pour l’instant, nous pouvons cliquer sur “Ajouter un rĂŽle” pour le crĂ©er.

Nous allons créer un autre rÎle pour user-nfsaussi, et nous pouvons voir les deux nouveaux rÎles dans la page de liste de rÎles:

Notez qu’en raison de la façon dont l’identitĂ© est gĂ©rĂ©e de maniĂšre sĂ©curisĂ©e, les noms de rĂŽle ne peuvent pas ĂȘtre modifiĂ©s aprĂšs leur crĂ©ation, mais les hĂŽtes peuvent ĂȘtre modifiĂ©s pour changer de rĂŽle. Les rĂšgles de pare-feu des rĂŽles peuvent ĂȘtre modifiĂ©es Ă  tout moment, et les mises Ă  jour seront automatiquement envoyĂ©es Ă  toutes les machines concernĂ©es. Les rĂŽles peuvent ĂȘtre supprimĂ©s tant qu’il n’y a pas d’hĂŽtes, de phares ou de relais utilisant le rĂŽle.

Ajout de rùgles de pare-feu ​

Par dĂ©faut, les rĂŽles n’ont qu’une seule rĂšgle de pare-feu, pour autoriser les requĂȘtes ping entre eux.

Ajout rĂšgle parefeu , ouverture port 2049

Cliquez sur le bouton “Ajouter une rĂšgle” pour appliquer la modification, mais notez que les modifications apportĂ©es aux rĂŽles ne sont pas enregistrĂ©es jusqu’à ce que le bouton “Enregistrer le rĂŽle” soit cliquĂ©, afin de minimiser le nombre de mises Ă  jour envoyĂ©es aux hĂŽtes sur le rĂ©seau.

Appliquer des rîles aux hîtes ​

Commençons par ajouter un hĂ©bergeur de serveur nfs. Visitez la page HĂŽtes, puis cliquez sur le bouton « Ajouter ». Choisissez un nom et cliquez sur le menu dĂ©roulant RĂŽle. Les hĂŽtes (ainsi que les phares et les relais) ne sont autorisĂ©s Ă  avoir qu’un seul rĂŽle.

Mise à jour ou création sur cwwk qui contient NFS

1
sudo dnclient enroll -code q_KalMjkPO2cCJMYHAvUSRbQr1pB3FRHK_GkVEyltkQ

Partage NFS

Réseau nebula créé via defined network web ui CIDR 10.139.100.0/24

Sur l’un des hosts (debian 13) est installĂ© un serveur NFS V4 pour partager le dossier /sharenfs /etc/exports

1
/sharenfs 10.139.100.0/24(rw,no_root_squash,no_subtree_check)

Le port 2049 (NFV4) est ouvert : 2049/tcp ALLOW IN 10.139.100.0/24

Je souhaite que tous les autres hosts puissent accĂšder au partager

Comment configurer le host qui détient le serveur NFS ainsi que les autres host

ParamĂ©trage sur “defined network web ui” host, role (parefeu) ,tag, etc


Role parefeu user-nfs

Il va servir à paramétrer le parefeu pour ouverture du port 2049 sur le serveur NFS cwwk

host cwwk (NFS Serveur)

A ce host il faut ajouter le role user-nfs pour ouverture du port 2049

AprÚs toute mofification du host, cliquer sur les ... à droite sur la ligne du host en question puis sur Enroll. Copier la ligne de commande sudo ./dnclient enroll -code <ENROLL_CODE> et exécuter sur le host concerné

Les autres hosts

Pas de conditions particuliĂšres car le parefeu est ouvert pour les sorties

partage NFS

Configuration host 10.139.100.9 (NFS serveur) /var/lib/defined/config.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
firewall:
  default_local_cidr_any: false
  inbound:
  - description: Allow ping
    host: any
    port: any
    proto: icmp
  - description: Allow NFSv4 from clients
    groups:
    - role:user-nfs
    port: "2049"
    proto: tcp
  outbound:
  - host: any
    port: any
    proto: any
lighthouse:
  hosts:
  - fdef:c0:c0:f38:3a0f:28c6:84c3:668a
  - fdef:6d74:6c68:b820:347c:c7ab:4461:e6be
  interval: 60
listen:
  host: '[::]'
  port: 0
  read_buffer: 10485760
  write_buffer: 10485760
logging:
  format: text
  level: info
pki:
  blocklist:
  - 3e990f539b2d4fdd20dbf6cb6f60280fc1345e46f3dbd39f6c9a14bcc6582987
  ...
  - 328cdc00198cb5ec11d647970ddd75c1220b61b0d6bf1e90528fbdfb0500f8f6
  ca: |
    # Certificate Authority for yanfi@yanfi.net's Organization (network-JFCPIZDKPOQGBZRPHZROV36E4Q) - Fingerprint: acb65786cfaeac961b28ed3b277eeebe31fbfd1ab6606e64f5434c6577ff99dd (Expires: 2027-07-27T16:51:22Z)
    -----BEGIN NEBULA CERTIFICATE V2-----
    MIHUoG6AXUNlcnRpZmljYXRlIEF1dGhvcml0eSBmb3IgeWFuZmlAeWFuZmkubmV0
    ...
    ANoU3X2X4cqMrjDEtDzTekLmLgo91g0=
    -----END NEBULA CERTIFICATE V2-----
    # Certificate Authority for yanfi@yanfi.net's Organization (network-JFCPIZDKPOQGBZRPHZROV36E4Q) - Fingerprint: 9669d477043385277dfe694d3c2a3d994f56abb2ca392cb00317a7239041cda3 (Expires: 2028-07-27T16:51:22Z)
    -----BEGIN NEBULA CERTIFICATE V2-----
    MIHUoG6AXUNlcnRpZmljYXRlIEF1dGhvcml0eSBmb3IgeWFuZmlAeWFuZmkubmV0
    ...
    3FyVHWhYoQrSsCrp2Vas+mAUrKPkKAE=
    -----END NEBULA CERTIFICATE V2-----
    # Certificate Authority for yanfi@yanfi.net's Organization (network-JFCPIZDKPOQGBZRPHZROV36E4Q) - Fingerprint: 4d48d31382747f3c30b19e8d280131a65dabe7cd3d6d12214ee1ef86d290a68b (Expires: 2029-07-27T16:51:22Z)
    -----BEGIN NEBULA CERTIFICATE V2-----
    MIHUoG6AXUNlcnRpZmljYXRlIEF1dGhvcml0eSBmb3IgeWFuZmlAeWFuZmkubmV0
    ...
    iM4HyfU5JW1po8fbBwux15xck3fHtQc=
    -----END NEBULA CERTIFICATE V2-----
  cert: |
    -----BEGIN NEBULA CERTIFICATE V2-----
    MIHSoGyAD25mcy1jd3drLXNlcnZlcqEaBAUKi2QJGAQR/e8AwADADzg6D9X5eaht
    llCjDwwNcm9sZTp1c2VyLW5mc4UEamiZwYYEare07YcgrLZXhs+urJYbKO07J37u
    vjH7/Rq2YG5k9UNMZXf/md2CIKTPXeXni1fPWb4/Gj7RLhdZCxjFCgJw6d4wnoj4
    6d9ag0DsUyns7Lr6Vsnmgl9bTh2pBUTBhTJn/iHRRKltVnp7zrrl/kZP/OSNNA9K
    +FeG7NH/y/RfnhqeAXBFEHQPtCYI
    -----END NEBULA CERTIFICATE V2-----
  disconnect_invalid: true
  key: |
    -----BEGIN NEBULA X25519 PRIVATE KEY-----
    9SxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxfwU=
    -----END NEBULA X25519 PRIVATE KEY-----
punchy:
  punch: true
  respond: true
  target_all_remotes: false
relay:
  relays:
  - fdef:c0:c0:f38:3a0f:28c6:84c3:668a
  - fdef:6d74:6c68:b820:347c:c7ab:4461:e6be
static_host_map:
  10.139.100.8:
  - 164.132.198.38:54254
  fdef:6d74:6c68:b820:347c:c7ab:4461:e6be:
  - lh.defined.net:4242
  fdef:c0:c0:f38:3a0f:28c6:84c3:668a:
  - 164.132.198.38:54254
tun:
  dev: defined1
  drop_local_broadcast: true
  drop_multicast: true
  mtu: 1300
tunnels:
  drop_inactive: true
  inactivity_timeout: 2m0s

Configuration host (NFS client) /var/lib/defined/config.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
firewall:
  default_local_cidr_any: false
  inbound: []
  outbound:
  - host: any
    port: any
    proto: any
lighthouse:
  hosts:
  - fdef:c0:c0:f38:3a0f:28c6:84c3:668a
  - fdef:6d74:6c68:b820:347c:c7ab:4461:e6be
  interval: 60
listen:
  host: '[::]'
  port: 0
  read_buffer: 10485760
  write_buffer: 10485760
logging:
  format: text
  level: info
pki:
  blocklist:
  - 3e990f539b2d4fdd20dbf6cb6f60280fc1345e46f3dbd39f6c9a14bcc6582987
  ...
  - bd75ead783c015ea0e25bafa12269b7dc794e9b4176e46cdb5234c7c2d58c609
  ca: |
    # Certificate Authority for yanfi@yanfi.net's Organization (network-JFCPIZDKPOQGBZRPHZROV36E4Q) - Fingerprint: acb65786cfaeac961b28ed3b277eeebe31fbfd1ab6606e64f5434c6577ff99dd (Expires: 2027-07-27T16:51:22Z)
    -----BEGIN NEBULA CERTIFICATE V2-----
    MIHUoG6AXUNlcnRpZmljYXRlIEF1dGhvcml0eSBmb3IgeWFuZmlAeWFuZmkubmV0
    ...
    ANoU3X2X4cqMrjDEtDzTekLmLgo91g0=
    -----END NEBULA CERTIFICATE V2-----
    # Certificate Authority for yanfi@yanfi.net's Organization (network-JFCPIZDKPOQGBZRPHZROV36E4Q) - Fingerprint: 9669d477043385277dfe694d3c2a3d994f56abb2ca392cb00317a7239041cda3 (Expires: 2028-07-27T16:51:22Z)
    -----BEGIN NEBULA CERTIFICATE V2-----
    MIHUoG6AXUNlcnRpZmljYXRlIEF1dGhvcml0eSBmb3IgeWFuZmlAeWFuZmkubmV0
    ...
    3FyVHWhYoQrSsCrp2Vas+mAUrKPkKAE=
    -----END NEBULA CERTIFICATE V2-----
    # Certificate Authority for yanfi@yanfi.net's Organization (network-JFCPIZDKPOQGBZRPHZROV36E4Q) - Fingerprint: 4d48d31382747f3c30b19e8d280131a65dabe7cd3d6d12214ee1ef86d290a68b (Expires: 2029-07-27T16:51:22Z)
    -----BEGIN NEBULA CERTIFICATE V2-----
    MIHUoG6AXUNlcnRpZmljYXRlIEF1dGhvcml0eSBmb3IgeWFuZmlAeWFuZmkubmV0
    ...
    iM4HyfU5JW1po8fbBwux15xck3fHtQc=
    -----END NEBULA CERTIFICATE V2-----
  cert: |
    -----BEGIN NEBULA CERTIFICATE V2-----
    MIG+oFiADHZwcy01MzUxZjYxMKEaBAUKi2QLGAQR/e8AwADADzg6DycvCjMObFCF
    ...
    1tx9dubZZzabyIxL2ED1dKIXA1HpQqr3r4Zzr7PQWGzmHFLQH7mmYzNkOoV3+YcC
    BA==
    -----END NEBULA CERTIFICATE V2-----
  disconnect_invalid: true
  key: |
    -----BEGIN NEBULA X25519 PRIVATE KEY-----
    TXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtc=
    -----END NEBULA X25519 PRIVATE KEY-----
punchy:
  punch: true
  respond: true
  target_all_remotes: false
relay:
  relays:
  - fdef:c0:c0:f38:3a0f:28c6:84c3:668a
  - fdef:6d74:6c68:b820:347c:c7ab:4461:e6be
static_host_map:
  10.139.100.8:
  - 164.132.198.38:54254
  fdef:6d74:6c68:b820:347c:c7ab:4461:e6be:
  - lh.defined.net:4242
  fdef:c0:c0:f38:3a0f:28c6:84c3:668a:
  - 164.132.198.38:54254
tun:
  dev: defined1
  drop_local_broadcast: true
  drop_multicast: true
  mtu: 1300
tunnels:
  drop_inactive: true
  inactivity_timeout: 2m0s

Tester le montage

1
sudo mount -t nfs4 10.139.100.9:/sharenfs /sharenfs

Créer le point de montage

1
sudo mkdir -p /sharenfs

Modifier le fstab

1
sudo nano /etc/fstab

Ajouter la ligne suivante

1
2
# Le montage NFS cwwk réseau privé nebula 
10.139.100.9:/sharenfs /sharenfs nfs4 nofail,x-systemd.automount,x-systemd.device-timeout=10s 0 0

Recharger

1
2
sudo systemctl daemon-reload
sudo mount -a

Vérifier

1
ls /sharenfs
Cet article est sous licence CC BY 4.0 par l'auteur.