No więc tak, wkurzyłem się i sprawdziłem dokładnie.
1. Na maszynie z dansguardianem otwieramy tylko port 8080 lub wyłączamy firewall. Stosowny fragment pliku firewall:
# zaplotkuj jesli nie chcesz udostepniac serwisu http do inetu
if [ "$WWW" = "1" ]; then
$i -A INPUT -p tcp -i $EXTIF --dport 80 -j ACCEPT 2>$LOGFILE
## dopisujemy
$i -A INPUT -p tcp -i $EXTIF --dport 8080 -j ACCEPT 2>$LOGFILE
fi
Na routerze trochę więcej wpisów. Sprawdziłem to ze standardowym firewallem z NND, jeśli ktoś ma inny firewall, to niech sam kombinuje kolejność, albo dodatkowe polecenia sobie doda w rc.local.
# Wszystkie polaczenia z innych interfejsow niz interfejs do internetu pozwalamy
$i -A INPUT -i ! $EXTIF -j ACCEPT 2>$LOGFILE
$i -A FORWARD -i ! $EXTIF -j ACCEPT 2>$LOGFILE
### forward dla maszyny z dansem
iptables -A FORWARD -d 192.168.0.253 -j ACCEPT
# i maskujemy
if [ "$NETWORK" = "1" ]; then
$i -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE 2>$LOGFILE
##### maskarada dla squida z dansem
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.253 --dport 8080 -j MASQUERADE
fi
fi
### dopisane
iptables -t nat -A PREROUTING ! -s 192.168.0.253 ! -d 192.168.0.253 -p tcp --dport 80 -j DNAT --to 192.168.0.253:8080
# Zezwalamy na wszystko co odbywa sie w ramach juz dozwolonych polaczen
Uwaga! W moim teście maszyna z dansguardianem miała IP 192.168.0.253 (trzeba to sobie dostosować).
I jeszcze jedno. Propozycja Zciecha nie działała dlatego, ze bez
! -s IP_DANSGUARDIANA ! -d IP_DANSGUARDIANA regułka się zapętlała.