Po starcie systemu wymagany restart DansGuardiana

Masz problemy z siecią bądź internetem? Zapytaj tu
atos
Posty: 12
Rejestracja: 05 maja 2011, 22:29

Po starcie systemu wymagany restart DansGuardiana

Post autor: atos »

Witam serdecznie.

Zwracam się z prośbą o pomoc w temacie DansGuardiana.
W celu filtrowania treści stron www na komputerze (lokalnie) zainstalowałem Squida i DansGuardiana. Na komputerze z Debianem Lenny 5 nie ma żadnych problemów, wszystko działa, natomiast taka sama instalacja wykonana na komputerze z Ubuntu 9.10 Karmic Koala stwarza następujący problem.

Po uruchomieniu systemu przeglądarka internetowa wyświetla komunikat, że serwer proxy nie odpowiada. Wykonanie restartu Squida nie rozwiązuje problemu. Jedynym środkiem zaradczym jest restart DansGuardiana. Ponadto wykonując restart DansGuardiana z parametrem "restart" jest zwracany komunikat:

Kod: Zaznacz cały

[fail]
Restart DansGuardiana muszę wykonywać z parametrem "stop" i następnie "start" - wtedy otrzymuję komunikat:

Kod: Zaznacz cały

[OK]
W pliku squid.conf mam następujące ustawienia:

Kod: Zaznacz cały

http_port 3128
acl komp_eth src 192.168.1.2
http_access allow komp_eth
w pliku dansguardian.conf mam zdefiniowane:

Kod: Zaznacz cały

filterip = 192.168.1.2
filterport = 8080
proxyip = 192.168.1.2
proxyport = 3128
W przeglądarce mam wpisany serwer proxy: 192.168.1.2 port 8080, w iptables przekierowanie portu 80 na port 8080.

Co i gdzie należy skonfigurować, żeby nie trzeba było restartować DansGuardiana i dlaczego nie działa parametr "restart"?

Pytałem w tej sprawie na forum Ubuntu, ale na mój post nie ma odpowiedzi, dlatego postanowiłem zwrócić się o pomoc na forum Debiana.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Sprawdź co mówi:

Kod: Zaznacz cały

/var/log/messages

Ponadto wklej zawartość skryptu startowego dansguardiana

Kod: Zaznacz cały

/etc/init.d/dansguardian
lub podobnie.
atos
Posty: 12
Rejestracja: 05 maja 2011, 22:29

Post autor: atos »

Uruchomiłem komputer o 16:15 i w pliku /var/log/messages jest informacja o uruchomieniu procesu Squida, ale nie ma informacji o uruchomieniu procesu DansGuardiana.

Żeby pozostali domownicy nie mieli problemu z dostępem do internetu, wyłączyłem w iptables przekierowanie portu 80 na port 8080 i proxy w przeglądarce oraz w pośredniku sieciowym. Wpisy w tym logu z uruchomienia komputera o godz 11:28 również nie mówią nic o uruchomieniu procesu DansGuardiana, ale 5 minut później o godz 11:33 pojawił się wpis, że taki proces został uruchomiony.


Zamieszczam treść pliku /etc/init.d/dansguardian:

Kod: Zaznacz cały

#! /bin/sh
# Startup script for dansguardian
#
# description: A web content filtering plugin for web \
#              proxies, developed to filter using lists of \
#              banned phrases, MIME types, filename \
#              extensions and PICS labling.
# processname: dansguardian
# pidfile: /var/run/dansguardian.pid
# config: /etc/dansguardian/dansguardian.conf
### BEGIN INIT INFO
# Provides:          dansguardian
# Required-Start:    $network $syslog
# Required-Stop:     $network 
# Default-Start:     2 3 5 
# Default-Stop:      0 6 
# Description: Starts dansguardian content proxy 
# short-description: dansguardian configuration
### END INIT INFO

#include lsb functions
. /lib/lsb/init-functions

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/dansguardian
NAME=dansguardian
DESC="DansGuardian"

CONFFILELOCATION=/etc/dansguardian/
#BINARYLOCATION=/usr/sbin/
#PIDDIR=/var/run/

grep -q ^UNCONFIGURED ${CONFFILELOCATION}dansguardian.conf && {
cat <<EOF
        DansGuardian has not been configured!
        Please edit ${CONFFILELOCATION}dansguardian.conf manually then rerun
        this script.
EOF
exit; }

test -x $DAEMON || exit 0
test -f $CONFIG || exit 0

set -e

case "$1" in
  start)
    log_daemon_msg "Starting $DESC" "$NAME"
    test -d /var/lock/subsys || mkdir -p /var/lock/subsys
    start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
        --exec $DAEMON || log_end_msg 1
    log_end_msg 0
    ;;
  stop)
    log_daemon_msg "Stopping $DESC" "$NAME"
    start-stop-daemon --stop --quiet --retry 15 --oknodo --pidfile /var/run/$NAME.pid \
        --exec $DAEMON || log_end_msg 1
    log_end_msg 0
    ;;
  reload)
    log_action_begin_msg "Reloading $DESC configuration..."
    echo "Reloading $DESC configuration files."
    start-stop-daemon --stop --signal 1 --quiet --pidfile \
        /var/run/$NAME.pid --exec $DAEMON || log_action_end_msg 1
    log_action_end_msg 0
      ;;
  restart|force-reload)
    #
    #    If the "reload" option is implemented, move the "force-reload"
    #    option to the "reload" entry above. If not, "force-reload" is
    #    just the same as "restart".
    #
    echo -n "Restarting $DESC: "
    log_daemon_msg "Restarting $DESC: "
    start-stop-daemon --stop --quiet --retry 15 --oknodo --pidfile \
        --retry 15 /var/run/$NAME.pid --exec $DAEMON || log_end_msg 1
    start-stop-daemon --start --quiet --pidfile \
        /var/run/$NAME.pid --exec $DAEMON || log_end_msg 1
    log_end_msg 0
    ;;
  *)
    N=/etc/init.d/$NAME
    # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
    log_action_msg "Usage: $N {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0
