Bądź na bieżąco - RSS

Partition 1 does not end on cylinder boundary

15 marca, 2014 | Brak Komentarzy | Kategoria: Linux, Porady

HDD

 

 

 

Tym razem chciałbym opisać błąd, który wprawił mnie w niemałe zdumienie. Na jednym z serwerów z Debianem macierz RAID1 odmówiła posłuszeństwa. Jeden z dysków należało wymienić. Po zainstalowaniu nowego, zabrałem się za przygotowanie partycji z pomocą narzędzia fdisk. Jednak po wyświetleniu listy partycji na pierwszym dysku okazało się, że zawiera ona błędy:

fdisk -l /dev/...
...
Partition ... does not end on cylinder boundary.

Było to o tyle dziwne, że dysk pracował prawidłowo i macierz pracowała prawidłowo. Nigdy nie otrzymałem komunikatów o błędach, na co jestem szczególnie wyczulony! Pobieżne przejrzenie materiałów w sieci również niewiele pomogło. Dopiero po jakimś czasie trafiłem na wyjaśnienie. Wbrew pozorom to nie jest błąd! W niektórych implementacjach fdisk uruchamia się z domyślnie włączoną opcją kompatybilności z DOS. Obecnie zaś praca z DOS chyba zdarza się już bardzo rzadko. Dlatego jeśli widzimy komunikat jak w tytule należy użyć opcji:

OPTIONS
[...]
       -c     Switch off DOS-compatible mode. (Recommended)
[...]

Wówczas wynik wyświetlenia listy partycji będzie już prawidłowy. Zatem powinno być np.:

fdisk -l -c -u /dev/sda

Obecnie rzecz jasna powoli zastępujemy fdisk narzędziem parted (ze względy na obsługę dysków powyżej 2TB). Jednak jeśli ktoś przez lata używał fdiska…

Tagi: , ,

Konfiguracja pakietu vacation dla konta z aliasami pocztowymi

15 lutego, 2014 | Brak Komentarzy | Kategoria: Linux, Porady

WakacjeWłączanie autoodpowiedzi w czasie urlopu stało się obecnie praktyką powszechną. Większość największych systemów pocztowych oferuje taką funkcję. Co mają jednak zrobić administratorzy dedykowanych serwerów pocztowych, przygotowanych na potrzeby własne lub firmy? Jeśli korzystają z Linuksa, który jest bardzo wygodnym i elastycznym systemem operacyjnym dla serwera poczty, na pewno prędzej czy później trafią na pakiet vacation. Nie chcę się w tym momencie skupiać na jego konfiguracji, gdyż jest ona dosyć prosta, dobrze opisana oraz podparta szczegółowymi przykładami dostępnymi w sieci. Chciałbym natomiast omówić jeden z przypadków konfiguracji, z którym ostatnio się zetknąłem.

Zawyczaj użytkownicy serwera pocztowego korzystają z jednej nazwy konta pocztowego. Jednak czasami trzeba administrować w środowisku, nazwijmy to hmm… mocno eksperymentalnym, gdzie użytkownicy potrafią zażądać 2, 3 i więcej aliasów. Pakiet vacation standardowy obsłuży tylko jeden. Co zrobić aby można było ustawić automatyczną odpowiedź dla kilku aliasów przypisanych do jednego użykownika? W przypadku konfiguracji w wykorzystaniem pliku .forward trzeba skorzystać z opcji – a, która oznacza nie mniej, nie więcej jak odpowiadaj także na wiadomości dla aliasów konta pocztowego. Przykładowy wpis dla dwóch dodatkowych aliasów w pliku .forward będzie miał postać:

\nazwa_konta, "|/usr/bin/vacation -a alias1 alias2 nazwa_konta"

Rzecz jasna nie odkryłem tutaj Ameryki, wszystko jest opisane na stronach man, ale z drugiej strony kto czyta manuale…

MG

 

Tagi: , , , ,

Jak prawidłowo zainstalować RAID1 w Debianie z dyskami 2TB

2 listopada, 2013 | Brak Komentarzy | Kategoria: Linux, Porady

RAIDObecnie dyski twarde osiągają pojemności, o których jeszcze nie dawno można było pomarzyć. Obsługa dużych dysków w systemie Debian nie stanowi żadnego problemu. Jednak sytuacja może się nieco skomplikować jeżeli chcemy złożyć RAID1. Zdarza się, że podczas instalacji, napotykamy błąd instalacji GRUB. Dodatkowo, jeżeli uda się zainstalować system to okazuje się, że po awarii pierwszego dysku system nie chce wystartować automatycznie z drugiego.

