Tauri System administrator documentation Documentation administrateur système

NetworkingRéseau

How Tauri names, configures and diagnoses network interfaces. The model is dynamic: addressing is applied at runtime, and serviceadm makes an interface come up automatically at every boot. Comment Tauri nomme, configure et diagnostique les interfaces réseau. Le modèle est dynamique : l'adressage s'applique à l'exécution, et serviceadm fait remonter une interface automatiquement à chaque boot.

Dynamic configurationConfiguration dynamique

Tauri configures the network dynamically: the IP address, netmask and gateway are applied at runtime with ifconfig or dhclient. To have an interface come up on its own at every boot, register the command as a boot service with serviceadm (see Automatic setup at boot). DNS and a few other settings are stored separately in @:/Elysee/config. Tauri configure le réseau de façon dynamique : l'adresse IP, le masque et la passerelle s'appliquent à l'exécution avec ifconfig ou dhclient. Pour qu'une interface se lève seule à chaque boot, enregistrez la commande comme service au boot avec serviceadm (voir Mise en route au boot). Le DNS et quelques autres réglages sont stockés à part dans @:/Elysee/config.

1. InterfacesInterfaces

Interfaces are named net0, net1, net2… — one per network card the kernel discovers. There is no eth0 and no lo interface. Each interface starts down, with no IP address and an MTU of 1500. Les interfaces s'appellent net0, net1, net2… — une par carte réseau détectée par le noyau. Il n'y a ni eth0, ni interface lo. Chaque interface démarre éteinte, sans adresse IP, avec un MTU de 1500.

The loopback still works without lo: 127.0.0.1 (and the whole 127.0.0.0/8) and the machine's own addresses reach its own servers — curl https://127.0.0.1/, ping 127.0.0.1, a website calling itself. Such traffic never goes out on a card. As soon as an interface has an address, 127.0.0.1 stands for that address: a local connection therefore shows the machine's own address as its peer, not 127.0.0.1. Conversely, a packet arriving from the network with a 127.x source or one of the machine's own addresses is dropped. Le bouclage fonctionne pourtant sans lo : 127.0.0.1 (et tout 127.0.0.0/8) et les adresses propres de la machine joignent ses propres serveurs — curl https://127.0.0.1/, ping 127.0.0.1, un site qui s'appelle lui-même. Ce trafic ne sort jamais sur une carte. Dès qu'une interface a une adresse, 127.0.0.1 désigne cette adresse : une connexion locale montre donc l'adresse propre de la machine comme correspondant, pas 127.0.0.1. À l'inverse, un paquet venu du réseau avec une source 127.x ou l'une des adresses propres de la machine est rejeté.

EnvironmentEnvironnement InterfacesInterfaces
QEMU net0 (user-mode NAT, outbound) and net1 (the tap0 interface reachable from the host at 172.16.100.2). Configure net1.net0 (NAT user-mode, sortant) et net1 (l'interface tap0 joignable depuis l'hôte en 172.16.100.2). C'est net1 qu'on configure.
Real hardwareMatériel réel One netN per Intel i350 port found. A single-port card gives net0.Un netN par port Intel i350 détecté. Une carte à un port donne net0.

List the interfaces (root only) — run ifconfig with no arguments: Lister les interfaces (root uniquement) — lancer ifconfig sans argument :

ifconfig

Each line shows the flags, MTU, MAC (ether), IP (inet), netmask and broadcast. The gateway is not shown here — see sysinfo net in Diagnostics. Chaque ligne indique les flags, le MTU, la MAC (ether), l'IP (inet), le masque et le broadcast. La passerelle n'apparaît pas ici — voir sysinfo net dans Diagnostics.

Note

The usage line mentions -a, but that flag is not implemented — plain ifconfig is the working "list all" form. La ligne d'usage mentionne -a, mais ce drapeau n'est pas implémenté — ifconfig seul est la forme « tout lister » qui fonctionne.

2. Configure an interfaceConfigurer une interface

All configuration requires root (uid 1). There are two ways to bring an interface online: a DHCP lease, or a static setup. Toute configuration exige root (uid 1). Deux façons de mettre une interface en service : un bail DHCP, ou une configuration statique.

Option A — DHCPOption A — DHCP

dhclient net1

