• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

MacIPgw virtual machine for TCP/IP on your old Mac

mactjaap

Well-known member
A fresh new topic for the MacIPgw virtual machine. I move this item out of the Lounche to Hacks & Development

The MacIPgw virtual machine is way of connecting your old Macintosh to the Internet. You will need a LocalTalk bridge connect the Macintosh to your network in combination with this virtual machine.

Commonly used Ethernet bridges like a Asante Talk or Dayna (mini) EtherPrint can bridge LocalTalk and EtherTalk.

(http://lowendmac.com/network/bridge.shtml)

You can connect Macintosh computers over LocalTalk with the use of cabling between the printer ports. On this kind of network it is not possible to “speak” TCP/IP right away. To speak TCP/IP on a LocalTalk network it is necessary to encapsulate Internet Protocol (IP) packets within the AppleTalk DDP protocol. To do this right you need a piece of hardware or software to do this.

I found out that a 15 year old piece old software was recently updated by its author Stefan Bethke. I wrote him an email and he told me that the software now compiles on modern FreeBSD and Linux. On this software the MacIPgw virtual machine is based.

Version 2.0 is now the current version of MacIPgw virtual machine. I publish it as VirtualBox Appliance. The file is a Open Virtualization Format Archive.

It is the most simple way in distributing the virtual machine. Just download the .ova file ( 273 MB) and import it in VirtualBox. This is done under File / import Appliance.

Be sure that the network device is on Network Bridge Adapter.

What is new or improved in version 2.0:

- sshd started at boot. You can login with ssh

- ftpd started at boot. You can login with ftp

- telnetd started at boot. You can login with telnet

- DNS started at boot. Full working name server. You can point your Macintosh to 172.16.2.1 as DNS server.

- Host name resolution. You can point to gw.macip.net and it is resolved as 172.16.2.1 and you can point to mac.macip.net as your Macintosh with IP address 172.16.2.2

- motd updated. You now see information about IP configuration if booted.

Issues:

- named start at boot is strange. Had to make a small hack in cron to get it working. Will reload its configuration every minute.

- Security. No firewall in place. Please use on secure private LAN.

- No support for file sharing. FTP only.

To set up MACIPGW, follow these steps:

• Download and install VirtualBox. https://www.virtualbox.org/wiki/Downloads

• Download http://www.macip.net/wp-content/uploads/macipgw-v2.0.ova'>http://www.macip.net/wp-content/uploads/macipgw-v2.0.ova MacIPgw-v2.0.ova virtual machine. (226MB)

• Open VirtualBox, and choose “Import Appliance…” from the File menu. Select the file you downloaded (MacIPgw-v2.0.ova).

• Click Import.

• When it’s done importing, click MacipGW v2.0, then click Settings, then click Network.

• Ensure that “Attached To:” is set to “…Bridged Adapter”.

• Click OK.

• Start him up! Select MacipGW v2.0 and click on green arrow…Start

The virtual machine will get IP adres 172.16.2.1. You can give your old school Mac IP address 172.16.2.2 and as gateway 172.16.2.1 and it will work. You can also set DNS in MacTCP on 172.16.2.1

I’m very interested in your opinion about this virtual machine so I invite you to test it and give some feedback!

Some usefull links:

http://www.macip.net

http://www.geekvenue.net/chucktips/jason/chuck/986883054/index_html

http://netatalk.sourceforge.net/

http://sourceforge.net/p/macipgw/code/ci/master/tree/

http://sourceforge.net/p/macipgw/code/ci/2b571ba047dc829f75528e88303da67a10d0b537/

http://en.wikipedia.org/wiki/AppleTalk

http://en.wikipedia.org/wiki/LocalTalk

http://en.wikipedia.org/wiki/MacIP

 

mactjaap

Well-known member
I have tested the setup also with the LocalTalk Bridge control panel. It really works fine!

You can download it at the Apple web site:

http://support.apple.com/kb/DL1258

Now the setup becomes even more simple. You only need a somewhat modern Mac ( Quadra/ LC, etc) with Ethernet. No more need for LocalTalk bridging hardware.

I my setup I'm running the LocalTalk bridge on a networked Quadra 800. My PowerBook 100 is connected over the printer port to the printer port of the Quadra 800. Just put the control panel on its place (Control panel map in system map of the Quadra...) and be sure that the control panel is: On and Network Access: public

localtalkbridgeIsOn.jpg.a93ce17615c0c7737b9a01d41e4ddff9.jpg


Your AppleTalk control panel has to be on EtherTalk. TCP settings stay the same as with LocalTalk hardware bridge 172.16.2.2 as IP address and 172.16.2.1 as gateway and DNS.

 

mactjaap

Well-known member
Today I did a new test. MacIPgw virtual machine and Open Transport. On my Quadra I setup TCP/IP with the help of Open Transport 1.1.1.

I configured MacIP manually. It is running System 7.6.

I gave the Quadra IP address 172.16.2.12 and as gateway 172.16.2.1. DNS also on 172.16.2.1.

I all worked right away! So MacIPgw virtual machine and Open Transport… supported!

TCP/IP Settings:

Connect Via: AppleTalk ( MacIP)

Configure: Using MacIP Manually

IP address: 172.16.2.12

Router address: 172.16.2.1

Name server addr.: 172.16.2.1

 

NJRoadfan

Well-known member
What type of NIC is in your host machines? Also what is the IP configuration of your main network?

I haven't gotten this working at all on my network here and I am trying to locate the source of the problem. I have confirmed someone else is also having the same troubles.

 

mactjaap

Well-known member
I made some screenshots to clarify the setup of the virtual machine.

macipgw-01.JPG

First picture is on the third machine I tested on. A Windows XP Home edition. An old simple machine with a Broadcomm 440x network card.

macipgw-02.JPG

Second picture shows that you need a Bridged adapter.

macipgw-03.JPG

Third picture is that you see how your network cards are setup ( automaticly) by the MacIPgw virtual machine. Login as root with password macipgw.

Give the command ifconfig

And you will see. Please give what you see or make a picture.

macipgw-04.JPG

Forth picture shows what I see if I give the command nbplkup on the virtual machine. Here you can actualy see the other Macintosh and gateway and 172.16.2.12 IP address of my Quadra, connected with Open Transport 1.1.1 by manual MacIP configuration.

My network has a straight forward setup. My router is 192.168.62.1, connected by its WAN to the internet. All computers startup with DHCP and get IP addresses in the range 192.168.62.2 - 192.168.62.100. The virtual machine now has 192.168.62.13. The Macintosh part get IP adresses in the 172.16.2.0 range.

First start with testing only from macintosh to MacIPgw virtual machine. Try a Telnet to 172.16.2.1 or gw.macip.net from your old Mac. If that works we can connect it to the Internet with some changes on your Internet router.

 

mactjaap

Well-known member
Also some pictures of my Quadra setup ( Open Transport) and MacTCP setup on my PowerBook 100. Click on the image and you will be able to read it.....

foto1.JPG

Open Transport

foto2.JPG

MacTCP

foto3.JPG

MacTCP

 

MacJunky

Well-known member
I am having some trouble getting this to work.

Using BeigeG3 as a software bridge (localTalk Bridge) and a PB1400 as a client(172.16.2.2) with the virtual machine running on a PC with windows 8 I can(from PB1400) log into the gateway VM but cannot talk to anything outside the gateway VM, such as anything on the internet or my 192.168.0.x network.

Also, if this is supposed to be google's DNS server, I think there is one too many eights:

l0x43c5yl0jwnrbnf5zk.png.c963a2f89855bb0090e2d4745397eb0d.png


ifconfig:

xmu07yfplfo5fqhmntbz.png.68e915dffff24f7ebe55a29f05a325ff.png


nbplkup:

ksnaeiz07v18b2ier6u0.png.ecbbbb6f89b0488b1a65801a99a22ca3.png


Running in debug mode trying to connect to a FTP server by it's IP addy using Transmit 1.6:

dudqm8r6vidt3lhmwqrc.png.9e505c44b07f6cdea6cfdbc2b24e8c95.png


in this case that is ftp.mozilla.org

But after a bit of a wait tosses an error saying it cannot connect to the server.

BeigeG3 is 433MHz, 768MB RAM, OS 9.2.2, Realtek RTL8139 NIC.

PB1400 is 1400cs/133, 32MB RAM, System 7.6.1 & Mac OS 8.6.

destop win8 PC is Intel i7 4770k, ASUS Maximus 6 Hero, 16GB RAM, Windows 8, onboard Intel NIC.

I have the same problem when running the gateway VM on my windows 8 running HP DV4 notebook with Intel 7260 802.11ac NIC.

I did make sure to allow virtualbox through the firewall on both PC.

What am I missing here? Not having the correct IP for google's DNS should not matter to just ping a machine on the main LAN.

*Mid-post Edit:

I forgot that I had IPRemote and MacIPX installed on the Beige G3. This is after disabling those:

gg690a7cwa577glfswyj.png.65077a724bad023c22579bd3a10d0354.png


But PB1400 still cannot communicate with the main LAN.

 

mactjaap

Well-known member
Hi MacJunky,

Thank you for your email.

I think the situation is like this.

You can connect from your LocalTalk only machine to the MacIPgw. That's great because 99% of the work is done.

The only point is now to test DNS and configure your main router so that it can find your 172.16.2.x network.

Testing DNS. Login on the MacIPgw with root and password macipgw

Type in: nslookup

You will get a kind of shell like this >

Type in: server 172.16.2.1 (then hit enter....)

Type in: mac.macip.net (then hit enter....)

It will resolve like this:

Non-authorative answer:

Name: mac.macip.net

Address: 172.16.2.2

If this works, your DNS is OK.

Then for the router part. Look at my router as example. In Advanced I can add a static route. You tell your router( I guess with IP adress 192.168.0.1.. could be different) that he can find a route to the 172.16.2.x network on your MacIPgw virtual machine. In your case the 192.168.0.83

router.JPG

Network Address Subnet Mask Gateway

172.16.2.0 255.255.255.0 192.168.0.83

Now all your computers in your internal network kan find your LocalTalk only mac and the other way around.

Test it and let me know.

You can also test in only for your windows PC by adding a static route

in the cmd prompt:

Test it with:

route ADD 172.16.2.0 MASK 255.255.255.0 192.168.0.83

You now can ping to 172.16.2.2...BUT only when a TCP/IP application is running, like Fetch (FTP) or NSCA Telnet.

If it works you can set a persistant route by this:

route -p ADD 172.16.2.0 MASK 255.255.255.0 192.168.0.83

I hope you get it working!! It is nice to surf the Internet on a only LocalTalk connected Mac!!!

I hope you continue testing... you are almost there.. and you are the first person on earth really using it ( besides myself :) )

 

