Pozwole się nie zgodzic, że to ściema, bo przekierowanie jest jednak zestawiane (sam mam takie

)
Analiza programu wskazuje, że dla SDI, gdzie ROUTER=dialup przekierowanie nie nastąpi
Masz racje, dlatego ten skrypt wypisuje:
Enabling port forwarding... Delayed
(nawiasem mówiac o to delayed jest dużo pytan

)
Przekierowanie zestawiane jest w chwili nawiazania polaczenia ppp przez skrypt:
/etc/ppp/ip-up#!/bin/sh
#
PATH=/bin:/etc:/tmp
export PATH
. /etc/system.cfg
. /etc/live.cfg
. /etc/chat.pwd
. /etc/dyndns.cfg
# Add commands here
#/rc/rcuser/rc_fire
# Don't edit below
case $ROUTER in dialup|leased)
[ $4 = 1.1.1.1 -o $4 = 1.1.1.2 ] && exit 0
I=$4
echo "Your inet addr: $4<br>ISP P-t-P: $5" >/tmp/state
for i in `cat /etc/forward.cfg`; do
set -- ""
if [ ! "`echo $i | sed -n /_/P`" ]; then
set -- `echo $i | sed s/,/\ /g`
ipportfw -A -$1 $I/$2 -R $3 #[color=red]TU[/color]
fi
done
[ "$DYNNAME" ] && fork dyndns $I
synctime;;
esac
exit 0
i kasowane przy przerwaniu polaczenia przez
/etc/ppp/ip-down#!/bin/sh
#
PATH=/bin:/etc:/tmp
export PATH
. /etc/system.cfg
. /etc/live.cfg
. /etc/chat.pwd
# Add commands here
#/rc/rcuser/rc_fire
# Don't edit below
case $ROUTER in dialup|leased)
[ $4 = 1.1.1.1 -o $4 = 1.1.1.2 ] && exit 0
I=$4
for i in `cat /etc/forward.cfg`; do
set -- ""
if [ ! "`echo $i | sed -n /_/P`" ]; then
set -- `echo $i | sed s/,/\ /g`
ipportfw -D -$1 $I/$2 #[color=red]TU[/color]
fi
done
rm -f /tmp/state
rm -f /tmp/connect
rm -f /wwa/dyndns.htm
rm -f /tmp/dyndns.htm
;;
esac
exit 0
Chodzi zapewne o to, ze przy zestawianiu polaczenia dialup, przed zestawieniem polaczenia nie jest znany adres IP interfejsu ppp0 i przekierowanie jest robione dopiero, jak adres ten zostanie podany.
Co prawda sdi to nie dotyczy, ale bazuje ta wersja na dystrybucji dla zwyklych modemów.