
Pour partager des fichiers entre mes Macintosh j'avais l'habitude de passer par mon serveur FTP
configuré localement sur mon NAS ou en copiant les fichiers sur la carte MicroSD de mon BlueSCSI.
C'est pas pratique parce qu'on perd le fork de ressources des fichiers ce qui implique de les
compresser par exemple en .sit et ça demande pas mal de manipulations pénibles.
En ce moment j'utilise principalement 4 machines :
- mon ordinateur principal sur une version récente de Mac OS ;
- un PowerMac G3 sur Mac OS 9 connecté en Ethernet ;
- un Macintosh LC475 sur Mac OS 7.5 connecté en Wifi à travers le BlueSCSI (émulation Daynaport) ;
- un Macintosh SE sur le système 6.0.7.
J'ai trouvé un peu par hasard un boitier Micro AsantéPrint conçu pour permettre à un Macintosh d'accéder à des imprimantes situées sur un réseau Ethernet, le boitier se branche au port série de l'ordinateur et fait simplement une conversion LocalTalk (AppleTalk sur port série) vers EtherTalk (AppleTalk sur réseau Ethernet).
AppleTalk est le protocole réseau historique du Mac, supporté nativement par toutes les versions du système, il permet de mettre en place très facilement des partages de fichiers entre deux machines branchées directement ensemble par un câble série ou entre plusieurs machines reliées au même réseau.
AppleTalk n'est pas du TCP/IP, le support de TCP/IP dans Mac OS se fait via MacTCP pour les systèmes
6 et 7 puis via OpenTransport à partir de Mac OS 7.5. AppleTalk n'est plus supporté
par les dernières versions de macOS mais les partages de fichiers AppleShare le sont toujours
à travers TCP/IP (afp://) !

Pour en revenir au Micro AsantéPrint : ma première difficulté a été de l'alimenter en électricité. Je l'ai reçu sans son transfo d'origine et sur l'étiquette c'est marqué 12V alternatif ! Finalement j'ai démonté un vieil adaptateur secteur linéaire qui trainait chez moi, j'ai enlevé tous les composants pour garder juste le transformateur qui sort 10 ou 20V~ selon comment on se branche, je me suis branchée de sorte à avoir 10V~ à vide (8,5 en charge), c'est du bricolage mais ça fonctionne très bien !
D'un côté le AsantéPrint est connecté au Macintosh SE par le port série mini-DIN et de l'autre il est connecté au réseau local en Ethernet. Aucune configuration ni installation de pilote n'est nécessaire. Mes Macintosh se voient entre eux mais le SE ne peut toujours pas accéder à mon FTP ni à Internet parce qu'il ne communique qu'en AppleTalk ou en encapsulant TCP/IP dans AppleTalk via MacTCP et le Asanté fait juste la conversion entre le port série et l'Ethernet. D'après ce que je comprends un vrai adaptateur réseau SCSI comme le Daynaport émulé par le BlueSCSI fonctionne nativement en TCP/IP, genre il a une adresse MAC (mdr) et comprend quels paquets lui sont adressés.
Mes objectif étaient donc les suivants :
- mettre en place un partage AppleShare sur mon NAS accessible en permanence sur n'importe quel Macintosh et aussi sur mon ordinateur moderne ;
- accéder au réseau local en IP et à Internet depuis le Macintosh SE avec le boitier AsantéPrint.
Et après pas mal de temps j'y suis arrivée !
Pour réussir cette mission nous allons avoir besoin des trois mousquetaires de la distribution :
le logiciel serveur Netatalk, la passerelle MacIPgw
et le système d'exploitation NetBSD !
J'ai choisi NetBSD parce qu'il offre toujours le support du protocole AppleTalk ! C'est compilé dans le noyau de la release x86 mais c'est pas le cas pour toutes les architectures !
Mise en place de la VM dans TrueNAS
Configuration du réseau
La VM doit être mise en réseau en mode bridge, c'est normalement plutôt simple à mettre en place mais j'ai pas mal galéré avec ça sur TrueNAS donc je vous donne les étapes :
- dans l'interface web, aller dans System/Network ;
- retirer l'IP fixe de l'interface réseau physique ;
- cliquer sur Add puis ajouter une interface bridge ;
- donner à l'interface bridge l'IP qu'on a retiré à l'interface physique ;
- dans Bridge Members ajouter l'interface physique.

Une fois que c'est fait, il faut appliquer les paramètres et redémarrer la machine parce que la connexion ne se réinitialise pas toute seule. En expérimentant j'ai perdu la connexion au NAS plusieurs fois mais ces paramètres sont modifiables facilement depuis une interface semi-graphique accessible depuis la machine en connectant un clavier et un moniteur.
C'est important que la VM soit en mode bridge parce qu'elle doit apparaitre sur le réseau local comme si c'était une machine physique comme les autres. Chez moi le NAS est sur 192.168.1.100 et la VM est sur 102.
Moi j'utilise des IP fixes mais je pense que vous pouvez passer par des IP attribuées par DHCP sans problème, par contre dans ce cas configurez le serveur DHCP pour que les IP ne bougent pas sinon ça va être chiant !
Création de la VM
La mise en place de la VM ensuite se fait simplement, il faut la mettre en réseau sur le bridge qu'on s'est éreintés à configurer, lui donner un peu de mémoire, un peu d'espace disque et une image ISO de NetBSD.
- Le système consomme environ 50 Mo de mémoire quand on ne lui demande rien, c'est certainement pas mal de mettre un peu plus, 1 Go fait largement l'affaire.
- L'OS et les outils prennent au total 650 Mo d'espace disque sachant que les Macintosh de l'ère 68k ne gèrent pas les volumes d'une taille supérieure à 2 Go (c'est géré et limité par Netatalk) vous pouvez faire vos math.
Installation et configuration de NetBSD

NetBSD c'est du UNIX un peu à l'ancienne mais c'est pas chiant du tout ! C'est ma première expérience avec cet OS et j'ai bien aimé !
L'installation se fait simplement en suivant les étapes du programme d'installation, j'ai choisi le partitionnement par défaut et une installation minimale (c).
Toujours dans l'installation, après la mise en place du système de base,
c'est important de configurer le réseau (a) en choisissant un hostname et il faut que
l'IP ne bouge pas, moi j'ai spécifié l'IP manuellement. Vous pouvez en profiter pour activer le serveur SSH (g)
et éventuellement créer un utilisateur autre que root - si vous le faites c'est su pour passer en root.
La config du serveur SSH est dans /etc/ssh/sshd_config comme sur Linux je crois.
Après l'installation vous pouvez revenir au programme d'installation avec la commande
sysinst!
NetBSD utilise par défaut pkgsrc pour gérer les paquets, il faut ajouter une source :
# PKG_PATH="http://ftp.fr.netbsd.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r|cut -f '1 2' -d.)/All/"
# export PKG_PATH
Maintenant vous pouvez télécharger et installer des paquets avec pkg_add ! Une bonne occasion
pour installer un éditeur de texte un peu moins chelou que l'espèce de
vi fourni par défaut, moi j'ai
installé vim mais nano est aussi disponible.
Il existe aussi l'outil pkgin de plus haut niveau pour installer, supprimer et surtout mettre à jour les paquets comme le font apt ou dnf mais il n'est pas installé par défaut et n'est pas indispensable ici donc je vais pas m'embêter avec ça.
Installation et configuration de Netatalk
En un coup de cuillère à pot :
# pkg_add netatalk
Si c'est ok on a du texte qui nous indique que des scripts sont dispo dans un dossier d'exemple.
Ces scripts qui servent à contrôler les services peuvent aller dans /etc/rc.d/ ! Pas de systemd ici,
surtout ne dites rien à Lennart 😎
# cp /usr/pkg/share/examples/rc.d/timelord /etc/rc.d/timelord
# cp /usr/pkg/share/examples/rc.d/papd /etc/rc.d/papd
# cp /usr/pkg/share/examples/rc.d/netatalk /etc/rc.d/netatalk
# cp /usr/pkg/share/examples/rc.d/macipgw /etc/rc.d/macipgw
# cp /usr/pkg/share/examples/rc.d/atalkd /etc/rc.d/atalkd
# cp /usr/pkg/share/examples/rc.d/a2boot /etc/rc.d/a2boot
# cp /usr/pkg/share/examples/netatalk/netatalk.pam /etc/pam.d/
On ne va pas se servir de tous les services mais une fois qu'ils sont dans rc.d on peut facilement les démarrer ou les arrêter comme on le souhaite. Le fichier pam sert pour l'authentification centralisée je crois, moi je m'en sers pas mais si jamais on peut le retrouver facilement.
atalkdest le démon AppleTalk (indispensable)netatalkest le serveur de fichiers AppleShare/AFPmacipgwest une passerelle qui décapsule/encapsule IP dans AppleTalka2bootest un serveur de boot pour faire démarrer un ordinateur Apple II à travers le réseaupapdest un serveur d'impression AppleTalktimelordest un serveur de temps pour synchroniser l'heure
La configuration
de Netatalk se passe dans /usr/pkg/etc/netatalk/afp.conf, je vous montre mon fichier :
![]()
[Global]
hostname = NetBSD
appletalk = yes
afp listen = 192.168.1.102
uam list = uams_clrtxt.so uams_guest.so
[mac]
volume name = Partage NetBSD
path = /afp
legacy volume size = yes
unix priv = no
invisible dots = yes
hostname: c'est le nom de machine qui apparait dans le Sélecteur sur Macintoshappletalk: le partage est accessible à travers un réseau AppleTalk (et pas juste à travers IP)afp listen: l'IP du serveur (pour monter le partage avec afp://192.168.1.102 sur macOS moderne !)uams_clrtxt.so: le partage est accessible aux utilisateurs du système avec leur nom d'utilisateur et mot de passeuams_guest.so: le partage est aussi accessible en invité, sans mot de passevolume name: nom du partage (on peut en faire plusieurs pour chaque machine)path: dossier du volume, pensez à le créer et lui donner les bonnes permissions de manière chirurgicale (un bon vieux chmod 777 t'as compris)legacy volume size: parce que Mac OS 7.1 et inférieur ne gère pas les volumes de plus de 2 Gounix priv = no: on va pas se casser le cul avec les permissionsinvisible dots: rend invisible les fichiers cachés UNIX sur les clients Macintosh classiques
Ça suffit déjà pour le partage de fichiers ! Pour tester il faut démarrer atalkd et netatalk :
# service atalkd onestart
# service netatalk onestart
Ensuite vous démarrez un Macintosh connecté au même réseau, vous allez dans le Sélecteur et vous
devriez voir le partage apparaître ! Réciproquement, avec la commande nbplkup vous devez
voir le Macintosh apparaître !
netatalk# nbplkup
192.168.2.1:IPGATEWAY 65280.58:72
NetBSD:AFPServer 65280.58:128
netatalk:netatalk 65280.58:4
netatalk:Workstation 65280.58:4
AsantéPrint 94765C9A:AsantéPrint 65295.15:252
Macintosh SE:Macintosh SE 65295.16:253
Pour que Netatalk se lance automatiquement avec la VM il faut ajouter dans /etc/rc.conf les
deux lignes suivantes :
atalkd=YES
netatalk=YES
Le partage doit aussi être accessible sur macOS moderne en allant dans le Finder, menu Aller puis Se connecter au serveur (ou juste Cmd-K) puis en rentrant l'adresse afp://...
Passerelle AppleTalk - TCP/IP
Cette partie traite de la configuration de MacIPgw pour permettre à mon Macintosh SE d'accéder aux autres machines en IP et à Internet en passant par le boitier AsantéPrint. Si vous avez un BlueSCSI ou n'importe quelle vraie carte réseau ce qui suit n'est pas nécessaire.
On part du préalable que le Macintosh est connecté sur un réseau Ethernet à travers une liaison série LocalTalk et que les outils MacTCP et MacTCP Ping téléchargeables ici sont présents.
Au commencement, Dieu créa un tunnel et activa le IP forwarding. Ce fut le premier jour.
# ifconfig tun0 create
# sysctl -w net.inet.ip.forwarding=1
Normalement en faisant ifconfig vous voyez votre tunnel tun0 sans IP et down, c'est normal
il sera autoconfiguré par MacIPgw.
Dieu configura MacIPgw. Ce fut le deuxième jour.
On crée le fichier /usr/pkg/etc/netatalk/macipgw.conf avec :
[Global]
network = 192.168.2.0
netmask = 255.255.255.0
nameserver = 192.168.1.100
Pareil vous adaptez la config, dans network j'ai choisi un sous-réseau en 192.168.2.x mais vous pouvez mettre ce que vous voulez. Le nameserver c'est le DNS, le mien est sur 100 mais vous pouvez mettre 8.8.8.8 par exemple (Google 😡)
Dieu mit en place un NAT. Ce fut le troisième jour.
Pour que les paquets destinés au Macintosh arrivent à destination on configure un NAT.
Dans /etc/npf.conf :
map wm0 dynamic 192.168.2.0/24 -> 192.168.1.102
group default {
pass in all
pass out all
}
Vous adaptez en remplaçant 192.168.1.102 par l'IP de votre VM, 192.168.2.0 par le sous-réseau
et wm0 par le nom de l'interface réseau principale telle qu'affichée dans ifconfig.
Puis on applique la config et on lance npf :
# npfctl reload
# npfctl start
Dieu dit « lançons la passerelle ! » et cela se passa ainsi. Ce fut le quatrième jour.
On lance la passerelle :
# service macipgw onestart
Maintenant sur le Macintosh il faut configurer MacTCP :
- pour l'adresse IP n'importe quoi dans le sous-réseau ira genre 192.168.2.15 (au pif)
- dans Options :
- obtenir l'adresse manuellement
- passerelle 192.168.2.1
- DNS : mettre
.(un point) dans domaine et l'IP d'un DNS genre 8.8.8.8 (Google 😡)
Après avoir redémarré, vous pouvez ouvrir MacTCP Ping et essayer de ping une adresse random. Côté NetBSD on peut voir ce qui se passe avec tcpdump !
La commande ci-dessous permet de voir les paquets AppleTalk qui atteignent la VM (pensez à adapter wm0).
# tcpdump -i wm0 -n atalk
La commande ci-dessous permet de voir les paquets convertis par MacIPgw dans le tunnel. Si vous voyez quelque chose là-dedans c'est que la passerelle fonctionne ; il faut que le Macintosh soit démarré après la mise en route du service macipgw !
# tcpdump -i tun0 -n
La commande ci-dessous permet de voir les paquets destinés à une adresse (par exemple celle d'un ping) une fois ressortis du tunnel. Si le NAT fonctionne, l'origine du paquet est affichée comme 192.168.1.102 (dans ma config) ; si vous voyez l'origine réelle 192.168.2.x alors il y a un problème et le ping finit probablement en timeout.
# tcpdump -i wm0 -n dst 8.8.8.8
Dieu regarda tout ce qu'il avait fait, et il constata que c'était très bon. Il persista la configuration.
# echo create > /etc/ifconfig.tun0
# echo net.inet.ip.forwarding=1 >> /etc/sysctl.conf
Dans /etc/rc.conf :
macipgw=YES
npf=YES
Les connexions FTP en mode actif ne sont pas possibles à travers le NAT c'est pour ça que Fetch sur le Macintosh renvoie une erreur liée à
PORT, je n'ai pas trouvé de solution mais je n'ai plus besoin d'utiliser le FTP.
Pour conclure
Les partages AppleShare sont hyper pratiques ! J'aurais vraiment du me pencher sur ça plus tôt. C'est pas si dur à configurer une fois qu'on a pris les outils en main et la possibilité de partager des fichiers entre des Macs de n'importe quelle époque sans plus jamais avoir de souci du fork de ressource qui se barre c'est juste magique.
La possibilité de se connecter en IP depuis une liaison LocalTalk c'est très pratique aussi : juste deux câbles à brancher, pas de pilote à installer et rien à démonter.
Le seul inconvénient du LocalTalk c'est sa faible vitesse, environ 200 kb/s d'après ce que j'ai lu, la vitesse a l'air similaire à celle du lecteur de disquettes.
Si comme moi vous aimez les Macintosh 68k vous avez peut-être déjà entendu parler de NetBSD parce que c'est je crois le seul UNIX (avec A/UX) qui fonctionne sur cette architecture !

« Loin du tumulte moderne des grandes distributions linux et de systemd il existe encore des petits coins de paradis paisibles où il fait bon vivre comme le petit village de NetBSD où d'authentiques artisans unixiens façonnent leur système d'exploitation comme autrefois ! »
En cas d'erreur ou de problème je vous encourage à m'écrire sous ce toot pour que je puisse corriger la page ou vous aider 👇