Obtains a lease and applies the address, netmask and gateway at runtime. It also saves the DNS servers persistently (the only thing it persists). DHCP is not run automatically at boot — you invoke it yourself. Obtient un bail et applique l'adresse, le masque et la passerelle à l'exécution. Il enregistre aussi les serveurs DNS de façon persistante (la seule chose qu'il persiste). Le DHCP n'est pas lancé automatiquement au boot — vous l'invoquez vous-même.

Option B — StaticOption B — Statique

# address + prefix (CIDR)# adresse + préfixe (CIDR)
ifconfig net1 172.16.100.2/24
# …or address + explicit netmask# …ou adresse + masque explicite
ifconfig net1 172.16.100.2 netmask 255.255.255.0

ifconfig net1 gateway 172.16.100.1     # set the default gateway# définir la passerelle par défaut
ifconfig net1 up                       # bring the interface up# activer l'interface
CommandCommande EffectEffet
ifconfig net1 up / downBring the interface up or down.Active ou désactive l'interface.
ifconfig net1 A.B.C.D/NSet IPv4 address with a CIDR prefix (0–32).Fixe l'adresse IPv4 avec un préfixe CIDR (0–32).
ifconfig net1 A.B.C.D netmask M.M.M.MSet IPv4 address with an explicit mask.Fixe l'adresse IPv4 avec un masque explicite.
ifconfig net1 gateway G.G.G.GSet the interface's default gateway.Définit la passerelle par défaut de l'interface.

These commands mirror the QEMU host setup on the Tauri side: with the host TAP at 172.16.100.1, give net1 the address 172.16.100.2 and the gateway 172.16.100.1. Ces commandes reflètent, côté Tauri, la configuration de l'hôte QEMU : le TAP de l'hôte étant en 172.16.100.1, donnez à net1 l'adresse 172.16.100.2 et la passerelle 172.16.100.1.

3. Automatic setup at bootMise en route au boot

Since addressing is dynamic, you make it automatic with serviceadm: it registers a command as a boot service in Cerbère's persistent watch table, so the interface comes up on its own after every reboot — including after a power cut. L'adressage étant dynamique, on le rend automatique avec serviceadm : il enregistre une commande comme service au boot dans la table persistante watch de Cerbère, de sorte que l'interface se lève seule après chaque redémarrage — y compris après une coupure de courant.

serviceadm add net root never dhclient net1

Form: serviceadm add <name> <user> <policy> <cmd...>. Policy never means "run once at boot, don't restart" — right for a one-shot network setup. For a fixed address, point it at a small startup script that runs the static ifconfig commands (address, gateway, up): Forme : serviceadm add <name> <user> <policy> <cmd...>. La policy never signifie « lancer une fois au boot, sans redémarrage » — adapté à une mise en place réseau unique. Pour une adresse fixe, pointez-le vers un petit script de démarrage qui exécute les commandes ifconfig statiques (adresse, passerelle, up) :

serviceadm add net root never sh c:/user/root/sh/net.sh
Note

Changes take effect at the next reboot — Cerbère reads the table only at its own startup, so serviceadm starts nothing immediately. Root only. See the serviceadm reference for list / del and the policy values. Les changements prennent effet au prochain reboot — Cerbère ne lit la table qu'à son propre démarrage, donc serviceadm ne lance rien immédiatement. Root uniquement. Voir la fiche serviceadm pour list / del et les valeurs de policy.

4. DNSDNS

The DNS servers are persistent — they are the exception. They live in the settings table @:/Elysee/config under section resolv.conf, key nameserver. The name resolver reads this list on every lookup and uses the last entry. dhclient writes it automatically; you can also set it by hand: Les serveurs DNS sont persistants — c'est l'exception. Ils résident dans la table de réglages @:/Elysee/config, section resolv.conf, clef nameserver. Le résolveur de noms lit cette liste à chaque requête et prend la dernière entrée. dhclient l'écrit automatiquement ; vous pouvez aussi la définir à la main :

sql UPDATE @:/Elysee/config/ SET valeur='9.9.9.9' \
    WHERE section='resolv.conf' AND clef='nameserver'
Note

The default seeded resolver is 10.0.2.3 (the QEMU user-mode DNS). Set a real resolver for a production deployment. Check resolution with dnslookup <host>. Le résolveur par défaut est 10.0.2.3 (le DNS user-mode de QEMU). Définissez un vrai résolveur pour un déploiement en production. Vérifiez la résolution avec dnslookup <hôte>.

5. The settings storeLa table de réglages

@:/Elysee/config is not an INI file — it is a small TauriFS database table with three text columns: section, clef (key), valeur (value), one row per setting. It holds the settings that persist across reboot: @:/Elysee/config n'est pas un fichier INI — c'est une petite table de base de données TauriFS à trois colonnes texte : section, clef, valeur, une ligne par réglage. Elle contient les réglages qui persistent au redémarrage :

sectionclefPurposeRôle
resolv.confnameserverDNS server(s)Serveur(s) DNS
timezonestd_offset, dst_offset, ruleTime zone and DSTFuseau horaire et heure d'été
keyboardlayoutKeyboard layout (also via the clavier command)Disposition clavier (aussi via la commande clavier)
smtpserver, from, to, user, passwordOutgoing mail (used by mail, rapport and the self-service pages — see Mail)Courrier sortant (utilisé par mail, rapport et les pages de libre-service — voir Mail)
webdomainePublic name of the service, used in every link sent by e-mail (see Hosting)Nom public du service, employé dans chaque lien envoyé par courriel (voir Hébergement)
ftppasv_min, pasv_maxFTPS passive port range (see SSH/FTP)Plage de ports passifs FTPS (voir SSH/FTP)

Read it with ls @:/Elysee/config/ and edit it with the sql tool (UPDATE/INSERT). Note there is no key for IP address, netmask or gateway — those are runtime state, by design. Consultez-la avec ls @:/Elysee/config/ et modifiez-la avec l'outil sql (UPDATE/INSERT). Notez qu'aucune clef ne concerne l'adresse IP, le masque ou la passerelle — ce sont des états runtime, par conception.

6. DiagnosticsDiagnostics

From Tauri's shell:Depuis le shell de Tauri :

CommandCommandeShowsAffiche
sysinfo netOne line per interface: MAC, IP, mask, gateway, MTU and RX/TX drop counters.Une ligne par interface : MAC, IP, masque, passerelle, MTU et compteurs de pertes RX/TX.
sysinfo arpThe ARP table (IP → MAC).La table ARP (IP → MAC).
sysinfo netstatTCP connections and their state.Les connexions TCP et leur état.
sysinfo udpstatUDP sockets and their bound interface.Les sockets UDP et leur interface liée.
ping <host>ICMP reachability and round-trip time.Joignabilité ICMP et temps d'aller-retour.
dnslookup <host>Resolve a name to an IPv4 address.Résout un nom en adresse IPv4.
NextSuite

Next: serving websites (web root, virtual hosts, SNI) and TLS/ACME. Ensuite : servir des sites web (racine web, hôtes virtuels, SNI) et TLS/ACME.