UDP Tunneling client/server

About BasiliskII, a 68k Mac emulator for Windows, MacOSX, and Linux that can run System 7.x through MacOS 8.1.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
Masaq'
Space Cadet
Posts: 9
Joined: Sun May 03, 2015 7:53 pm

UDP Tunneling client/server

Post by Masaq' »

UDP Tunneling would be more useful if it weren't limited to the local network. So I modified Basilisk II to send all tunneling traffic to a server instead, which can be installed anywhere on the Internet. The server component is a modified DOSBox IPX Tunneling server with IPX removed.

https://github.com/Masaq-/macemu
https://github.com/Masaq-/Ethernet-UDP-Tunnel

So far I've successfully copied files by AppleShare over a four-station server-tunneled AppleTalk network.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: UDP Tunneling client/server

Post by adespoton »

Neat! You could even install this on a cloud service, and have mutliple enthusiasts connect to a virtual AppleTalk network :)
Masaq'
Space Cadet
Posts: 9
Joined: Sun May 03, 2015 7:53 pm

Re: UDP Tunneling client/server

Post by Masaq' »

For fun, how to add purely cosmetic AppleTalk zones to a UDP tunneling server with netatalk and socat.

Launch an Ethernet UDP Tunneling Server.

Code: Select all

java Main 6066 &
Make a dummy interface, make a tap device, and shovel packets into the UDP tunnel.

Code: Select all

sudo modprobe dummy
sudo socat tun,iff-no-pi,iff-up,tun-type=tap udp:127.1:6066
Add these lines to /etc/netatalk/atalkd.conf and start netatalk.

Code: Select all

dummy0 -seed -phase 2 -net 1 -addr 1.1 -zone "No Parking"
tap0 -seed -phase 2 -net 2-200 -addr 200.200 -zone "Parking Lot"
Clients that connect to the UDP tunneling server on port 6066 find themselves in the Parking Lot with an empty zone in the Chooser called No Parking.


And for my next trick, connecting a UDP Tunnel to The Internet, with qemu and socat.

Code: Select all

java Main 6066 &
sudo qemu-system-i386 -m 1 -net nic -net tap,ifname=tap1 -net user -nographic 
sudo socat interface:tap1 udp:127.1:6066
At which point the UDP Tunnel is a virtual Ethernet switch using QEMU as a virtual NAT box.

There must be a better way! But this is so very funny because it just works so well.
Post Reply