While the netifc interface doesn't show up in the Network Settings dialog, IP settings can still be configured using a cmdline tool like ifconfig, e.g.
ifconfig feth10000 192.168.0.10
The challenge is to make this a persistent setting that survives reboots.
Before you try the solution below, please consider to install a DHCP server in your system!
Most servers can be configured to only serve hosts with a specific MAC address and assign them a fixed IP,
which is pretty close to a static configuration.
It's so much easier. If that's not possible, read on...
...so Mac OS now uses launchd to launch scripts/daemons at runtime. netifc also has such a script in /Library/LaunchDaemons/de.rme-audio.netifc.plist.
One possible solution could be to create a custom script that waits for netifc to be running and assigns IP settings using ifconfig:
#!/bin/bash
#
# /usr/local/bin/netifc_static_ip.sh
# Waits for netifc process and assigns a static ip.
#
PROCESS=netifc
is_running=$(ps aux | grep -v grep | grep -ci $PROCESS)
while [ $is_running -eq 0 ]; do
sleep 5;
done
ifconfig feth10000 10.1.2.3
# pretend to be running for a while, otherwise launchd assumes
# the script has crashed
sleep 10;
Put this in /usr/local/bin/netifc_static_ip.sh (for example) and assign execution permissions.
Example launchd script, /Library/LaunchDaemons/de.rme-audio.netifc.staticip.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
<key>Label</key>
<string>de.rme-audio.netifc.staticip</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/netifc_static_ip.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Set permissions and load with
sudo launchctl load /Library/LaunchDaemons/de.rme-audio.netifc.staticip.plist
There might be more obvious and/or cleaner ways to achieve the same result, but this should do the trick.
Did I mention that using a DHCP server is much easier?
Anyway. Now that Mac OS focuses on DriverKit for user space driver solutions, there might be better solutions than netifc in the future. Let's see.
Best
Marc
P.S. use at your own risk