Beers, James W. wrote:
I created a test server running FreeBSD 6.1 and ipfilter 4.1.11 compiled
into the kernel. Again, an install off the 6.1 CD. Then I played with
cvsup and refreshed the source tree. I dutifully recompiled and
installed the kernel. No problems noted. Then I rebooted. The system
rebooted and came up but I couldn't contact it with ssh. So I made way
to the server and noticed ipfilter's ruleset was empty. Of course, my
default stance for the firewall is BLOCKALL, so that answers why I
couldn't get to the server. I did an ipf -V and was told that ipfilter
was runnning but that I had a user/kernel version mismatch. The user
binaries are 4.1.11 and the kernel binaries are 4.1.13. I've poked
around on this list, Google Groups, and Google but I can't seem to find
(or I'm missing) the instructions for fixing this problem.
Michal Mertl was probably correct that you didn't install (possibly
even build) a new world along with the new kernel. Had you done that,
your userland ipfilter utilities would have been upgraded to 4.1.13
along with the kernel. Then you would have ended up with IPFilter 4.1.13
which is included in 6-STABLE branch of FreeBSD nowadays.
For future reference, these are my "standard" steps for cvsup-based
FreeBSD upgrades on boxes where IPFilter is not the one included in
FreeBSD but instead downloaded and built separately (and needs to remain
so after the upgrade). Actually I have only one such box and it's
running FreeBSD 4.11, so the instructions probably need to be adjusted
for FreeBSD 6, which shouldn't be difficult. I've used this procedure
successfully several times.
Step 1.
Update the FreeBSD source code via cvsup
Step 2.
make buildworld
Step 3.
Unpack the IPFilter source code into a separate directory
(/home/build/ip_fil4.1.8)
Step 4 (probably optional).
Edit IPFilter's Makefile to enable the state top feature
(see instructions in the Makefile)
Step 5.
make freebsd4
Step 6.
make ip_rules.c
(may not be necessary with IPFilter versions newer than 4.1.8)
Step 7.
make install-bsd
Step 8.
BSD/kupgrade
Step 9.
make buildkernel, make installkernel and reboot to single user mode
Step 10.
make installworld
Step 11.
cd to /home/build/ip_fil4.1.8 and re-run 'make install-bsd'. If
upgrading has changed the output of `uname -r` then you need to
create a corresponding symlink in /home/build/ip_fil4.1.8/BSD in
order for this step to succeed.
Step 12.
Reboot to multiuser mode and enjoy your upgraded system :)
--
Toomas Aas