Powyższy problem wynika z nieprawidłowej obsługi tablicy partycji typu GUID. Jednak nie tylko. Rzecz jasna, gdy instalujemy system od początku i musimy przygotować tablice partycji na nowym dysku, wówczas w programie instalacyjnym należy wybrać partycję typu GPT. Nie rozwiązuje to jednak problemu z instalacją GRUB.

Począwszy od Debiana Wheezy należy, na początku każdego dysku w RAID1, założyć partycję typu biosgrub. Jej rozmiar to 1MB. Potem możemy zdefiniować kolejne partycje wg uznania.  Po złożeniu macierzy RAID1, na zakończenie instalacji, zostaniemy poproszeni o wskazanie miejsca instalacji GRUB. Wybieramy opcje ‘master boot record’.

Ostatnim, bardzo ważnym, krokiem jest wydanie polecenia:

grub-install /dev/sdb

po instalacji i uruchomieniu czystego systemu operacyjnego.

MG

Tagi: , , ,

Debian Wheezy – Vsftpd: Refusing to Run With Writable Root Inside Chroot ()

7 września, 2013 | Brak Komentarzy | Kategoria: Linux, Porady

ftp-iconWheezy, który jest najmłodszą wersją w dystrybucji Debian, zyskał już całkiem spore gorono użytkowników. Przyznam, że również korzystam z tej wersji i myśle, że jest całkiem udanym produktem. Niemniej spotkałem się ostatno z pewnym problemem, który dotyczył serwera FTP. Ponieważ od kilku lat korzystam z pakietu vsftpd, który wydaje się być dość stabilną i bezpieczną alternatywą dla pozostałych serwerów, postanowiłem zainstalować to oprogramowanie na jednym z moich nowych hostów.   Tym razem czekała mnie przykra niespodzianka. Po zainstalowaniu paczki i skopiowaniu gotowych i sprawdzonych plików konfiguracyjnych, przy próbie pierwszego połączenia vsftpd powitał mnie komunikatem:

vsftpd: refusing to run with writable root inside chroot() Login failed.

Bardzo zależało mi na rozwiązaniu problemu. Szybka lektura z pomocą Google zaowocowała gradem linków, setkami odpowiedzi na różnych forach. Niestety żadna nie dawała gotowej recepty. Jednak w międzyczasie zidentyfikowałem bład opisany w serwisach Debiana: 656900. Pozwoliło to na wyszukanie całkiem ciekawej łatki. Okazało się, że ekipa Cyconet na swoim blogu zdążyła opublikować poprawioną wersję vsftpd. Wystarczyło ją zainstalować (kod/sniplet zamieszczam poniżej) i po problemie… do następnego razu.

echo "deb http://ftp.cyconet.org/debian wheezy-updates \ 
main non-free contrib" >> \
/etc/apt/sources.list.d/wheezy-updates.cyconet.list; \
aptitude update; aptitude install -t wheezy-updates \ 
debian-cyconet-archive-keyring vsftpd && \
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf \
&& /etc/init.d/vsftpd restart

MG

Tagi: , , ,

Jak ograniczyć liczbe równoczesnych połączeń z serwerem SSH

3 maja, 2013 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

SSHObecnie sieci VPN są zagadnieniem powszechnie znanym, szeroko komentowanym i zalecanym we wdrożeniach biznesowych. Istnieje cała masa gotowych rozwiązań sprzętowych, na poziomie aplikacji itp. Praktycznie każdy administrator może sam, według uznania, wybrać wygodne narzędzie. Różnią się one algorytmami, wymaganiami oraz niestety ceną. Czy można zbudować skalowalny dostęp VPN do firmy, który nie będzie wymagał dużych środków finansowych? Jednym z szeroko ostatnio polecanych rozwiązań jest VPN z wykorzystaniem serwera SSH. Elementami tej techniki są m. in.: (a) serwer dostępowy, zrealizowany np. jako sewer Linux z demonem SSHD oraz (b) aplikacja kliencka, która potrafi zestawić szyfrowany tunel np. Bitwise Tunellier.

Jeden z problemów, związanych z opisywanym tunelem SSL polega na tym, że klient może kreować równocześnie wiele połączeń, korzystających w tym samym czasie, z tego samego konta dostępowego. Być może nie jest to rzecz dyskwalifikująca całość, jednak w codziennej praktyce administratorskiej może utrudniać życie. W końcu chcemy aby logi systemowe były jasne i przejrzyste – słowem czytelne. Najlepiej aby jedno połączenie, czyli wspomniany tunel SSL, było przypisane tylko i wyłączenie do jednego konta.

