version 2.36, 2006/01/12 20:05:34 |
version 2.37, 2006/01/13 18:32:36 |
|
|
|
|
for iface in $INTERFACES; do |
for iface in $INTERFACES; do |
IPS="IP_$iface"; |
IPS="IP_$iface"; |
|
|
|
redirect_tcp="${iface}_REDIRECT_TCP" |
|
REDIRECT_TCP="${!redirect_tcp}" |
|
redirect_udp="${iface}_REDIRECT_UDP" |
|
REDIRECT_UDP="${!redirect_udp}" |
|
|
accept_input_tcp="${iface}_ACCEPT_INPUT_TCP" |
accept_input_tcp="${iface}_ACCEPT_INPUT_TCP" |
ACCEPT_INPUT_TCP="${!accept_input_tcp}" |
ACCEPT_INPUT_TCP="${!accept_input_tcp}" |
accept_input_udp="${iface}_ACCEPT_INPUT_UDP" |
accept_input_udp="${iface}_ACCEPT_INPUT_UDP" |
ACCEPT_INPUT_UDP="${!accept_input_udp}" |
ACCEPT_INPUT_UDP="${!accept_input_udp}" |
|
|
|
if [ ! -z "$REDIRECT_TCP" ]; then |
|
echo -en "$iface: redirecting TCP connections:" |
|
ip="`get_first_ip_addr IP_$iface`"; |
|
for redirect in $REDIRECT_TCP; do |
|
eval `echo $redirect | \ |
|
awk -v FS=: ' (NF == 2) { remote_ip = "0.0.0.0/0"; from_port = $1; to_port = $2; } \ |
|
(NF == 3) { remote_ip = $1; from_port = $2; to_port = $3; } \ |
|
END { printf "remote_ip=%s; from_port=%s; to_port=%s;", remote_ip, from_port, to_port; }'` |
|
echo -en " $remote_ip:$from_port->$to_port" |
|
$IPTABLES -t nat -A PREROUTING -p TCP -i $iface -s $remote_ip -d $ip --dport $from_port -j REDIRECT --to-port $to_port |
|
done |
|
echo " done." |
|
fi |
|
|
|
if [ ! -z "$REDIRECT_UDP" ]; then |
|
echo -en "$iface: redirecting UDP connections:" |
|
ip="`get_first_ip_addr IP_$iface`"; |
|
for redirect in $REDIRECT_UDP; do |
|
eval `echo $redirect | \ |
|
awk -v FS=: ' (NF == 2) { remote_ip = "0.0.0.0/0"; from_port = $1; to_port = $2; } \ |
|
(NF == 3) { remote_ip = $1; from_port = $2; to_port = $3; } \ |
|
END { printf "remote_ip=%s; from_port=%s; to_port=%s;", remote_ip, from_port, to_port; }'` |
|
echo -en " $remote_ip:$from_port->$to_port" |
|
$IPTABLES -t nat -A PREROUTING -p UDP -i $iface -s $remote_ip -d $ip --dport $from_port -j REDIRECT --to-port $to_port |
|
done |
|
echo " done." |
|
fi |
|
|
if [ ! -z "$ACCEPT_INPUT_TCP" ]; then |
if [ ! -z "$ACCEPT_INPUT_TCP" ]; then |
echo -en "$iface: Accepting INPUT TCP connections on ports:" |
echo -en "$iface: Accepting INPUT TCP connections on ports:" |
for port in $ACCEPT_INPUT_TCP; do |
for port in $ACCEPT_INPUT_TCP; do |