]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/initscripts/init.d/firewall
firewall: Load conntrack modules in firewall script.
[people/teissler/ipfire-2.x.git] / src / initscripts / init.d / firewall
index 7db39085dde4a1248ec2149e5223bafabb1bda7b..1d4146d2c9c91696a7f769bdba17b7f8937daf8f 100644 (file)
@@ -209,11 +209,6 @@ iptables_init() {
        iptables -N UPNPFW
        iptables -A FORWARD -m conntrack --ctstate NEW -j UPNPFW
 
-       # run local firewall configuration, if present
-       if [ -x /etc/sysconfig/firewall.local ]; then
-               /etc/sysconfig/firewall.local start
-       fi
-
        # Apply OpenVPN firewall rules
        /usr/local/bin/openvpnctrl --firewall-rules
 
@@ -297,10 +292,38 @@ iptables_red() {
 # See how we were called.
 case "$1" in
   start)
+       boot_mesg "Loading firewall modules into the kernel"
+       modprobe iptable_nat || failed=1
+       for i in $(find /lib/modules/$(uname -r) -name nf_conntrack*); do
+               modprobe $(basename $i | cut -d. -f1) || failed=1
+       done
+       for i in $(find /lib/modules/$(uname -r) -name nf_nat*); do
+               modprobe $(basename $i | cut -d. -f1) || failed=1
+       done
+       (exit ${failed})
+       evaluate_retval
+
+       if [ -e /var/ipfire/main/disable_nf_sip ]; then
+               rmmod nf_nat_sip
+               rmmod nf_conntrack_sip
+               rmmod nf_nat_h323
+               rmmod nf_conntrack_h323
+       fi
+
+       boot_mesg "Setting up firewall"
        iptables_init
+       evaluate_retval
+
+       # run local firewall configuration, if present
+       if [ -x /etc/sysconfig/firewall.local ]; then
+               /etc/sysconfig/firewall.local start
+       fi
        ;;
   reload)
+       boot_mesg "Reloading firewall"
        iptables_red
+       evaluate_retval
+
        # run local firewall configuration, if present
        if [ -x /etc/sysconfig/firewall.local ]; then
                /etc/sysconfig/firewall.local reload