Strona 1 z 2

[+] Jak skonfigurować Binda aby w logach zapisywał czas lokalny, a nie UTC?

: 21 kwietnia 2010, 11:25
autor: hageri
Witam. Jestem początkującym użytkownikiem Debiana i natrafiłem na problem z którym nie mogę sobie poradzić. Jeżeli był na forum już ten temat to z góry przepraszam ale go nie znalazłem. Bind jest skonfigurowany według opisu z http://debian.linux.pl/showthread.php?t=3034 i działa poprawnie.

Kod: Zaznacz cały

named.conf.options

acl "priv" {127.0.0.1/8; 192.168.1.0/24; };
options {
        directory               "/var/cache/bind";
        auth-nxdomain           no;
        version                 "Unknown";
        listen-on-v6            { any; };
        listen-on               { any; };
        query-source            address * port *;
        transfer-source         * port 53;
        notify-source           * port 53;
        forwarders              { 213.199.225.14; 82.160.1.1; 194.204.159.1; 194.204.152.34;  };
        transfer-format         many-answers;
        allow-transfer          { none; };
        allow-query             { "priv"; };
        allow-recursion         { "priv"; };
};
logging {
        channel default_file { file "/var/log/named/default.log" versions 3 size 5m; severity dynamic; print-time yes;   };
        channel general_file { file "/var/log/named/general.log" versions 3 size 5m; severity dynamic; print-time yes; $
        channel database_file { file "/var/log/named/database.log" versions 3 size 5m; severity dynamic; print-time yes$
        channel security_file { file "/var/log/named/security.log" versions 3 size 5m; severity dynamic; print-time yes$
        channel config_file { file "/var/log/named/config.log" versions 3 size 5m; severity dynamic; print-time yes; };
        channel resolver_file { file "/var/log/named/resolver.log" versions 3 size 5m; severity dynamic; print-time yes$
        channel xfer-in_file { file "/var/log/named/xfer-in.log" versions 3 size 5m; severity dynamic; print-time yes; $
        channel xfer-out_file { file "/var/log/named/xfer-out.log" versions 3 size 5m; severity dynamic; print-time yes$
        channel notify_file { file "/var/log/named/notify.log" versions 3 size 5m; severity dynamic; print-time yes; };
        channel client_file { file "/var/log/named/client.log" versions 3 size 5m; severity dynamic; print-time yes; };
        channel unmatched_file { file "/var/log/named/unmatched.log" versions 3 size 5m; severity dynamic; print-time yes; };
        channel queries_file { file "/var/log/named/queries.log" versions 3 size 5m; severity dynamic; print-time yes; };
        channel network_file { file "/var/log/named/network.log" versions 3 size 5m; severity dynamic; print-time yes; };
        channel update_file { file "/var/log/named/update.log" versions 3 size 5m; severity dynamic; print-time yes; };
        channel dispatch_file { file "/var/log/named/dispatch.log" versions 3 size 5m; severity dynamic; print-time yes; };
        channel dnssec_file { file "/var/log/named/dnssec.log" versions 3 size 5m; severity dynamic; print-time yes; };
        channel lame-servers_file { file "/var/log/named/lame-servers.log" versions 3 size 5m; severity dynamic; print-time yes; };

        category default { default_file; };
        category general { general_file; };
        category database { database_file; };
        category security { security_file; };
        category config { config_file; };
        category resolver { resolver_file; };
        category xfer-in { xfer-in_file; };
        category xfer-out { xfer-out_file; };
        category notify { notify_file; };
        category client { client_file; };
        category unmatched { unmatched_file; };
        category queries { queries_file; };
        category network { network_file; };
        category update { update_file; };
        category dispatch { dispatch_file; };
        category dnssec { dnssec_file; };
        category lame-servers { lame-servers_file; };
};
Jedyny problem jest taki, że w plikach logów Binda zapisywany jest czas UTC, a nie systemowy. Strefa czasowa jest ustawiona poprawnie, czas systemowy i czas w bios są identyczne.

Kod: Zaznacz cały

Current default timezone: 'Europe/Warsaw'
Local time is now:      Wed Apr 21 09:40:48 CEST 2010.
Universal Time is now:  Wed Apr 21 07:40:48 UTC 2010.
W innych plikach logów czas jest zapisywany poprawnie. Czy jest to nieprawidłowa konfiguracja Binda czy samego systemu? Byłbym wdzięczny za podpowiedź gdzie szukać przyczyn takiej sytuacji.

Pozdrawiam

: 21 kwietnia 2010, 18:34
autor: mariaczi
U mnie data jest poprawna:

Kod: Zaznacz cały

zeus:~# date && cat /etc/debian_version && cat /etc/timezone && tail -n 5 /var/log/bind9/queries.log
śro, 21 kwi 2010, 18:32:46 CEST
5.0.4
Europe/Warsaw
21-Apr-2010 18:31:17.158 info: client 192.168.0.65#1039: query: _389_34_1 IN A +
21-Apr-2010 18:31:25.375 info: client 192.168.0.56#1045: query: tools.google.com IN A +
21-Apr-2010 18:32:38.176 info: client 10.0.0.12#3158: query: www.google.pl IN A +
21-Apr-2010 18:32:38.336 info: client 10.0.0.12#3158: query: pl.fxfeeds.mozilla.com IN A +
21-Apr-2010 18:32:38.558 info: client 10.0.0.12#3160: query: clients1.google.pl IN A +

Kod: Zaznacz cały

rndc Version: 9.5.1-P3

: 22 kwietnia 2010, 07:43
autor: hageri
A u mnie wygląda to tak:

Kod: Zaznacz cały

virgo:/# rndc status
version: 9.5.1-P3 
number of zones: 19
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is ON
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running

Kod: Zaznacz cały

virgo:/# date && cat /etc/debian_version && cat /etc/timezone && tail -n 5 /var/log/named/queries.log
czw, 22 kwi 2010, 07:39:18 CEST
5.0.4
Europe/Warsaw
22-Apr-2010 05:37:54.464 client 213.46.172.38#64178: query: smtp.dks.pl IN A -
22-Apr-2010 05:38:23.338 client 80.242.113.3#53: query: aries.dks.pl IN A -EDC
22-Apr-2010 05:38:23.339 client 80.242.113.3#53: query: aries.dks.pl IN AAAA -EDC
22-Apr-2010 05:38:37.392 client 211.14.194.246#1956: query: aries.dks.pl IN A -EDC
22-Apr-2010 05:39:15.357 client 74.60.80.5#13195: query: smtp.dks.pl IN A -
Z czego jasno wynika, że gdzieś coś skopałem, tylko nie bardzo potrafię wyczaić gdzie, siedzę nad tym już troszkę ale z mizernym rezultatem.

: 22 kwietnia 2010, 11:39
autor: mariaczi
Najprawdopodobniej przy instalacji wybrałeś że UTC ma być Twoim domyślnym czasem.

: 22 kwietnia 2010, 13:30
autor: hageri
Tylko w którym momencie instalacji można to zmienić? Instalowałem Debiana na maszynie podpiętej do funkcjonującej sieci, instalator netinstall, standardowy tekstowy tryb instalacji, na expert install jestem jeszcze zdecydowanie za cienki. Sieć była skonfigurowana poprawnie więc instalator automatycznie zsynchronizował czas z serwerem czasu, nie miałem możliwości ingerencji. Podejrzewasz, że to w tym miejscu coś się posypało?

: 22 kwietnia 2010, 15:17
autor: mariaczi

: 23 kwietnia 2010, 08:39
autor: hageri
Dzięki za zainteresowanie i podpowiedzi, ale to chyba nie to. Przetestowałem mój system według wskazówek z artykułu:

Kod: Zaznacz cały

virgo:/# diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Pliki /etc/localtime i /usr/share/zoneinfo/Europe/Warsaw są identyczne

Kod: Zaznacz cały

virgo:/#  zdump -c 2010 -v Europe/Warsaw|grep 2009
Europe/Warsaw  Sun Mar 29 00:59:59 2009 UTC = Sun Mar 29 01:59:59 2009 CET isdst=0 gmtoff=3600
Europe/Warsaw  Sun Mar 29 01:00:00 2009 UTC = Sun Mar 29 03:00:00 2009 CEST isdst=1 gmtoff=7200
Europe/Warsaw  Sun Oct 25 00:59:59 2009 UTC = Sun Oct 25 02:59:59 2009 CEST isdst=1 gmtoff=7200
Europe/Warsaw  Sun Oct 25 01:00:00 2009 UTC = Sun Oct 25 02:00:00 2009 CET isdst=0 gmtoff=3600

Kod: Zaznacz cały

virgo:/#  date --date="2010-03-28 01:59:50 utc"
nie, 28 mar 2010, 03:59:50 CEST
virgo:/#  date --date="2010-03-28 02:00:10 utc"
nie, 28 mar 2010, 04:00:10 CEST

Kod: Zaznacz cały

virgo:/#  date --utc 032801592010.50 ; date ; sleep 20 ; date
nie, 28 mar 2010, 01:59:50 UTC
nie, 28 mar 2010, 03:59:50 CEST
nie, 28 mar 2010, 04:00:10 CEST
I chyba chyba wszystko jest ok, problem nie leży w ustawieniach strefy czasowej. W logach nie zdefiniowanych w named.conf.options bind zapisuje godzinę poprawnie:

Kod: Zaznacz cały

virgo:/# date && /etc/init.d/bind9 restart && cat /etc/debian_version && cat /etc/timezone && tail -n 5 /var/log/named/queries.log && tail -n 5 /var/log/daemon.log
nie, 28 mar 2010, 04:09:53 CEST
Stopping domain name service...: bind9 waiting for pid 3515 to die.
Starting domain name service...: bind9.
5.0.4
Europe/Warsaw
28-Mar-2010 02:09:45.039 client 202.122.19.4#1464: query: aries.dks.pl IN A -EDC
28-Mar-2010 02:09:45.043 client 202.122.19.4#1464: query: aries.dks.pl IN AAAA -EDC
28-Mar-2010 02:09:49.471 client 87.99.33.160#32811: query: aries.dks.pl IN AAAA -EC
28-Mar-2010 02:09:52.585 client 212.145.12.4#19342: query: aries.dks.pl IN AAAA -EDC
28-Mar-2010 02:09:52.612 client 212.145.12.4#64730: query: aries.dks.pl IN A -EDC
Mar 28 04:09:54 virgo named[3564]: automatic empty zone: 9.E.F.IP6.ARPA
Mar 28 04:09:54 virgo named[3564]: automatic empty zone: A.E.F.IP6.ARPA
Mar 28 04:09:54 virgo named[3564]: automatic empty zone: B.E.F.IP6.ARPA
Mar 28 04:09:54 virgo named[3564]: command channel listening on 127.0.0.1#953
Mar 28 04:09:54 virgo named[3564]: command channel listening on ::1#953
W weekend będę miał więcej czasu i zainstaluję Debiana na VirtualBox dokładnie tak jak poprzednio i będę szukał dalej. Może wyczaję problem ale będę wdzięczny za każdą wskazówkę.

: 23 kwietnia 2010, 08:46
autor: mariaczi
Wybacz to powolne obnażanie ;)
Sprawdź wynik

Kod: Zaznacz cały

cat /etc/default/rcS | grep UTC
# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
UTC=no
I jeszcze pytanie: Masz chrotowanego tego binda?

: 23 kwietnia 2010, 09:18
autor: hageri
To ja proszę o wybaczenie, że przez swoją indolencję umysłową marnuję Twój czas ;)
To ustawienie zmieniłem już na początku ale dla pewności wynik:

Kod: Zaznacz cały

virgo:/# cat /etc/default/rcS | grep UTC
UTC=no

: 23 kwietnia 2010, 11:14
autor: mariaczi
Mnie już brakło pomysłów na co jeszcze spojrzeć :|
Daj jeszcze odpowiedź na pytanie z poprzedniego mojego posta. Doszukałem się, że w środowisku chrotowanym bind miewał takie problemy. Należało wtedy skopiować /etc/localtime do jego zchrotowanego środowiska.