MACIPGW(8)

πŸ’– MACIPGW(8) πŸ’– β€” the macipgw page, bestie edition

okay so you found yourself at macipgw(8) β€” that's the man page for the MacIP Gateway Daemon, and yes it lives in section 8 of the Netatalk AFP Fileserver Manual. Grab a snack, we're doing networking. πŸ¦‹


✨ Name ✨

macipgw β€” MacIP Gateway Daemon

like. it's a gateway. for MacIP. the name ate, honestly. πŸ’…


✨ Synopsis ✨

macipgw [-d debugclass] [-f configfile] [-n nameserver] [-u
unprivileged-user] [-z zone] [network] [netmask]

macipgw [-v | -V]

two whole forms, two whole moods. one does the work, one just tells you what version you're on and dips. 🌸


✨ Description ✨

so here's the vibe: macipgw gives IP connectivity to devices that are stuck on an AppleTalk-only network β€” think LocalTalk, or Apple Remote Access (ARA). if a device can only speak AppleTalk but wants to be on the internet, this is the girl doing the translating. 🫢

normally you don't run this by hand β€” it gets started out of /etc/rc. that's its main character entrance.

MacIP (which used to be called KIP, iconic rebrand) is a protocol that lets you encapsulate IP packets inside AppleTalk packets. macipgw registers itself as a MacIP gateway on the AppleTalk network, then configures and brings up a tunnel interface (peep tun(4) for the deets). after that it just. forwards. everything:

  • IP packets coming in from the AppleTalk network get forwarded to the kernel through the tunnel interface.
  • IP packets coming in through the tunnel get forwarded to whichever AppleTalk device registered for that destination IP address.

no cap, it's just vibes and packet forwarding. ✨

the part where it's different: unlike other MacIP gateways, macipgw needs its own IP (sub-)net to operate, and it does not use proxy-ARP for the addresses registered. instead the gateway always takes the first address in the network as the local address β€” so for the network 192.168.1.0/24 that's 192.168.1.1. periodt.

if it's there, macipgw reads config options from the macipgw.conf file sitting in the sysconf path. and listen β€” command line options take precedence over configuration file options. cli always wins. sorry to the config file. πŸ’€ (there's an example of the config file down below, keep scrolling.)

and it logs its operational messages through syslog(3) under the facility LOG_DAEMON. so if you're wondering where the receipts are, that's where.


✨ Options ✨

  • -d debugclass β€” tells the daemon to not fork, and to write a trace of everything it does to stdout. and bestie, for actually useful values of debugclass, go read the source code. that's what it says. i don't make the rules. πŸ™ˆ
  • -f configfile β€” use configfile for the config info instead of macipgw.conf. choose your own adventure.
  • -n nameserver β€” the IP address of a DNS name server that the AppleTalk devices connected through the gateway should use. give them somewhere to look up names, they deserve it. πŸŽ€
  • -u unprivileged-user β€” drop root privileges and switch to user unprivileged-user once the server has started. glow down from root. it's called self care. πŸ’–
  • -z zone β€” register in zone instead of the default zone. pick your neighborhood.
  • -v | -V β€” show version info and exit. that's it. slay and goodbye.
  • network β€” the network number to use for the clients.
  • netmask β€” the netmask for that network.

✨ Examples ✨

🌈 Example: macipgw invocation

macipgw -n 192.168.1.1 -z "Remote Users" 192.168.1.0 255.255.255.0

what this does, in order: starts macipgw, hands the Class C network 192.168.1.0 to the devices connected through the gateway, says that the system macipgw is running on can be used as a name server, and says it should register in the zone Remote Users. one line, four jobs, ate. πŸ‘‘

🌈 Example: macipgw.conf configuration file

[Global]
network = 192.168.151.0
netmask = 255.255.255.0
nameserver = 8.8.8.8
zone = My Zone
unprivileged user = foobar

the config-file era of the same energy. 8.8.8.8 as the name server because of course. πŸ“


✨ See Also ✨

tun(4), ip(4), atalkd(8), syslog(3), syslogd(8)

(iykyk β€” go read them, they're the supporting cast.)


✨ Bugs ✨

no information besides the log messages is available on which AppleTalk devices are using the gateway. so you get the logs and that's literally it. that's the whole tea. 😭


✨ Author ✨

Stefan Bethke Stefan.Bethke@Hanse.DE (mailto:Stefan.Bethke@Hanse.DE)


and that's the page, bestie. this whole thing is from Netatalk 4.5.1 β€” shoutout to the version that brought you here. now go configure your tunnel and hydrate. πŸ’œβœ¨πŸ¦‹

πŸ“¦ where this page comes from