#!/bin/sh # network : ipv4.ipv4.ipv4.ipv4/mask || dns/mask # clients : PROTO ; PORT ; IFACE ; IFACE ; IFACE .... | # servers : PROTO ; PORT ; IFACE ; IFACE ; IFACE .... | # Only intranet local network="$network;0.0.0.0/0" # [ FTP ] #modprobe ip_conntrack_ftp #modprobe nf_conntrack_ftp #firewallInitActiveFtp local clients="$clients|TCP ;rsync " local servers="$servers|TCP ;rsync " #for subnet in $(echo "$network" | tr -s ';' ' ');do # # icmp (echo-reply:0/0, echo-request:8/0) # local ruleIn="$ruleIn ;icmp | -d "$fwdNet" -s "$subnet" -p icmp --icmp-type 8/0 -m state --state ESTABLISHED,RELATED,NEW" # local ruleOut="$ruleOut;icmp | -s "$fwdNet" -d "$subnet" -p icmp --icmp-type 0/0 -m state --state ESTABLISHED,RELATED" # local ruleIn="$ruleIn ;icmp | -d "$fwdNet" -s "$subnet" -p icmp --icmp-type 0/0 -m state --state ESTABLISHED,RELATED" # local ruleOut="$ruleOut;icmp | -s "$fwdNet" -d "$subnet" -p icmp --icmp-type 8/0 -m state --state ESTABLISHED,RELATED,NEW" # # icmp (host-unreachable:3/1, port-unreachable:3/3, fragmentation-needed:3/4) # local ruleOut="$ruleOut;icmp | -s "$fwdNet" -d "$subnet" -p icmp --icmp-type 3/1 -m state --state ESTABLISHED,RELATED,NEW" # local ruleIn="$ruleIn ;icmp | -d "$fwdNet" -s "$subnet" -p icmp --icmp-type 3/1 -m state --state ESTABLISHED,RELATED,NEW" # local ruleOut="$ruleOut;icmp | -s "$fwdNet" -d "$subnet" -p icmp --icmp-type 3/3 -m state --state ESTABLISHED,RELATED,NEW" # local ruleIn="$ruleIn ;icmp | -d "$fwdNet" -s "$subnet" -p icmp --icmp-type 3/3 -m state --state ESTABLISHED,RELATED,NEW" # local ruleOut="$ruleOut;icmp | -s "$fwdNet" -d "$subnet" -p icmp --icmp-type 3/4 -m state --state ESTABLISHED,RELATED,NEW" # local ruleIn="$ruleIn ;icmp | -d "$fwdNet" -s "$subnet" -p icmp --icmp-type 3/4 -m state --state ESTABLISHED,RELATED,NEW" #done