MacJunky

Well-known member
Awesome, I never thought to use a static route.

Working:

transmit.png

Thank you for the assistance and the pre-made vbox appliance.

 

NJRoadfan

Well-known member
A static route might be what my setup needs, but really, the VM's network stack should be handling it. I don't think macipgw supports same-net addressing like the Fastpath or Gatorbox though. I'll have to give this another shot sometime this weekend.

 

MacJunky

Well-known member
I would also like to say that I finally got this working with my AsanteTalk box. And yes, my RT-AC66U has no issue negotiating with this specific piece of hardware, I guess that is mostly just a thing with some other old stuff.

What I *think* worked in the end(swapping the LocalTalk<->Ethernet machine out with the asantetalk) was essentially just the order everything started up.

More trial and error required to narrow the order down though.

And to be honest, what a hassle.

Now to sort out a ringdown box, because apparently I wasted my money trying to use a VoIP box with modems.

It sort of works, but is slow and extremely unreliable. If anyone has tips on Cisco/Linksys VoIP units and modems please let me know.(in another thread or PM of course, since it is off topic here)

 

NJRoadfan

Well-known member
What type of modems? Many claim to be compatible with VoIP services, but only one specific model works 100% with Caller ID and such.

 

MacJunky

Well-known member
I want to actually dial into another machine without having to faff around with settings then run back and forth across the house to answer the call. Serial cables or USB adapters not allowed. Just dial in like we did in the old days but using some cable poked through walls/ceiling/floor.

 