Przykładowe rozwiązanie dla systemu Linux, z serwerem dostępowym bazującym na dystrybucji Debian Squeeze, polega na odpowiedniej modyfikacji pliku ‘/etc/security/limits.conf‘. Zawiera on m. in. defincje dotycząca liczby równoczesnych sesji SSH dla jednego konta dostępowego. W opisywanym rozwiązaniu należy dodać następującą linie przed znacznikiem ‘# End of file‘:

@sshlimited     -       maxlogins       1

I to wszystko, jak zwykle w przypadku Linuxa, krótko i na temat 🙂

MG

Tagi: , , , , ,

Obsługa UPS Smart-UPS SC1000 w Debian Squeeze

3 listopada, 2012 | Brak Komentarzy | Kategoria: Linux, Porady

Dawno już minęły czasy, kiedy praktycznie każdy UPS firmy APC, obecnie APC Schneider, można było obsłużyć za pomocą linuksowego daemona apcupsd. Na stronie jego autorów można znaleźć ostrzeżenie przed kupowaniem modeli SmartUPS SMX/SMT 750, 1000, 1500, czy SmartUPS RT 3000XL, 5000XL. Niestety padłem ofiarą takiego zakupu i duże było moje zdziwienie, że nic nie działa jak powinno. Ponieważ miałem możliwość wymiany urządzenia, to zamówiłem nowy, inny model. Tym razem zażyczyłem sobie żeby był obsługiwany przez apcupsd. Po paru dniach dotarł UPS Smart-UPS SC1000. Zabrałem się szybko za instalacje i okazało się, że znowu jest problem. Serwer nie miał portu szeregowego, zaś UPS zamiast kabla USB został wyposażony w adapter Profilic USB-to-serial. Mając na pokładzie Debiana Squeeze zacząłem zmagać się z adapterem. Moduł obsługi został dołączony do standardowego jądra, jednak UPS nadal pozostawał ślepy i głuchy. Po kilku godzinach szukania rozwiązania, trafiłem na strony Ubuntu Forum, gdzie udało mi się znaleźć pozyteczne informacje i przygotować działające, choć może niezbyt eleganckie rozwiązanie.

Po pierwsze – modyfikujemy skrypt startowy ‘/etc/init.d/apcupsd‘, dodając między wierszem:

case "$1" in
  start)
    echo -n "Starting $DESC: "

a wierszem:

rm -f /etc/apcupsd/powerfail

następujący kod:

if [ ! -d /dev/usb-tty ]
then
mkdir -p /dev/usb-tty
fi

mknod /dev/usb-tty/ttyUSB0 c 188 0
mknod /dev/usb-tty/ttyUSB1 c 188 1
mknod /dev/usb-tty/ttyUSB2 c 188 2
mknod /dev/usb-tty/ttyUSB3 c 188 3
mknod /dev/usb-tty/ttyUSB4 c 188 4
mknod /dev/usb-tty/ttyUSB5 c 188 5
mknod /dev/usb-tty/ttyUSB6 c 188 6
mknod /dev/usb-tty/ttyUSB7 c 188 7
mknod /dev/usb-tty/ttyUSB8 c 188 8
mknod /dev/usb-tty/ttyUSB9 c 188 9
mknod /dev/usb-tty/ttyUSB10 c 188 10
mknod /dev/usb-tty/ttyUSB11 c 188 11
mknod /dev/usb-tty/ttyUSB12 c 188 12
mknod /dev/usb-tty/ttyUSB13 c 188 13
mknod /dev/usb-tty/ttyUSB14 c 188 14
mknod /dev/usb-tty/ttyUSB15 c 188 15

Po drugie – edytujemy plik ‘/etc/apcupsd/apcupsd.conf‘ i definiujemu następujące parametry:

UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/usb-tty/ttyUSB0

Ostania linijkę powinniśmy zmodyfikować w zależności od portu, do którego podłączyliśmy UPS. Po restarcie daemona apcupsd:

/etc/init.d/apcupsd stop
/etc/init.d/apcupsd start

nasz UPS, po wpisaniu polecenia:

/etc/init.d/apcupsd status

powinien odezwać się dobrze znanym komunikatem.

MG

Tagi: , , ,

Jednorazowe korzystanie z Proxy podczas aktualizacji

2 czerwca, 2012 | Brak Komentarzy | Kategoria: Bez kategorii, Linux, Porady

Jednym z wielu zadań należących do administratora systemu Linux Debian jest wykonywanie aktualizacji. Funkcjonuje nawet anegdota, że użytkownika Debiana można rozpoznać po tym, iż każdy dzień rozpoczyna od komendy:

apt-get update

