Pfinet is a TCP/IP stack from an old linux version. It works but is not maintained. Recently Recently lwip, which is an userspace tcp/ip library, was ported to the Hurd, which can serve as a direct replacement for pfinet.

To configure Internet connectivity, the pfinet (Protocol Family Internet) translator must be configured. This is done using the settrans command, for example like this:

# settrans -fgap /servers/socket/2 /hurd/pfinet ↩
    -i /dev/eth0 -a 192.168.0.50 -g 192.168.0.1 -m 255.255.255.0

The argument /server/socket/2 is the node that the translator is to be attached to. This is followed by the translator program to run and any arguments to give it.

There, -i, -a, -g and -m are, quite obviously, the (Mach) device to use, the IP address, the gateway and netmask.

You can see your currently running pfinet's options via

$ fsysopts /servers/socket/2 # provides IPv4
/hurd/pfinet --interface=/dev/eth0 --address=ADDRESS --netmask=NETMASK --gateway=GATEWAY --address6=ADDRESS --address6=ADDRESS --gateway6=::

$ fsysopts /servers/socket/26 # provides IPv6
/hurd/pfinet --interface=/dev/eth0 --address=ADDRESS --netmask=ADDRESS --gateway=GATEWAY --address6=ADDRESS --address6=ADDRESS --gateway6=::

To make DNS lookups work, you'll also have to properly configure the /etc/resolv.conf file, for example by copying it over from your GNU/Linux installation.