BSD vs Linux - Configuration

I assume some in the audience today are more familiar with configuring Linux or other systems than with BSD, so I'll briefly mention a few points about BSD configuration.

BSD network interfaces are not labeled eth0 and so on. The interfaces are assigned names which equal the driver name plus a sequence number, making 3Com cards using the xl driver appear as xl0, xl1, and so on, while Intel cards are likely to end up as em0, em1, SMC cards as sn0, and so on.

In general, the BSDs are organized to read the configuration from /etc/rc.conf, which is read by the /etc/rc script at startup. OpenBSD recommends using /etc/rc.conf.local for local customizations, since rc.conf contains the default values, while FreeBSD uses /etc/defaults/rc.conf to store the default settings, making /etc/rc.conf the correct place to make changes.

PF is configured by editing the /etc/pf.conf file and by using the pfctl command line tool. The pfctl application has a large number of options. We will take a closer look at some of them today.

In case you are wondering, there are web interfaces available for admin tasks, but they are not parts of the base system. The PF developers are not hostile to these things, but rather have not seen any graphical interface to PF configuration which without a doubt is preferable to pf.conf in a text editor, backed up with pfctl invocations and a few unix tricks.