mactjaap

Well-known member
@MacJunky

Great that it works!!!! :)

I already thought that it would be your internal LAN routing. You now are the world wide, official, first, (much appreciated) user of MacIPgw (besides myself....)

You are right about the hassle. But that is not strange for network issues. Specially AppleTalk/TCP IP issues...

You idea of starting up everything fresh is good. Also with FastPath or IPNetrouter you can have this kind of issues. I have two FathPath's and a machine with IPNetrouter...so I can know!

My advice is to start up your MacIPgw first. Then boot your LocalTalk only Mac if connected with a LocalTalk only bridge. If you have a software LocalTalk bridge fire up that Mac first and finally the LocalTalk only Mac. You will see that it works.

@NJRoadfan

It would be great if you could do some more testing this weekend. I didn't had any feedback on this besides you and MacJunky. It would be great to know what I can improve. About your network issues. The VM machine is not capable of handling the routing to the 172.16.2.0/24 network by itself. This is done on the FreeBSD box. The 172.16.2.0/24 network can be reached by it's tun0 device. The tun0 device simulates a network layer device and it operates with layer 3 packets such as IP packets.

These are the routing tables.

Code:
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.62.1       UGS         0        0    em0
localhost          link#3             UH          0    16481    lo0
172.16.2.0         link#4             UH          0        0   tun0 =>
172.16.2.0         172.16.2.1         US          0      980   tun0
172.16.2.1         link#4             UHS         0        0    lo0
192.168.62.0       link#1             U           0     2805    em0
192.168.62.10      link#1             UHS         0        0    lo0
As you can see the FreeBSD box with internal LAN address 192.168.62.10 know where to find the default gateway ( my internet router) and the 172.16.2.0/24 network. That is why you have to tell your default router that the route to the 172.16.2.0/24 can be found on the IP address of your MacIPgw.