Tak czy inaczej czasami zdarza się, że aktualizacje ciągną się w nieskończoność a szybkość połączenia pozostawia wiele do życzenia. Nie są to niestety sporadyczne przypadki. Dodatkowo jeżeli mamy do czynienia z kilkoma serwerami w sieci, które powinniśmy zaktualizować sytuacja może być irytująca. Rozwiązaniem w tym przypadku jest serwer proxy. Co zrobić jednak, gdy chcemy z niego skorzystać tylko jednorazowo na czas aktualizacji? Rozwiązanie jest bardzo proste i wymaga jedynie dostępu do konsoli. Wydajemy polecenie:

http_proxy='http://adres_serwera_proxy:port'

co pozwoli nam na wykorzystanie proxy ad-hoc bez rekonfiguracji ustawień systemowych.

MG

 

Tagi: , ,

Zbuduj sam bezpieczną bramkę SMTP

4 listopada, 2010 | Brak Komentarzy | Kategoria: Linux, Porady

Rzadko można spotkać w internecie aż tak dobre tutoriale. Rzecz dotyczy budowy bramki SMTP wraz z funkcją odfiltrowania SPAMu oraz WIRUSÓW. Mówiąc krótko nawet jeśli jesteś wielkim fanem rozwiązań typu MS Exchange to zawsze możesz obniżyć koszty kierując przychodzący ruch SMTP na wspomnianą bramkę, która z kolei odeśle odfiltrowane wiadomości na serwer pocztowy. W ten sposób nie musimy instalować dodatkowego oprogramowania AV na serwerze. Istnieją nawet firmy, które specjalizują się w tego typu rozwiązaniach jak np. Barracuda Networks oferująca Spam & Virus Firewall. Z doświadczenia wiem, że urządzenie to działa bardzo sprawnie. Jego cena niestety nie należy do najniższych. Dlatego jeśli dysponujesz wolnym komputerem oraz wolnym popołudniem to dobra chwila aby zmierzyć się z własną bramką. Poniższy poradnik sieciowy poprowadzi Cię za ręke – nawet jeżeli jesteś tylko średniozaawansowany:)

http://www200.pair.com/mecham/spam/spamfilter20090215.html

MG

Tagi: , ,

Jak skompilować ClamAV dla Debiana

12 października, 2009 | Brak Komentarzy | Kategoria: Linux, Porady

Debian jest bardzo dobrą dystrybucją dla serwerów. Jest przejrzysty i uporządkowany. Po instalacji podstawowych pakietów nie jest przeciążony zbędnymi aplikacjami. Jednak od samego początku mojej przygody z Debianem napotykałem na problemy z paczką ClamaAV. Sprawny system antywirusowy jest bardzo potrzebny jeżeli np. zamierzamy uruchomić serwer pocztowy. Dlatego chciałem podzielić najlepszą moim zdaniem metodą instalacji ClamAV dla Debiana. Poniższy przykład dotyczy wersji Etch. Po niewielkich zmianach może być zastsowany w innej wersji Debiana.

Przede wszystkim trzeba pobrać źródła. W tym celu dodajemy wpis w pliku /etc/apt/sources.list:

deb-src http://volatile.debian.org/debian-volatile etch/volatile →
→ main contrib non-free

Następnie aktualizujemy naszą bazę apt:

apt-get update

Teraz należy sprawdzić wszystkie i zależności i zainstalować brakujące pakiety:

apt-get build-dep clamav-daemon

Wybieramy katalog dla instalacji (możemy np. utworzyć tymczasowy mkdir clamav_install) i pobieramy źródła dla ClamAV:

apt-get source clamav-daemon

W wybranym wcześniej katalogu pojawi się podkatalog zawierający potrzebne źródła, które możemy wykorzystać do kompilacji:

dpkg-buildpackage -uc -us -rfakeroot -nc

W tym miejscu należy zauważyć, że warto wcześniej zainstalować pakiet fakeroot. Jest prawdopodobne, że mogą pojawić się także uwagi lub błędy w trakcie kompilacji. Dlatego raczej warto przyjrzeć się uważnie komunikatom kompilatora. Zazwyczaj większość z nich oznacza konieczność zainstalowania brakujących komponentów, co jest pomocne w uruchomieniu wszystkich funkcji naszej ochrony antywirusowej. Po udanej kompilacji w katalogu nadrzędnym znajdziemy paczki .deb, gotowe do instalacji. Jeśli nie chcemy robić niepotrzebnego bałaganu, możemy zainstalować tylko wybrane (np. clamav, libclamav, clamav-base, clamav-daemon, clamav-freshclam) lub bez zbędnych ceregieli zainstalować wszystko:

dpkg -i *.deb

Od tego momentu możemy cieszyć się w pełni aktualną wersją pakietu ClamaAV na naszym hoście/serwerze.

MaG

Tagi: ,