Red Hat Bugzilla – Bug 234174
netfilter modules and proc fs entries renamed
Last modified: 2007-11-30 17:12:00 EST
Description of problem:
Netfilter kernel modules have been moved _and_ renamed. Same for proc fs related
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. find /proc/sys/net | fgrep netfilter
2. modprobe ip_conntrack
Many modules now have a different name, proc entries even a different path,
breaking user scripts and maybe even /etc/sysconfig/iptables-config
I should point out that mine (untouched) contains a reference to
ip_conntrack_netbios_ns now named nf_conntrack_netbios_ns.
Modules named and proc entries (it affects sysctl "paths" as well) should not
This is nothing hard to handle, if you recover for initial panic... however,
this is security related, some firewall scripts of mine did break.
sysctl -w net.ipv4.netfilter.ip_conntrack_max=NNN
sysctl -w net.netfilter.nf_conntrack_max=NNNNN
Even ip_nat_ftp became nf_nat_ftp.
The sysctl and proc entries will be backwards-compatible in upcoming
For the module renaming there's not much we can do -- the upstream
kernel firewall code was rewritten.
Created attachment 151056 [details]
Modules and proc fs now
New paths and names
Created attachment 151057 [details]
Old paths and names
Old paths and names
# fgrep conntrack /etc/sysconfig/iptables-config
Annoying, at least. I understand the upstream issue, but this is something that
shouln't happen in a stable serie, IMHO. Anyway, from the distro user
standpoint, I expect a kernel update to bring almost no visibile changes to
Well we can live with it, but I think an update for iptables-1.3.5-1.2.1 is due,
too, as for any userspace packages that somehow uses the old names.
Or, ideally, the kernel rpm should look into obvious places (e.g.
/etc/sysconfig/iptables-config, /etc/sysctl.conf) and do some perl -pie magic.
I performed the update on a test host, but I do have a couple of production
firewalls with, say, ip_nat_ftp there because it's actually needed.
I created two attachments with the new and old paths, for reference.
Ok, I've searched more.
It turned out that the old names for modules should work. I've been reported
that on other systems that happens, so I guess there's something wrong with
mine. The kernel package contains /lib/modules/`uname -r`/modules.alias with
correctly maps the old named to the new ones, so you can do "modprobe
ip_conntrack_ftp" and it works. The only issue is if you parse "lsmod" output in
order to see if a module is loaded or not, but that's definitely a minor issue
(you'd better test for the functionality you need rather than for a certain
kernel module being loaded anyway).
So this part is actually NOTABUG.
As for the /proc and sysctl interfaces, there's a kernel compile configuration
flag, CONFIG_NF_CONNTRACK_PROC_COMPAT, which turns on compatibily mode. This
flag is disabled in the last kernel updates (2.6.20 ones).
According to Chuck, this will be fixed in upcoming updates. So I'm changing this
bug status to "NEXTRELEASE", which I find more appropriate. Thanks Chuck for you
prompt answer, and sorry for the fuss.