About MacIPgw ( http://www.macip.net)

I'm working on a version 2.1 where I will fix some minor details like:

- Stopping the logfiles and cron from flooding the disk

- More free disk space

- gw.macip.net and mac.macip.net are now resolved by DNS

- Installed nmap for testing

- Some more old services are starting up, besides telnetd and ftpd also tftpd, finger, daytime are started. Nice for testing old MacTCP applications.

- Fixed typo in start up script which gave the impression that there was an 8 to much in macipgw dns resolver.

For 2.2 I'm thinking of more applications on the MacIPgw box, like lynx, mutt, etc. Maybe also make a kind of NAT solution to handle with the problem of adding a static route on your default router....

My goal is to have a MacIP gateway which is not to difficult to run and without any costs. If you have two Mac's, one with a network card and LocalTalk bridge control panel and one with LocalTalk only it already is enough. If you have one Mac with a hardware LocalTalk bridge only it also works.

So.... all readers of the forum are invited to test!!! I'm more then happy to help with your setup and to answer your questions.

 

JAG

Well-known member
Where is the author hosting the source code for the new version of macipgw?

I'd like to compile and install it on a real machine.

 

Andrew

Well-known member
Hello all!,

I am trying to combine macipgw (vm edition) with sfiera multitalk and mini vmac but I cannot establish communication.

In multitalk I see packets from both minivmac and macipgw however no shares are shown on mini vmac.

Has anyone tried something similar? Is this even possible? In theory this should work, right? (I am using a minivmac build with localtalk enabled - LToUDP).

I tried running multitalk both on the host pc (macos) and inside the vm itself
 
Top