RSS Feed

Posts Tagged ‘konfiguracja’

  1. Windows update, błąd 80244018 i jak go naprawić

    Czerwiec 22, 2012 by 0verlord

    Problem okazał się dość trywialny. Po tym, jak nie zadziałały wszystkie sugestie, które w tym temacie ma internet (włączyć inteligentny transfer w tle, włączyć windows update, opuścić zaporę, uruchomić MS Fixit’a), poszukałem głębiej.

    Windows update i jego inteligentny transfer w tle, to nic innego jak pobieranie cabów z aktualizacjami po http.
    A ten numer błędu oznacza, że zamiast otrzymać odpowiedź 200 OK, system dostał 403 Permission Idź Precz.

    Tylko skąd to się wzięło i dlaczego np. Windows XP, który stoi zaraz obok, aktualizuje się bez problemów?
    Po drodze mam Squida, więc zajrzałem w logi, a tam np. takie coś:

    1340345769.540 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/updt/2011/04/windows6.1-kb2506928-v2-x64-express_23d6b471222697d7fba8e25c305ab6d661dd4324.cab - NONE/- text/html
    1340345769.628 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/updt/2011/04/windows6.1-kb982018-v3-x64-express_6daea780a222e001dc64d67b979af052bce270c3.cab - NONE/- text/html
    1340345769.712 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/secu/2012/04/graph-x-none_5df373440beed2576fe78d0ef0ebc6b90db3fc8c.cab - NONE/- text/html
    1340345769.783 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/secu/2012/04/excel-x-none_efe9948d82dfd419d0cf40aa4c0d1912104a50e8.cab - NONE/- text/html
    1340345769.876 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/secu/2012/04/vviewer-x-none_0dbaa8870c042c1a99faa4c5425d311252c34984.cab - NONE/- text/html
    1340345770.029 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/crup/2011/11/proof-en-us_47e02b746959bae289bf3061847380074a801d52.cab - NONE/- text/html
    1340345770.078 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/crup/2011/11/proof-de-de_440d1b4f0aa94495b9dda1e1c9b4a81f0ac554b9.cab - NONE/- text/html
    1340345770.080 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/crup/2011/11/proof-pl-pl_d326a19a46259642c5edf4acca2e155bfc42e1dc.cab - NONE/- text/html
    1340345770.177 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/secu/2012/03/windows6.1-kb2653956-x64_5cfdaba5a52326088faab671f21fcd807c8b8768.cab - NONE/- text/html
    1340345770.275 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/secu/2012/05/windows6.1-kb2659262-x64-express_16922c62a2473b40cf0d69a45f4f9162ef5ce6d2.cab - NONE/- text/html

    Kluczowe jest tutaj, dlaczego HEAD powoduje 403? Ano dlatego, że (jak sobie już przypomniałem), kiedyś musiałem przejść przez dość wrednie napisaną witrynę, która wygaszała sesję php jak wget -m posyłał jej HEAD, żeby sprawdzić, czy już pobrał zawartość, czy nie pobrał. Regułka w Squidzie wygląda tak:

    acl Safe_method method CONNECT GET POST
    http_access deny !Safe_method

    Nie ma HEAD? Nie ma. No to deny. I w ten oto sposób pokonałem się sam. Żeby było wszystko jasne, tej regułki nie ma domyślnie w konfigu Squida, została dodana na potrzeby tamtej krzywej strony.


  2. Innbox v50 modem czy router w Dialogu

    Styczeń 20, 2012 by 0verlord

    Jest sobie takie urządzenie, maszyna piekielna, gra śpiewa i tańczy. Voipy, wideo, telefon, 3play pełną gębą.
    Ale potrzebowałem z niego tylko jednej funkcji, tj modemu do DSLa. Po zgadnięciu z internetu hasła do admina (jest tu) zastrzeliły mnie te wszystkie opcje. Potrzebowałem kawalerii 😉

    Telefon do pomocy technicznej pozwolił przełączyć router w tryb tylko modemu. JTZ? W sumie prosto.
    Trzeba przycisnąć na bocznym panelu przycisk reset. Raz, krótko, bo jak się go przytrzyma więcej niż 10 sekund, pojawią się trzy pomarańczowe lampki i modem zażyczy sobie upgrade softu. Tego oczywiście nie chcemy robić.

    To jednak nie była pełna informacja, ponieważ kabel do internetu należy włożyć do portu nr 1. Na innych portach nie będzie działało.
    Czyli podsumowując: przyciskamy raz przycisk, skrętkę wkładamy do portu nr 1 i zestawiamy przez niego sesję PPPoE. Amen.

    Uprzejmie dziękuję pani z pomocy technicznej za naprowadzenie mnie na odpowiednie rozwiązanie.


  3. Vtiger 5.3, instalacja na home.pl i błąd przy logoucie

    Grudzień 10, 2011 by 0verlord

    Stawiam Vtigera 5.3 dla klienta. Pierwszy zgrzyt, to home.pl, ale poradziłem sobie łopatologicznie, tj. upload pliku do katalogu, phpshell i unzip. PHPShell, bo z jakiegoś powodu zapychanie plików po ftp na home.pl działa koszmarnie wolno. Tj. jak pcham jeden wielki plik, to bez problemów, pcha się błyskawicznie. Natomiast zapchanie archiwum pełnego małych pliczków trwa wieki.

    Instalator vtigerowy można sobie z miejsca odpuścić. Nie zadziała z kilku powodów:
    1. nie umie stworzyć bazy, co bym nie zmieniał i tak przerywa w połowie. Internet sugeruje wiele rozwiązań – w wersji 5.3 żadne mi nie zadziało.
    2. z jakiegoś powodu wykrywa katalog główny jako // (dwa slashe), potem próbuje czytać z tego katalogu, a że go nie znajduje – rzuca błędem. Konkretnie $root_directory = '/';
    3. defaultowo w podkatalogu nie ma katalogu tmp. Trzeba dodać. Ale jeżeli się tego nie walczyło z home.pl to się tego nie wie, więc instalator się wywali.

    Proponuję zatem rozwiązanie następujące:
    1. zainstalować sobie na normalnym linuxie i uruchomić instalator.
    2. odpowiedzieć na wszystkie pytania i skonfigurować sobie instalkę
    3. na home.pl wypakować czystą wersję i odpowiednio spreparować config.inc.php
    4. wgrać dumpa ze świeżej instalki, ale nie przez phpmyadmina (czyli przez web), bo też mi się to nie udało – import pluł, że plik jest za duży. Za duży, pewnie. 750kb to za dużo.
    5. skopiować pliki z lokalnej instalki:
    tabdata.php parent_tabdata.php user_privileges/sharing_privileges_cyferka.php i user_privileges/user_privileges_cyferka.php – jak tego nie skopiujemy, dostaniemy komunikat o braku któregoś z nich, najczęściej z numerkiem 1.
    6. odpalić i tadam.wav

    No i generalnie będzie działać, z kilkoma wyjątkami. Nie da się wylogować, bo się wysypie i kilka modułów administracyjnych też nie będzie działać – np. edytor konfiguracji. Przy logoucie error będzie wyglądał jak niżej:

    Warning: require_once(modules/VtigerBackup/VtigerBackup.php) [function.require-once]: failed to open stream: No such file or directory in /modules/Users/Logout.php on line 29

    Fatal error: require_once() [function.require]: Failed opening required 'modules/VtigerBackup/VtigerBackup.php' (include_path='/include/htmlpurifier/library:.:/:/usr/local/php/pear5') in /modules/Users/Logout.php on line 29

    i rzeczywiście – nie ma tego skrypciku.

    Tu mnie naprowadzili: http://forums.vtiger.com/viewtopic.php?t=40319

    Ten plik to jest część podstawowych modułów vtigera, i normalnie instalator je wypakowuje – o ile zakończy sukcesem cała akcję. Ale jak to zrobić na home?

    Curlftp naszym kolegą. Montujemy sobie katalog z witryną po ftpfs.
    Wypakowujemy sobie instalkę, wchodzimy do
    packages/vtiger/mandatory
    i to właśnie tam siedzi to, czego nam brakuje.
    Teraz część trudniejsza. Po odpakowaniu, archiwa z modułami zawierają dwa katalogi: modules i templates. Modulesy wypakowujemy do głównego katalogu ze stroną, a templates do ./Smarty/templates, wg schematu, np. dla ConfigEditor.
    ./Smarty/templates/modules/ConfigEditor/index.tpl
    Czyli w katalogu ./Smarty/templates/modules zakładamy katalog taki jak nazwa wypakowanego modułu.
    Można też prościej – w końcu instalowaliśmy lokalną wersję, żeby mieć bazę. Kopiujemy z lokalnie działającego vtigera katalog.
    Smarty/templates oraz
    modules/

    W końcu to te same pliki i ta sama wersja i tylko odpowiednio 2.3- i 20MB.

    Potem można sobie doinstalować np. polski język, np.stąd, ale to już po zalogowaniu przez managera modułów. Najlepiej zrobić to na końcu, ponieważ templejty, którymi będziemy mieszać, nadpisują niektóre pliki z tłumaczeniami.

    Amen.


  4. Samba i security – czyli jak nie robić fileservera w firmie

    Listopad 10, 2011 by 0verlord

    Przejęliśmy zarządzanie w jednej kopalni. Stała tam samba, która robiła za system plików. Wydawało by się, że jest ok, bo pocięta uprawnieniami. Trochę topornie, bo np. tak:
    valid users = user1, user2, user3 ... user 16

    listy tam były na prawdę długie, po kilkanaście wpisów. Trochę mało zen było w tym rozwiązaniu, ale ogólnie było skuteczne. Jak się okazało, była to masakra kra kra kra.

    Jak to w sambie się robi, jeden katalog był przeznaczony na udziały, nazwijmy go /home/samba.
    W katalogu głównym jak to w katalogu – są podkatalogi 😉 Np.
    /home/samba/blah, /home/samba/plumk itp.

    No i pojawił się problem, że jak pani zapisała do podkatalogu, to nikt inny już nie mógł tego ani skasować, ani nic w ogóle i trzeba było pana administratora, żeby naprawił. Pan administrator, jak się dowiedziałem, logował się po VNC, i klikał z Gnoma tamtejszy managier plików i naprawiał. Skoro przyszła taka prośba od pana klienta – siadłem do naprawy i przejrzałem ten konfig dokładniej, żeby dodać wpis załatwiający sprawę, tj.:
    force group = mrocznagrupa

    Ale przeglądam konfig dalej, dochodzę do share’ów i widzę tam takie coś:

    [samba]
    path = /home/samba
    writeable = yes
    browseable = no
    guest ok = yes

    HĘ?! No to klikam dalej:

    host# smbclient -U guest \\\\fileserwer\\samba
    Enter guest's password:
    Anonymous login successful
    Domain=[BLAH] OS=[Unix] Server=[Samba 3.0.xxx]
    smb: \> ls
    (tu lista katalogów z dalszej części konfiga)

    Bez komentarza.

    Niniejszym przyznaję temu panu 15 bajtów z /dev/urandom. Tam wielkie hasła, trutututut, a tutaj schowany share, wpuszczający do głównego katalogu każdego jak leci, już bez haseł.


  5. Wiele vserverów i problem ramu

    Wrzesień 19, 2011 by 0verlord

    Obiliśmy się tutaj o dość interesujący problem z vserverami. Co to są linux-vservery, można przeczytać tutaj.

    Mamy hosta, na którym stoi kilkanaście vserwerów. Każdy konfigurowany wg odrobinę przerobionego skryptu instalacyjnego, a konkretnie poszerzający /tmp do 512m. Dlaczego więcej, można np. przeczytać tu.

    Problem jest taki, że /tmp w domyślnej konfiguracji jest montowany wewnątrz vservera tak:
    none /tmp tmpfs size=512m,mode=1777 0 0

    Czyli katalog /tmp to jest tak na prawdę tmpfs, czyli tak na prawdę ram. 500 mega ramu w sumie marnujące się dość bez sensu. Jeżeli nie potrzebujemy jakiegoś specjalnie wydajnego guesta, można spokojnie zrezygnować z takiego rozwiązania kwestii /tmp’a.

    Co ma się gdzie montować, w vserverze jest zaszyte w fstabie, który z kolei siedzi w katalogu głównym z konfiguracją guestów, w Debianie tu:
    /etc/vservers/NazwaVservera/fstab

    Usuwamy linijkę z tmpfs i restartujemy vserver. Po tej operacji, vserver zacznie swoje pliki tymczasowe zapisywać normalnie w filesystemie, zwalniając ram. Mission accomplished, ram odzyskany, tadam.wav. U nas zwolniło się w ten sposób 3GB.


  6. Postgresql, lms.current_user i błąd

    Sierpień 19, 2011 by 0verlord

    Szybko o LMSie, postgresie i bugu będącego efektem niedoczytania konfiguracji.

    Dokumentacja mówi, żeby: Wymagane jest dodanie wpisu w postgresql.conf: custom_variable_classes = 'lms'

    Natomiast nie mówi, co się stanie, jeżeli tego wpisu nie będzie. Oczywiście, można z sourca wyczytać nie? 😛

    Efekt wygląda tak:
    Zapytanie: SELECT set_config('lms.current_user', '1', false)
    Błąd: BŁĄD: nierozpoznany parametr konfiguracyjny "lms.current_user"
    Zapytanie: SELECT COUNT(id) AS total, COUNT(CASE WHEN status = 3 THEN 1 END) AS connected, COUNT(CASE WHEN status = 2 THEN 1 END) AS awaiting, COUNT(CASE WHEN status = 1 THEN 1 END) AS interested FROM customersview WHERE deleted=0
    Błąd: BŁĄD: nierozpoznany parametr konfiguracyjny "lms.current_user"
    Zapytanie: SELECT SUM(a.value)*-1 AS debtvalue, COUNT(*) AS debt FROM (SELECT SUM(value) AS value FROM cash LEFT JOIN customersview ON (customerid = customersview.id) WHERE deleted = 0 GROUP BY customerid HAVING SUM(value) < 0 ) a
    Błąd: BŁĄD: nierozpoznany parametr konfiguracyjny "lms.current_user"

    Dodajemy wpis, o którym mowa w docku i error znika.


  7. Chef-server, vserver i losowe pady

    Sierpień 3, 2011 by 0verlord

    Do zarządzania windami i *nixami używamy od jakiegoś czasu chefa. Generalnie z powodu ogólnie znanego problemu nowoczesności stabilnych wersji Debiana, postawiliśmy testinga jako guesta.

    Pojawił się problem, serwer chefa umierał, i nawet na najwyższym poziomie debuga nie mówił dlaczego. Strace najlepszym naszym przyjacielem jeeest. Padało z powodu braku miejsca na /tmp.
    W defaultowej konfiguracji vservera, /tmp jest montowany jako filesystem tmpfs o rozmiarze 16mb. Trzeba było zwiększyć do 256m i problem się skończył. Na normalnych serwerach, ten problem by nigdy nie wystąpił, natomiast na vserverach, już jak najbardziej. Ciekawe, że do loga nie bluzga.

    Jak zwiększyć rozmiar katalogu /tmp w gueście? Zmieniamy plik fstab w katalogu konfiguracyjnym vservera. Ten plik najczęściej znajduje się w /etc/vservers/nazwa_vservera/fstab i wygląda tak:
    none /proc proc defaults 0 0
    none /tmp tmpfs size=16m,mode=1777 0 0
    none /dev/pts devpts gid=5,mode=620 0 0

    Wystarczy zastopować vserver, zmienić size=16m na np. size=256m i wystartować vserver od nowa.
    Tadam.wav.


  8. Tcptrack i Debian Squeeze

    Maj 25, 2011 by 0verlord

    Można się zdziwić, że po upgrade do Squeeze’a tcptrack nie działa. Wyjaśnienie jest tu: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602232.

    Generalnie chodzi o to, że działająca wersja 1.4.x nie zdążyła wejść do Squeeze’a, a stara nie działa na nowym kernelu. Czyli grave bug i paczka wyleciała ze stabla. Czyli trzeba by sobie zbackportować nowszą wersję z SIDa, bo nawet na backports.debian.org jej nie ma.


  9. Redmine i konwersja z Sqlite do MySQL/PgSQL

    Styczeń 25, 2011 by 0verlord

    Ze względu na ilość projektów, które prowadzimy w fabryce i coraz więcej 500tek wynikających z trzymania bazy w Sqlite, a i z powodu braku możliwości używania jednego plugina do raportowania czasu panu klientowi, przyszedł czas na migrację. Jak się okazało, była ona banalnie prosta. Info jest tu. Zapuściłem i zadziałało – u mnie bez jednego buga. Szczerze polecam.


  10. Jak zrobić delegację revdns w RIPE

    Grudzień 8, 2010 by 0verlord

    Ostatnio mnie trafiło dodawanie obiektów w RIPE. Po raz kolejny klikałem wszystko co związane z LIRem. Przygniotły mnie wnioski, o first-allocation, o assigned-pa i takie tam. Ale było dupogodziny odsiedzieć.
    Natomiast ostatnio pan klient zawinszował sobie delegację rev dnsa dla klas, które wydarłem dla niego od RIPE.
    Po przeczytaniu źródła – już jestem mądry.
    Robimy obiekt domain, tylko co tam wpisać?

    Pole „domain” powinno mieć zapis w postaci 11.22.33.in-addr.arpa dla sieci 33.22.11.0/24. Jeżeli ktoś dostał /16, to analogicznie klika 22.33.in-addr.arpa. Potem tylko trzeba sobie skonfigurować dnsy do obsługi takich stref, ale to temat na osobną bajkę. W góglu jest takich bajek gazyliony.
    Pole „nserver” tłumaczy się samo. Niby wystarczy jedno, ale generalnie zgodnie z zasadami sztuki wypadało by mieć dwa nameservery w dwóch różnych podsieciach (i nie jeden w x.y.z.0/25 a drugi w x.y.z.128/25, tylko w na prawdę różnych miejscach). Jeżeli serwer dns nie ma wpisu w rewdnsa, dostaniemy ostrzeżenie, że tak raczej nie powinno być, ale obiekt się doda.

    Oczywiście obiekt domain musi być mieć mntera (pole „mnt-by”) i odpowiedni do tegoż hasłord.
    A potem już tylko „submit”.