atos
Posty: 12
Rejestracja: 05 maja 2011, 22:29

Post autor: atos »

Po analizie pliku /var/log/messages okazuje się, że DansGuardian jest uruchamiany 5 minut później niż Squid. Dlaczego?

Poniżej fragment pliku /var/log/messages

Kod: Zaznacz cały

May  9 16:57:45 PC5501 dhcdbd: Started up.
May  9 16:57:59 PC5501 squid[2982]: Squid Parent: child process 2984 started
May  9 16:58:00 PC5501 kernel: [   39.812433] ip_tables: (C) 2000-2006 Netfilter Core Team
May  9 16:58:00 PC5501 kernel: [   40.097974] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
May  9 17:03:11 PC5501 kernel: imklog 3.18.6, log source = /proc/kmsg started.
May  9 17:03:11 PC5501 rsyslogd: [origin software="rsyslogd" swVersion="3.18.6" x-pid="2334" x-info="http://www.rsyslog.com"] restart
May  9 17:03:12 PC5501 dansguardian[3455]: Started sucessfully.
Na Debianie po starcie systemu trzeba odczekać 5 minut, żeby uruchomił się DansGuardian i przeglądarka ma dostęp do internetu.
Natomiast na Ubuntu pomimo, że zostanie uruchomiony proces Squida i DansGuardiana (również 5 minut później niż start Squida) przeglądarka nie ma dostępu do internetu, pojawia się komunikat:

Kod: Zaznacz cały

   	 	 	 	 	 	  [B]ERROR[/B]

  	[B]The requested URL could not be retrieved[/B]

 
   	The following error was encountered while trying to retrieve the 	URL: [URL]http://www.google.pl/[/URL]
 	[INDENT][B]Unable to determine IP address 	from host name [/B][B][url]www.google.pl[/url][/B][/INDENT] 	The DNS server returned:
 	Timeout 	This means that the cache was not able to resolve the hostname 	presented in the URL. Check if the address is correct.
 	Your cache administrator is [EMAIL="webmaster%25W"]webmaster[/EMAIL].
 	


	
 
   	Generated Mon, 09 May 2011 15:23:49 GMT by ASUS-PC 	(squid/2.7.STABLE6)
Po restarcie Squida (który na Ubuntu trwa kilkanaście sekund w przeciwieństwie do Debiana, gdzie następuje natychmiastowy restart), przeglądarka ma dostęp do internetu.

Dlaczego DansGuardian uruchamiany jest 5 minut później niż Squid?
Dlaczego na Ubuntu Squid blokuje przeglądarkę, a po restarcie Squida przeglądarka ma dostęp do internetu?
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Problemem może być rsyslog, który startuje ci 5 minut później niż poprzednia usługa (dansguardian). Dlaczego? Nie wiem. Przeinstaluj rsysloga.
atos
Posty: 12
Rejestracja: 05 maja 2011, 22:29

Post autor: atos »

Na Debianie przestał startować DansGuardian, nawet 5 minut po starcie systemu już się nie uruchamia. Usunąłem rsysloga i zainstalowałem ponownie, ale to nic nie pomogło. Na Ubuntu z kolei DansGuardian uruchamia się 5 minut po starcie systemu, ale muszę restartować Squida (który jest uruchomiony) bo przeglądarka nie ma dostępu do internetu.

Czy komuś w ogóle działa Squid z DansGuardianem na komputerze lokalnie i czy przeglądarka przez te aplikacje ma od razu po starcie systemu dostęp do internetu?

Dodane:
Prawdopodobnie przyczyną problemu jest konfiguracja Squida.
Odinstalowałem Squida i zainstalowałem Tinyproxy. Skonfigurowałem tylko Tinyproxy, ponieważ DansGuardian był skonfigurowany do działania ze Squidem.
Po starcie systemu DansGuardian od razu się uruchamia i można od razu korzystać z przeglądarki.
Plik konfiguracyjny Tinyproxy jest bardziej ubogi niż plik Squida, przez co łatwiej nad nim zapanować.

Z kolei przy zestawieniu Tinyproxy i DansGuardiana występuje problem z wyświetlaniem niektórych stron. Na przykład chcąc wyświetlić stronę new.meteo.pl zostaje wyświetlona po pewnej chwili czysta strona. Nie ma informacji z DansGuardiana, że strona została zablokowana. Wpisując ten adres do wyjątków exceptionsitelist DansGuardiana strona już jest wyświetlana. Czyli wskazuje to na blokowanie strony przez DansGuardiana.
W takim razie dlaczego DansGuardian nie wyświetla komunikatu o zablokowaniu strony ?
ODPOWIEDZ