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.
DHCP.
IPv6.
eth-filter: Firewall.