Connecter un Macintosh Classic à Internet en LocalTalk

Comment connecter une vieille machine à Internet ? C’est une question intéressante, surtout quand elles ne possèdent pas d’Ethernet. Une solution existe pourtant pour les vieux Mac : LocalTalk.
mac-classic

Je commence par une vidéo (un peu longue) du résultat, pour changer. Genre quelques sites Web sur un Macintosh Classic. C’est un peu long, mais ça permet de bien voir que le 68000, ça n’accélère pas Internet.

Depuis le premier Macintosh, Apple propose en effet une technologie simple mais efficace et tous les modèles de la gamme peuvent se connecter à un réseau LocalTalk, la problématique étant généralement de passer de LocalTalk à un réseau classique. La solution classique, à l’époque, consistait à utiliser un routeur compatible LocalTalk, capable de faire la liaison entre un réseau Ethernet et un réseau Apple. Pratique, mais compliqué à mettre en oeuvre en 2015 : les routeurs sont rares et chers.

La seconde solution consiste à utiliser un adaptateur LocalTalk vers Ethernet (ça se trouve facilement) et à installer un routeur capable de faire la conversion ensuite. Ca demande un peu de matos et surtout de vieux routeurs Cisco avec un OS compatible, ce qui n’est pas vraiment pratique. Enfin, il reste possible d’utiliser un Mac qui possède de l’Ethernet et du LocalTalk, avec un logiciel qui va effectuer les transferts. Ce n’est vraiment pas pratique, vu qu’il faut une vieille machine qui va rester allumée juste pour ça.

La solution que j’ai utilisé offre un bon compromis : j’utilise un Raspberry Pi comme bridge, avec un adaptateur LocalTalk vers Ethernet. La conversion reste nécessaire parce que les adaptateurs permettent simplement de faire passer de l’AppleTalk (le protocole) sur un réseau Ethernet (voire de l’IP encapsulé dans de l’AppleTalk) mais pas du TCP/IP directement.

Le côté Raspberry Pi

Sur le Raspberry Pi, il faut un modèle avec une prise Ethernet et ensuite un autre moyen de se connecter au réseau. J’ai utilisé un adaptateur USB vers Ethernet, reconnu directement, mais c’est possible d’utiliser du Wi-Fi. première étape, installer A2Server. C’est un serveur AppleTalk qui va permettre de partager des données et – surtout – qui m’a été nécessaire plus tard.

Seconde étape, installer un logiciel qui va faire le pont entre l’IP encapsulée des vieux Mac et le TCP/IP de votre réseau. Il s’agit du portage Linux d’un ancien programme BSD, qui marche très bien.

Les étapes :

git clone https://github.com/zero2sixd/macipgw
cd macipgw
make
sudo make install

Ensuite, activez le routage interne sous Raspbian.

sudo sysctl -w net.ipv4.ip_forward=1

Redirigez le trafic vers la seconde interface réseau. Je m’explique : le logiciel va créer un second réseau (ici 192.168.2.0) et toutes les données qui arrivent dessus doivent être renvoyées sur l’interface connectée au Net, dans mon cas eth1 (mon adaptateur Ethernet). Si vous utilisez du Wi-Fi, c’est wlan0, etc.

sudo iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth1 -j MASQUERADE

Enfin, lancez le programme. Il faut fournir les DNS (8.8.8.8), le réseau du Mac (192.168.2.0) et le masque (255.255.255.0).

sudo macipgw -d0x111 -n 8.8.8.8 192.168.2.0 255.255.255.0

Le côté Mac

Le côté matériel, c’est simple : un adaptateur LocalTalk vers Ethernet. Il doit être relié au Mac (idéalement sur le connecteur imprimante) et au Raspberry Pi (sur l’interface interne) avec un câble quelconque. C’est tout.

Côté logiciel, ça va dépendre de votre Mac. J’ai essayé avec un Macintosh Classic sous System 7.0, ça a demandé un peu de boulot (y a pas mal d’infos là). Premièrement, les composants réseaux (Network Software Installer 1.5.1). Ensuite, AppleShare 3 (seule version qui passe sous System 7.0). Enfin, MacTCP, pour faire de l’IP over AppleTalk. C’est assez lourd de passer par des disquettes (seul moyen simple, vu que le but est justement d’installer le réseau).

Une fois que c’est fait, AppleShare devrait fonctionner et permettre de transférer des données entre tous vos appareils.

AppleShare

AppleShare

Maintenant, MacTCP : il faut donner une adresse dans le réseau créé (donc en 192.168.2.x dans mon exemple), mettre 192.168.2.1 comme Gateway et 8.8.8.8 comme DNS (un “.” comme Domain).

MacTCP

MacTCP


MacTCP

MacTCP

Le côté le plus ardu : le navigateur. Je n’ai pas choisi la facilité avec le Macintosh Classic : le 68000 à 8 MHz est lent, il n’a que 4 Mo de RAM et est installé sous System 7.0 (la flemme de MAJ l’OS). En gros, deux navigateurs passent avec ça : MacWeb 2.0 (plus d’infos là) et Mosaic 1.03. Dans les deux cas, c’est très compliqué : ils ne gèrent pas les serveurs HTTP modernes et donc énormément de site ne fonctionnent tous simplement pas. De plus, ils ne prennent ni les images, ni le javascript, ni pleins d’autres choses.

Quelques exemples de (vieux) sites qui marchent : Pacific Grand Prix, WestNet, un site de fan sur De Niro, un site sur la température, milk.com, une page sur Mosaic, la page de TinyTim ou something.

Sur le net

Sur le net

Avec une machine plus récente, à base de 68030 et avec plus de RAM, vous pouvez tenter Netscape 2 ou 4, c’est déjà nettement plus efficace. Il y a une liste de vieux navigateurs .