mirror of
https://github.com/fwbuilder/fwbuilder
synced 2026-03-21 10:47:16 +01:00
nat compiler for ipfilter work with interface column, however the column is not exposed to the user. Compiler behavior should be backwards compatible with older versions of fwbuilder.
98 lines
1.4 KiB
Bash
Executable File
98 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# This is automatically generated file. DO NOT MODIFY !
|
|
#
|
|
# Firewall Builder fwb_ipf v4.2.0.3480
|
|
#
|
|
# Generated Thu Feb 17 12:00:13 2011 PST by vadim
|
|
#
|
|
# files: * firewall35.fw /etc/firewall35.fw
|
|
# files: firewall35-ipf.conf /etc/firewall35-ipf.conf
|
|
# files: firewall35-nat.conf /etc/firewall35-nat.conf
|
|
#
|
|
# Compiled for ipf
|
|
#
|
|
# Testing action Custom
|
|
|
|
|
|
|
|
FWDIR=`dirname $0`
|
|
|
|
|
|
|
|
IFCONFIG="/sbin/ifconfig"
|
|
PFCTL="/sbin/pfctl"
|
|
IPFW="/sbin/ipfw"
|
|
IPF="/sbin/ipf"
|
|
IPNAT="/sbin/ipnat"
|
|
SYSCTL="/sbin/sysctl"
|
|
LOGGER="/usr/bin/logger"
|
|
|
|
log() {
|
|
echo "$1"
|
|
command -v "$LOGGER" &>/dev/null && $LOGGER -p info "$1"
|
|
}
|
|
|
|
diff_intf() {
|
|
func=$1
|
|
list1=$2
|
|
list2=$3
|
|
cmd=$4
|
|
for intf in $list1
|
|
do
|
|
echo $list2 | grep -q $intf || {
|
|
# $vlan is absent in list 2
|
|
$func $intf $cmd
|
|
}
|
|
done
|
|
}
|
|
|
|
verify_interfaces() {
|
|
:
|
|
|
|
}
|
|
|
|
set_kernel_vars() {
|
|
:
|
|
$SYSCTL -w net.inet.ip.forwarding=1
|
|
}
|
|
|
|
prolog_commands() {
|
|
:
|
|
|
|
}
|
|
|
|
epilog_commands() {
|
|
:
|
|
|
|
}
|
|
|
|
run_epilog_and_exit() {
|
|
epilog_commands
|
|
exit $1
|
|
}
|
|
|
|
configure_interfaces() {
|
|
:
|
|
|
|
}
|
|
|
|
log "Activating firewall script generated Thu Feb 17 12:00:13 2011 by vadim"
|
|
|
|
set_kernel_vars
|
|
configure_interfaces
|
|
prolog_commands
|
|
|
|
$IPF -Fa
|
|
$IPNAT -C
|
|
|
|
$IPF -I -f /etc/firewall35-ipf.conf
|
|
$IPNAT -f /etc/firewall35-nat.conf
|
|
|
|
|
|
$IPF -s
|
|
|
|
|
|
epilog_commands
|
|
|
|
/sbin/kldstat -n ipl.ko > /dev/null 2>&1 || $IPF -E |