run ip46tables -A $chain -g forbidden
done
+## Allow stuff through unknown tables.
+for ip in ip ip6; do
+ for table in $(cat /proc/net/${ip}_tables_names); do
+ case $table in mangle | filter) continue ;; esac
+ ${ip}tables -nL -t $table |
+ sed -n '/^Chain \([^ ]\+\) (policy .*$/ s//\1/p ' |
+ while read chain; do
+ run ${ip}tables -t $table -P $chain ACCEPT
+ done
+ done
+done
+
m4_divert(-1)
###----- That's all, folks --------------------------------------------------
--- /dev/null
+### -*-sh-*-
+###
+### Firewall configuration for fender actual
+###
+### (c) 2008 Mark Wooding
+###
+
+###----- Licensing notice ---------------------------------------------------
+###
+### This program is free software; you can redistribute it and/or modify
+### it under the terms of the GNU General Public License as published by
+### the Free Software Foundation; either version 2 of the License, or
+### (at your option) any later version.
+###
+### This program is distributed in the hope that it will be useful,
+### but WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+### GNU General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with this program; if not, write to the Free Software Foundation,
+### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+###--------------------------------------------------------------------------
+### Config settings.
+
+## This host isn't a router.
+setconf(forward, 0)
+
+## This host is involved in a routing asymmetry.
+setconf(rp_filter, 0)
+setconf(log_martians, 0)
+
+###--------------------------------------------------------------------------
+### Network interfaces.
+
+m4_divert(44)m4_dnl
+## Interface definitions.
+if_untrusted=eth0
+if_dmz=$if_untrusted
+if_safe=$if_dmz
+if_trusted=$if_dmz
+if_vpn=$if_dmz
+if_iodine=$if_dmz
+if_its_mz=$if_dmz
+if_its_pi=$if_dmz
+
+m4_divert(-1)
+###--------------------------------------------------------------------------
+### fender-specific rules.
+
+m4_divert(82)m4_dnl
+## Externally visible services.
+allowservices inbound tcp \
+ ssh \
+ ident
+
+## We have to provide NTP service. The guests sync to our clock.
+ntpclient inbound $ntp_servers
+
+m4_divert(-1)
+###----- That's all, folks --------------------------------------------------
allowservices inbound udp \
siplo:siphi
+## IMPI client hacking.
+run ip46tables -A inbound -j ACCEPT \
+ -m state --state ESTABLISHED \
+ -p udp --source-port $port_ipmi
+
m4_divert(-1)
###----- That's all, folks --------------------------------------------------