functions.m4: Actually set the IPv6 options.
[firewall] / bookends.m4
index 69a721e..f451c8d 100644 (file)
@@ -38,6 +38,8 @@ preserve_chains="filter:fail2ban filter:fail2ban-* $preserve_chains"
 ## Take the various IP versions in turn.
 unref=nil
 for ip in ip ip6; do
+  if [ "$FW_NOACT" ]; then break; fi
+
   for table in $(cat /proc/net/${ip}_tables_names); do
 
     ## Step 1: clear out the builtin chains.
@@ -111,6 +113,10 @@ case $host_type_<::>FWHOST in
 esac
 setopt ip_forward $forward
 setdevopt forwarding $forward
+case $forward in
+  0) inchains="INPUT" ;;
+  1) inchains="INPUT FORWARD" ;;
+esac
 
 ## Set dynamic port allocation.
 setopt ip_local_port_range $open_port_min $open_port_max
@@ -207,10 +213,12 @@ case $forward in
            -m addrtype --dst-type BROADCAST
     run iptables -A FORWARD -g bad-destination-address \
            -d 224.0.0.0/24
+    clearchain check-fwd-multi
     for x in 0 1 2 3 4 5 6 7 8 9 a b c d e f; do
-      run ip6tables -A FORWARD -g bad-destination-address \
-           -d fe${x}2::/16
+      run ip6tables -A check-fwd-multi -g bad-destination-address \
+           -d ff${x}2::/16
     done
+    run ip6tables -A FORWARD -j check-fwd-multi -d ff00::/8
     ;;
 esac