EtherTalk routing across Tailscale

ereuter

6502
I have my home and office networks integrated with Tailscale. Each sees the other as a subnet, facilitated by having a linux machine acting as a subnet router at each location. I'm trying to figure out what would be required to bridge EtherTalk between the two networks. I would also like to integrate LocalTalk. I have a EtherPrint doing this on one network at the moment, but I assume a TashRouter might accomplish both functions? If I put a TashRouter on each network, can I tell them to talk to each other across subnets?
 
I assumed one LToUDP or something like that would work, but I’m not clear on whether it supports EtherTalk.

I wouldn’t want to send every Ethernet frame on the network to the other network - just the ones relevant to EtherTalk. Maybe that’s trivial, but I don’t know how to do it.
 
I‘d just write some Python scripts which filter out DDP / AARP frames and send them over your network. I use a central MQTT broker as a hub for exactly this purpose. If you don‘t know how to write Python scripts, any good AI model will help you.
 
I have enough Python experience to know that this project would make me crazy. I was hoping someone else had already sorted it out and packaged it up.
 
The "proper" way to do it is tunnel AppleTalk over TCP/IP. Apple's AURP can do this via jrouter or, if you like period correct crashing, Apple Internet Router. All the hardware AppleTalk routers (Cayman Gatorbox, Shiva Fastpath, and Cisco boxes with AppleTalk capable IOS) do it too.
 
Without knowing anything about Tailscale, and since you want to also use Localtalk, then AppleTalk Internet Router with the IP Tunnel Extension may be what your looking for as already mentioned. The only problem is that it needs to run on a pre-OpenTransport Mac. Classic networking that is. This will tunnel LocalTalk and Ethertalk connected devices across subnets. You would need an instance of ATIR running on each subnet. It's kind of a hassle to set up but it works. Another idea is IPNetRouterX to bridge two subnets with LocalTalk bridge setup elsewhere on each subnet for the LocalTalk devices. Also macipgateway virtual machine with LocalTalk bridge running elsewhere on each segment for the LocalTalk devices, may work.
 
you do DDP over MQTT? My goodness. What's that for?
Although somehow inefficient, it has several advantages: No issues with multiple IP networks (routing) / multicasts like UDP multicasts, works securely over the Internet, you can "tap" every virtual network by a simple subscription. For me an ideal development playground... 😉
 
Although somehow inefficient, it has several advantages: No issues with multiple IP networks (routing) / multicasts like UDP multicasts, works securely over the Internet, you can "tap" every virtual network by a simple subscription. For me an ideal development playground... 😉

Yeah, I can see all that. Fun! Never thought about using MQTT as a generic multicast packet transport before but why not, I guess...

I have enough Python experience to know that this project would make me crazy. I was hoping someone else had already sorted it out and packaged it up.

Well, you basically have three options here. You have IP connectivity and you wish to run AppleTalk over it.
  1. As @NJRoadfan correctly says, the most "correct" option from an AppleTalk point of view is to run routers (or half-routers) at each end of the IP-only trunk, using some appletalk-over-IP tunnelling. This will minimise chatter over the Tailscale link and is probably architecturally the best solution. Documentation for GlobalTalk might help you here, since this is similar to what they do for that.

  2. You can run an emulated Ethernet link over the IP-only VPN using something like VXLAN or layer 2 GRE or Mikrotik's EoIP (which also sits on top of GRE). This will avoid you have to deal with AppleTalk routers but at the cost of more mucking about on the Ethernet level. It will also produce much more chat over the VPN link, which may be something you wish to avoid.

  3. Use a VPN type product which pretends to be actual ethernet and can be bridged to ethernet. This comes with the disadvantages of (2) but is much easier to set up. I believe Zerotier will do this.
LToUDP will not help you much here; with the aid of mucking about with multicast configuration on the machine you're terminating your Tailscale connection on, you could probably get it to work, but it's not going to be as effective by a long chalk. It is really designed for low-effort localtalk tunneling over single broadcast domains, not "sling DDP all over the Internet"
 
Back
Top