Set IP address manually?

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

Post Reply
tendim
Space Cadet
Posts: 2
Joined: Sat Jan 16, 2021 3:01 pm

Set IP address manually?

Post by tendim »

Some background: I'm trying to set up a SheepShaver VM to act as a fileserver for my classic environment, which is a couple of PowerBooks running System 7.6.1 up to Mac OS 8.6. I don't have an extra machine to run as a dedicated always-on fileserver, but I thought I could run SheepShaver to act as a fileserver on my Intel Mac Mini (Running macOS 10.14, Majove).

I've managed to get SheepShaver up and running; for my test I'm using Mac OS 8.1. Specifying the ethernet device as "slirp" (no quotes), I can get the machine onto my intranet (i.e. I can access my internal FTP server at address 192.168.x.x). However, because the built-in DHCP uses a 10.x.x.x IP address, and the rest of my LAN is 192.168.x.x, I can't figure out how to ping the VM from other devices on my LAN (i.e. from a machine on the 192.168.x.x subnet, I can't ping the SS VM which is 10.0.2.15).

Questions:
  • How can I ping / connect to the VM?
  • Barring this, how can I set the VM to use a static address, e.g. set it to 192.168.0.100 myself?
Thanks.
User avatar
Cat_7
Expert User
Posts: 5239
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Set IP address manually?

Post by Cat_7 »

Hi,

That issue is not easily solved with SheepShaver on your host.
First of all, slirp networking provides a private DHCP server and NAT network address translation. That is the reason for the 10.0.2.x ip-addresses. Slirp does not allow ping to pass through the network. That would not have to be a problem as long as other services would pass the NAT. However, they do not pass the network.

This can be solved by using a tap device as network interface between SheepShaver and your Mac and bridge that with your actual network card (provided it has a wired connection). That way your SheepShaver could get a IP address from your actual DHCP server (our use a manual address) and be visible from other computers in your network.

I'll continue this post once I get my Mac Mini with Mojave booted up.
To get the tap device installed, you can first install brew, and then install the tuntap package: brew install --cask tuntap
(whether this requires SIP to be disabled, I cannot tell, as it had been disabled on my machine already).

Then things become a bit blurry: I don't remember whether our old guide to running SheepShaver with a tap device still works with this setup. However, I did just fire up a SheepShaver that has the so-called etherhelper included. And that activated the tap device and bridged it with my default network card, resulting in shares being visible on the network.

Whether your SheepShaver version was compiled with the etherhelper support built in, I don't know. But if it is, you can use etherhelper/tap0/bridge0/en0 where you would otherwise enter slirp. Note that you would have to check whether a bridge with that name already exists, and whether your network card is actually called en0. You can adjust the parameters to use a bridge name not yet occupied and set the correct name for the network card.

Best,
Cat_7
tendim
Space Cadet
Posts: 2
Joined: Sat Jan 16, 2021 3:01 pm

Re: Set IP address manually?

Post by tendim »

Hi.
This can be solved by using a tap device as network interface between SheepShaver and your Mac and bridge that with your actual network card (provided it has a wired connection). That way your SheepShaver could get a IP address from your actual DHCP server (our use a manual address) and be visible from other computers in your network.
Hm. My Mac Mini is on a wireless connection I'm afraid, so it looks like I may be out of luck.
Whether your SheepShaver version was compiled with the etherhelper support built in, I don't know. But if it is, you can use etherhelper/tap0/bridge0/en0 where you would otherwise enter slirp.
I'm using the pre-compiled binary from this forum. If I can substitute etherhelper/tap0/bridge0/en0... looking at ifconifg, my wifi connection looks to be mappedot en1. I'll have to do a test to see if that would work.

Thanks.
User avatar
Cat_7
Expert User
Posts: 5239
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Set IP address manually?

Post by Cat_7 »

Hi,

If you can't get this to work, there is also the option to run Mac OS 9 with Qemu. That way you can use port forwarding from inside Mac OS to your host.

This allows Appletalk over TCP/IP networking. The file server would not show up when you select Appletalk in the Chooser, but you can connect to the ip address of the host for access to the shares.

See guide here: https://www.emaculation.com/doku.php/pp ... mu-for-osx
and here for port forwarding:
https://www.emaculation.com/doku.php/pp ... networking

Best,
Cat_7
User avatar
Ronald P. Regensburg
Expert User
Posts: 6556
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Set IP address manually?

Post by Ronald P. Regensburg »

tendim wrote: Sun Jan 17, 2021 9:36 pm
Whether your SheepShaver version was compiled with the etherhelper support built in, I don't know. But if it is, you can use etherhelper/tap0/bridge0/en0 where you would otherwise enter slirp.
I'm using the pre-compiled binary from this forum. If I can substitute etherhelper/tap0/bridge0/en0... looking at ifconifg, my wifi connection looks to be mappedot en1. I'll have to do a test to see if that would work.
The 22 September 2020 SheepShaver build has built-in etherhelper support.
Post Reply